How I Transitioned To Software Engineering From Electrical Engineering.
9 Min Read
The other day, I found myself scrolling through Twitter timeline and stumbled upon a tweet that resonated with me. It was a tweet from @Tebatsomankger2, I took a screenshot and pasted it below. You’re also welcome to read the whole thread here
The reason why I am saying it resonated with me is that for the longest time, I too felt the same way. After graduating with an Electrical Engineering diploma and coming from a disadvantaged background, I too hoped that the hard-earned qualification would take me from rags to riches. That dream quickly faded to the abyss when I constantly found myself seeking employment opportunities and when I did get a job the salary was close to nothing basically it paid for my rent and transport (basically living hand to mouth). I constantly questioned myself and my decisions as to why I pursued a career in electrical engineering instead of a degree in something like medicine where career prospects were much higher.
I think my whole world changed when I got an opportunity to go on an expedition where I spent over a year in isolation with other 19 expeditioners and a shitty internet connection. You can read about that adventure on my old blog site here.
Isolation gave me time to reflect on my life and plan my future. I did not like the person I would be 10 years from then and I had to make changes.
That’s when I decided to take a leap of faith and start a career in software engineering, I cannot remember what prompted me but it was probably a YouTube video.
I think what worked for me is that I had a lot of freedom to choose my career path and I was able to choose a career path that was not only fulfilling but also that I could be a better person. Also, the fact that I had been exposed to programming from my qualification was a huge help, even after failing it 2-3 times (like I said disadvantaged background).
What worked for me was that I was always driven and curious about what I could do and I was always willing to learn new things.
Before I completely get off-topic (which I usually do), I replied to the tweet above with the following message and was overwhelmed with the number of DMs I received.
At that moment, I decided to write this post which will briefly detail my journey from being an electronic engineering technician to how I became a software engineer and some pointers you can try for yourself.
Mid-2014, I started enrolling for courses on Coursera and edx. I was initially interested in learning about the fundamentals of computer science and I was able to get a good grasp of the basics of programming, I gravitated towards Python programming language as the syntax was easier to read.
Some of the courses I took were:
- Python for Everybody Specialization
- Fundamentals of Computing Specialization
- CS50’s Introduction to Computer Science
- Introduction to Linux
- Linux Basics: The Command Line Interface
Note: All these courses are FREE, with Coursera you can apply for financial aid and get a certificate; which is a win-win situation.
These courses helped me understand the fundamentals of programming and how to write code. I was able to learn how to use the Linux terminal. In 2016 we started seeing a rise in Machine Learning/AI applications and that Python was at the forefront, so in the end, I had made a great choice.
I continue to learn new things and I am always looking for new ways to improve myself.
I assume that you are reading this post because you are at that point in your life where you want to transition to a different career, it might be software engineering or data science.
Before you continue, What is your WHY?. The reason why I am saying this is because a lot of people want things handed to them on a silver platter and do not want to put in the time and effort to learning something new.
Do yourself a favour and grab a piece of paper and ask yourself the following question: Why do I want to do this?
My advice for you is to take a look at these links and familiarise yourself, and see if you can find a career path that suits you:
- How to choose the best tech career path for you
- Which Tech Career Path Is Right for You? 4 of the Best Tech Jobs
If it’s money you want check this link for the role you should be looking for:
Before you continue, check out nocsdegree website for some inspiring interviews with successful self-taught and Bootcamp developers.
Start here with these FREE courses:
Highly recommended for beginners and everyone that wants to dive into Python programming.
Great course to get some Computer Science fundamentals.
Highly recommended but the use C/C++ programming language
Everything (server etc) runs on Linux these days.
The command-line interface is the way to access the world.
This will teach you about the fundamentals of Python programming which will open massive doors for you once you understand it, it should take you a month to complete, at 10 hours per week.
This will teach your above web development and should take you less than a month at 10 hrs per week to complete.
This course integrates well with the HTML and CSS, it should take you less than a month and you can do it together with the Intro to HTML and CSS
This course should teach you about how to debug and test software, it should take you less than a month to complete.
This course will teach you about databases and how to store data in the backend, it should take you a month to complete.
Everyone that writes code (data scientists, software engineers and architects) needs to know how to use Git. So I would highly recommend this course
This course assumes that you have some basic understanding of programming and Linux, it’ll teach you about the integration between development and operations. It should take you less than a month.
The world is moving to Cloud infrastructure and this course offers your great foundational cloud computing skills. It takes approximately 2 months to complete and will give you some AWS cloud skills.
Build up your skills and experience
Once you feel that you have grasped some fundamentals and understanding, you should start to build your software development/data science experience as soon as possible!
I would recommend you to create a profile on GitHub which is an internet hosting for software development and version control using Git.
Watch this GitHub Tutorial below.
This platform is where you will be able to house your projects and build upon your skills.
Ingressive for Good exists to equip young Africans in need with tech skills to help them impact and contribute to the development of Africa, socially and economically. They are offering a scholarship to learn Data Science from the comfort of your browser through DataCamp video tutorials & coding challenges on R, Python, Statistics & more.
In 2019, I received the scholarship to study a Udacity course on AI programming with Python. This is an initiative that was started by the Egyptian ministry of technology to empower Africans to move into the tech space. The available courses range from Data Science to UX Designing
You can read about my experience here.
Udacity and Nokia are offering the Black community a scholarship to study a list of courses on Udacity. Apply ASAP before it closes!
This is a South African academy and they usually have scholarships on their website alternatively, you can pay between R50000 - R60000 for their nano degrees
One thing I learned is that tech is constantly evolving and one needs to be consistent with their learning. As Les Brown once said, “If you do what is easy your life will be hard. If you do what is hard your life will become easy.”
I will come back to this and update it with more resources, if you have any suggestions or recommendations leave a comment below or connect with me on Tweeter @MphoMphego