About a year and half ago, in March 2017, I decided that I wanted to become a Software Engineer. I said to myself that I would do anything it takes to get there. And so my journey began.
BACKSTORY
In 2016 my husband and I relocated from Miami to New York – the city I’ve always dreamed of living in. Not having much to lose in Florida, I thought this was a perfect time to start a new chapter in my life and change career. I was 30 years old at a time. After a few stressful months of job search and another 2 months of going through a very demanding trial process of getting a new role, I made it to Automattic as a Happiness Engineer. That’s right, Happiness Engineer is my official title and what reads in my job agreement. To translate it to the real world language – it is a Technical Support Engineer role. And just like that I was finally a part of the tech industry.
I was not entirely new to engineering and programming. In 2006, I graduated from Kalashnikov Izhevsk State Technical University in Russia. In 4 years studying there, I earned a Bachelor’s Degree in Computer Science with the major in Automated Information Systems (AIS). However, life took a different turn after I finished school and I decided not to pursue career in tech further. It eventually took me 10 years to get back to the fascinating world of Information Technologies. I couldn’t be more happier I was finally there.
HAPPINESS ENGINEER
At Automattic, I was assigned to work at the WooCommerce Division. WooCommerce is an open source e-commerce plugin for WordPress. It is designed for small to large-sized online merchants who want to sell anything beautifully. WooCommerce now powers over 30% of all online stores with over 45M+ downloads.
As a Tech Support Engineer, I help people around the world to build their online stores daily. I answer all kinds of requests via forum, emails and live chat. It could be something simple like creating a product or complex such as troubleshooting site that sells Subscriptions and Memberships. Occasionally, the job requires us to read and understand the code of our products.
8 months in to the job I felt I wanted more than answering support requests. While the work I do every day is pretty challenging, I lack the part of creating something new. As a person who loves to solve difficult math problems and finds joy in the glorious moment when the code finally works, I had to move forward.
In March 2017, I decided that I wanted to become a Software Engineer. I said to myself that I would do anything it takes to get there. And so my journey began.
ONLINE COURSES
Before I proceed, I must note that I still work as a Technical Support Engineer. While I certainly advanced my coding skills, I don’t feel that I am ready yet to apply to the Software Engineer role. With this in mind, this post should not serve as a guide to “How to become a developer”. It is possible that some steps I took along the way were not the most beneficial. Nonetheless, I am grateful for the experience and what I’ve learned from it. In the end, it is up to you to take my advice or leave it as everyone has their own journey. I am happy to share mine with the world here 🙂
Learning how to code online is a very popular approach for beginners. There are many great courses available and I decided to start with taking some of them. I wanted to focus on front-end development mostly so I set my mind on mastering writing HTML, CSS and JavaScript code. Below is the list of online schools I looked at along with courses I took:
Codecademy had gone through a major renovation in the past 2 years. When I logged in to my account to get the links to the courses I took, there were sadly no records of them :(. Luckily there is still an evidence of 102 Badges I collected which allowed me to recall some of the courses I completed.
Essentially, you want to look for HTML, CSS and JavaScript topics. Most of the schools offer different levels of difficultly from Beginner to Advanced. I always made a point to make it to Advanced if I liked the previous levels. The courses are usually have a mix of theory videos and immediate coding practices to strengthen the knowledge. Personally, I really like this approach – it helps to gather the basic concepts without overloading yourself with more than you can handle at once.
Current Price: $19.99 / month
I was taking several courses on that platform prior to Pluralsight acquired Code School so I can’t tell much about Pluralsight itself. But I did look at the courses available and saw that the ones I took are actually still there:
There were also a couple of HTML and CSS courses I finished as well but they are no longer available. I found a few equivalents instead:
I started to broaden the area of my learning a bit and took Git and Node.js courses. After all, programming requires having many skills (not just coding):
My experience with Code School was similar to Codecademy. Each platform offers a self-learning self-paced courses on demand and you are free to learn at your own speed at any time.
Current Price: $35.00 / month
When I started taking online courses, I was nearly sure that all it took was completing them, getting the highest scores possible and I would become a developer. Well, well, I must disappoint those who think the same here. Taking online courses is great but it is far from the end. In fact, it is just the beginning, a very tiny small step towards becoming that awesome strong developer you want to be.
Below are few more online platforms where I took courses down the road. I recommend them as much as Codecademy and Code School:
And here are a few that I haven’t tried yet but heard good things about:
Would I take online courses again? Yes, absolutely! I think they are excellent for getting the basic concept of what you are trying to learn. To get a bigger picture so to speak. But one must explore more to master the skills.
If you want to know the next step I took, read the next post Part II: Coding Bootcamp. See you there! 🙂
2 thoughts