What experience do I need to work as a Software Engineer?

You may not have a Computer Science degree or formal education in tech, but want to transition to a role in Software Development? Here is how I did it!

I started my career at BlackRock through their Summer Internship program in Tech in 2019. But my university degree was not a traditional Computer Science degree—I completed a BSc in Management Science. So how did I get an internship in technology?

🧑‍💻 Learn how to code

This is step #1—and it's not easy, it takes time... but if you like it, it's really, really fun!

It's the only way to find out if you actually like it or not—code. I never thought of it as a high-effort task. I wanted to learn how to code, so I spent a lot of time on my computer watching videos and taking courses.

In fact, my first programming course was right before starting university. I took the summer to complete an 8-week intensive course—at the time called Codecademy Pro for Web Development. I learned how to do some basic JavaScript, HTML, and CSS and built some small websites. But there are tons of other websites and courses out there that you can leverage for free!

Over time, I started exploring other languages, mainly Python, and began building my own personal projects while at university. It was only later that I realized that all these courses and small projects I had been doing on the side were actually valued by employers—they showcased my ability to build things.

🛠️ Get some experience

Tying this to the previous point... put your learning into practice. Do some personal projects, create a website for them, tidy up your GitHub account, and try to gain some formal experience.

This doesn't always have to be a job! You could work on university projects or build a small project with friends. But eventually, it's important to get professional experience.

In my case, I aimed for a Summer Internship in Tech, which worked out well and helped me easily transition into a Graduate Role in Software Engineering.

Even while at university, I had two other small stints in technology:

  • A Summer Internship in Data Science

  • A part-time developer role at a FinTech startup

There are tons of opportunities out there—companies, both small and large, are looking for fresh talent in tech, especially developers. Make sure to leverage these opportunities to gain experience and grow into the role you’re aiming for!

❔ Would I have done anything differently?

Looking back, I think I would have spent more time contributing to open-source projects.

Companies really value developers who are familiar with high coding development standards, such as a good Pull Review (PR) process. This is something you miss out on if you only work on your own small projects or university coursework.

After you learn the coding basics, go on GitHub and find an open-source project that interests you—try to contribute to it.

Most open-source projects have task tags indicating different levels of effort/complexity. This helps you get familiar with the PR process, which companies value highly. Plus, you’ll receive feedback from professionals and learn a lot!

Another area I underestimated was Agile practices. Unfortunately, it’s hard to apply Agile on your own, outside of a development team. But at the very least, make sure you’re familiar with Agile principles.

I remember impressing my interviewers because I knew what SCRUM was. Agile methodologies are becoming increasingly important.

Make sure you understand:

  • Different Agile ceremonies (stand-ups, retrospectives, sprint planning, etc.)

  • Story pointing

  • Predictable delivery

It's not all about coding—processes matter too. Looking back, I wish I had put more effort into learning about Agile!

Painting of a purple mountain range

Want to be notified first when the best new jobs go live?

Visual Binary Ltd, 2025

Visual Binary Ltd, 2025