Over 4 months ago as I posted on reddit my portfolio that I have developed through taking online courses and received a lot of motivational feedback. Time has passed and now I can finally say that I'm working as a software developer already for over 3 months and I feel that I grow as a professional every day. But everything in right order...
Long story short, I'm a guy from Russia who went in 2013 right after high school to study business administration in Canada. I graduated in 2017 with focus in accounting and finance and worked in an auditing company for 2 years. The work terms were very good, salary for a recent graduate was very decent (especially for me coming from a developing country) and in overall it wasn't a very stressful job, however I've been feeling that I'm not doing something what I wanna do and I need to explore other options. For long time a goal was to get into masters in finance or some MBA program, but not being from a prestigious university and not having financial capabilities to pay for a top-notch program my chances of fulfilling this aspiration were slim.
A good thing was that during my college years I've made very good friends who were into programming and they encouraged me to look into this as a career option. Knowing that it would be probably one of very few fields that will land me well paid job in any country and more likely give me opportunities to work flexibly, remotely and travel more I decided to give it a try.
My initial experience with something related to programming was in Fall 2017, when I took several courses on Python on datacamp. It was out of pure interest and at that time I didn't have plans to pursue programming as a career so I only did for 3-4 hours a week for 3 months, then gave up.
Eventually, by Spring 2019 I was very confident that I wanna quit my job and do something different, so that was it: having enough savings I quit my job and bought tickets back to Russia. The idea was to have some time off work to focus on learning things I need to become a software developer and spend some time with family after living abroad for 6.5 years.
At the beginning I didn't really know where to start and what field of software development I would like to pursue, so I was rather taking various introductory specializations on Coursera such as Java Programming and Software Engineering Fundamentals, Python for Everybody, Agile Development and even Mathematics for Machine Learning as well as bunch of random courses that I haven't completed for various reasons. Noteworthy, all those courses were very interesting to follow and definitely helped me to build some foundation. However, feeling very relaxed living back home and not having a goal yet to focus on specific subject of CS I wouldn't say that I was as focused as I could be. Until in October 2019 I learnt about freecodecamp.
By June 2020 I have already completed FCC's Frontend Development curriculum and already had some small projects prepared for my portfolio, but I felt that I still was lacking some fundamental knowledge in order to get a job (maybe due to my general desire to get into something as deep before trying something like applying for a job), so I took some additional course work such as React Bootcamp and Responsive Web Design on Scrimba, as well as I watched many different videos on Youtube (special thanks to Traversy Media).
By September 2020 I had my portfolio ready and I started applying for jobs more actively, however I always felt some basic interview questions that were related to fundamental understanding of how JS works (event loop, closures, hoisting, pass by reference and pass by value) as well as interaction with backend (like HTTP request codes, promises, etc). It came to the point that I got rejected for an internship in some East European outsourcing company that was only paying $200/month to their interns because I didn't pass their automatically generated interview test that had questions on things like Jasmine testing library and a bot sent me a rejection letter.
I was feeling down and was about to give up everything, but there was one more thing I wanted to give a try. So the final course that I decided to take to strengthen my understanding of the matter was Advanced JS Concepts by Andrei Neagoie on Udemy.
With strengthened theoretical understanding of JS, I just started applying again and I got a message from a recruiter from one of the top IT firms in my region. She set up a video call with me where I had a conversation with one of theirs lead developers, who is also an architect on one project. Then they sent me a test assignment that I did quite well on. And finally there was 2 more interviews: one with this lead developer guy and their full stack developer and another one with one of the managers. As a result of it, I got finally hired! And to my surprise, they estimated my level as Junior+ / Pre-Middle and offered a salary much higher than junior developer salaries in my city.
By end of October I started working as a frontend engineer on some software that our team was developing for energy corporation in my state and I was pretty much only one working on frontend (full stack developer would only do frontend tasks from time to time). In short time I had to master Typescript and Material UI and learn a lot about working in an IT team that is following Agile methodologies, uses CI/CD and does bunch of other cool things.
By January things got a bit rougher because deadlines were coming up, several days I worked about 16 hours, some weeks worked with no weekends. It was hard, but also it was a great professional experience that helped me to grow.
Finally this week I had a meeting with my boss since my probation period was over and he told me that I did really great. They had some doubts hiring me at first, but I managed to beat any expectations and they are very delighted that I´m a part of a team. It felt amazing to finally be recognized.
However, I´m not planning to ever stop. Many more years of professional growth are ahead. In 2021 I decided to also learn backend technologies as well as become more proficient in frontend.
I'm taking some course on UI/UX design and Django framework right now. Next, I plan to take a courses on AWS, React Native, Node.js / Express, Postgres and MongoDB as well as on data structures and algorithms. Read some programming books on clean code and of course learn more frontend technologies. Right now going to learn MobX and Formik for work, next Next.js and Jest learning coming up.
I'm very grateful for all people who have helped me to get into programming world. For all those amazing people who make those courses and anyone who have ever gave me some feedback on reddit and freecodecamp forum. I really hope to inspire other self-taught developers to keep going and never give up in their journey!
Cheers everyone :)
P.S. You can check my portfolio website if you like here. I haven't updated it since September so it is the one that helped me to get my job.
P.P.S. Thanks for reading my story!