My job as a Software Engineer is to solve complex problems using software. The problems can range from making an app easier to tap on to creating a system to keep track of millions of pieces of data and send them to people in an efficient way.
My team is Blogger, which is a blogging platform that is 20+ years old. Every day I am either working on changing the mobile app so it has nicer padding, or working on changing the way the data is managed within the mobile app to make it more efficient.
I grew up in Myanmar, and moved to Australia in 2013. I’ve lived in Perth, Melbourne and now living in Sydney
I spent a lot of time trying out random careers and areas of study, I did it in a roundabout way.
2013-2014: I want to be a software engineer!
2015 Sem 1: Actually this whole humanities thing is really interesting. How hard is it to switch to studying Arts?
2015 Sem 2: I’m really interested in drawing and also good at science, so maybe I should do architecture?
2016: Actually I don’t know if I want to program, I’d like to try out this consulting thing and advise businesses on strategy.
2017: Focused on the consulting path, got an internship and realised I didn’t want to do that as my first job.
2018: I want to be a software engineer! (but I have no experience, please help!)
In 2018 after getting involved in every hackathon I could find, and securing a placement at a startup through the University of Melbourne’s incubator, I managed to secure some interviews for software engineer roles. After I learned how to interview properly (mostly from failing a few) I finally was able to make it into Google!
In terms of cultural background, anyone from another background could do it! In terms of educational background, you will often need to have some sort of formal computer science related training for most roles. This doesn’t have to be a full undergrad or masters, it can be a short diploma.
I am a firm believer that you don’t have to be born with certain skills (e.g. be “scientifically” inclined, “musically talented” etc.) to be able to perform well at a job. If you put anyone in front of a computer and asked them to learn programming for 3 years, most people will come out being decent programmers. There’s no intrinsic trait that is required, anyone can do it given enough time and effort.
If you’re trying to figure out which skills to improve so that you can perform well at a software engineering role, these are the skills I would recommend focusing on:
Working with some of the best engineers around the world, and learning so much from them.
Every day I can’t believe how lucky I am to be able to talk to some of the best engineers in their field around the world and get their opinions on coding as well as get the chance to see their code. I’ve learned so much from them, and I get to grow every day working together with them.
A software engineer doesn’t often get to make product decisions (and they shouldn’t either if you have product managers). As a result, if you’re motivated by the product itself rather than engineering, it can feel a bit limiting.
Sometimes the work doesn’t feel as impactful and it feels like you’re “plumbing” together different systems. This type of work is arguably the most common type of work and needs to be done by someone. You do learn a lot, but it’s not always exciting.
Being nice and nurturing to people will get you more connections than being competitive.
You can ask for help (i.e. to get internships, part time jobs, skills, life advice, everything)
Recognise when you’re doing well, because if you keep judging yourself too harshly you’re just going to burn out trying to achieve an unattainable goal.