I have been mentoring students, colleagues, and clients for the past decade, and some of those conversations have been genuinely thought-provoking. The following are two questions someone recently asked me, and I believe my answers may benefit the RemoteWinners community here.
🤔 Question:
What initially drew you to software engineering, and what were some of the biggest challenges you faced early in your career while trying to break into the industry?
💬 Answer:
I have been using computers since the early 2000’s. My first PC was an Intel Pentium 4. Since I got into computing, I felt like this fits into what I enjoy doing. Then, I completed a computer science diploma program and a Degree in information technology while in Sri Lanka, and came to the UK to pursue a Master’s in software engineering. I have been accumulating various skills and paper qualifications (i.e., certifications) in software engineering-related topics along the way.
In terms of my early career, I have been working remotely for companies to build their websites and make websites rank higher in search engines using SEO techniques. Then later, I stepped into backend development using PHP (CakePHP) and worked for an Australian company to build a module in their order processing system, all remotely. Since I graduated from my degree program, I also did some part-time lecturing for an eCommerce module for an IT degree programme.
The biggest challenge I found early on was where to start after getting my degree (the degree covered a variety of fields in IT). The IT field is extremely diverse. For example, programming, databases, networking, security, cloud computing, IT infrastructure, embedded systems, OT cybersecurity, IT law, artificial intelligence, and so on. However, at the same time, everything is very well connected. For example, ‘software’ programmers code uses the ‘network’ to communicate with other services and install them in a server in some ‘infrastructure’ and interact with the ‘database’. It sounds exciting when you look at it; however, it’s not practical to know everything at the same time. At the time, picking where to start and what skills/experience were needed to get into where I wanted to be was challenging.
In the software field, we always feel that we have to keep on top of evolving technologies, which, in reality, is not practical. This leads to another challenge, which is, for example, what things we need to keep on top of and what things we need to let go of. This particular challenge was not something I faced in the early stage of my career. The deeper you dive into the IT field, the more you realise there are tons of moving parts, and you have to keep on top of them.
🤔 Question:
From your perspective in leadership, what makes a candidate stand out, especially someone who may not have a traditional computer science background? What would you focus on if you were starting over today?
💬 Answer:
For someone without a computer science background, it’s perfectly normal to seek a journey in the IT field. I know someone from a biology background who switched to IT and is now a Software Development Team Lead. It’s normal to feel uncertain, especially when someone doesn’t have a strong computer science background; it’s never a barrier to entering IT and thriving. What makes a candidate stand out (regardless of whether they are coming from a computer science background or not) is their willingness to listen, learn (develop a deep understanding of a speciality or a few), adapt and communicate with clarity.
If I were to start again, I would still spend some decent time understanding core concepts of software engineering/development life-cycle, cybersecurity, networking, DevOps, CloudOps, best practices and so on. Now, with the advancement of AI, learning what you want to learn, with the pace and tone you like to be taught, is easier than ever before.
There is a misconception in society that software engineers should not learn programming/programming concepts and use no-code tools (AI-based) to build software instead. From my 15+ years of experience working in multinational organisations, I would advise the opposite. While writing code is part of Software engineering, it is not the only thing. Software engineering goes well beyond that. For example, making software commercially ready, future-proof, maintainable, behave properly when demand rises, operate predictably when multiple users are updating the same record, handle errors gracefully, carry out operations securely and so on, fall outside coding, and most probably inside the scope of ‘software engineering’ best practices. Writing code is often the easy part when you know exactly what you want to achieve.
This is where knowledge shines. If you know the domain enough, understanding core concepts/best practices, ‘systems thinking’, etc, you can confidently solve any software engineering problem that comes your way. Also, this is where AI shines. With the help of your understanding, strategic thinking/intuition backed by your years of experience in a specific domain, combined with the speed and idea generation capability of AI, you can achieve a lot more in a lot less time.
For example, I recently faced an interesting challenge around indexes in a table in a commercial database. With my past experience in databases, with the speed of AI, I tackled the problem in under an hour. Not only that, but I also learned a lot while I was navigating through the problem with the help of the focused teaching ability of AI. During that entire session, I wasn’t doubtful or hesitant about whether to perform an action or not, as suggested by AI, because I knew exactly what AI was talking about all along. A few years ago, this would’ve taken at least 1-2 days, and probably without the same amount of learning. This is where real-time saving comes with the help of AI.
Therefore, a deep understanding of your intended speciality matters. ’T-shaped’ skills come in handy here.

There is a whole different set of challenges when you are in a leadership role (especially remotely), where you have to navigate teams, business requirements, compliance, risks and so on, which I didn’t touch on as I felt it may come across as overwhelming since you are at the early stage in your career transition.
Also, check out my article about ‘Freshers in a Remote-First world’ – https://remotewinners.com/freshers-in-a-remote-first-world/, where you will find some useful tips.
In a Nutshell
Breaking into software engineering is less about having the perfect background and more about developing the right mindset. A computer science degree helps, but it is not a prerequisite; what matters is a willingness to listen, learn deeply, adapt, and communicate with clarity.
The IT field is vast, and trying to know everything is neither realistic nor necessary. Focus on building depth in one area while maintaining a working awareness of how everything connects. T-shaped skills; deep expertise in one speciality, broad awareness across others, are what employers and teams value most.
Deep domain knowledge is also what makes AI a genuine value multiplier. When you understand your field well, AI accelerates your thinking rather than replacing it. Problems that once took days can be solved in hours, with more learning along the way.
Whether you are switching careers, just starting out, or finding your entry point after a degree, the path forward is the same: pick a direction, go deep, and keep building. I hope you enjoyed this post. Do share your comments below.
🎯 Need Expert Help?
If you’re facing challenges with remote work, I offer 1:1 coaching and tailored support to help you succeed at remote setup. Whether you’re just starting out, growing as a remote contributor, leading a team, or launching a remote-first start-up, Remote Winners offers targeted 1:1 coaching to help you thrive in a distributed world. We also provide tech consultancy services—from idea-to-product guidance to cloud deployment and cybersecurity reviews—to help organisations strengthen their technology and processes.
If you are unsure where to begin, drop us a message and we’ll be in touch.


