December 28, 2022 • 9 minutes read
Before sharing the details of my journey into front-end development, I would like to give some context on why I am sharing my story with you. My path into tech is not the most common or the most traditional. However, one of the great things about the tech industry is that it is relatively open and accessible to people from diverse backgrounds and learning paths.
Some developers learn to code through a computer science degree, and others discover it as curious teenagers. Some make a mid-career switch and go through an intensive bootcamp, and others transition into a coding role within their company.
This pool of diverse backgrounds is part of what empowers people with unconventional profiles to enter the field as well. I am sharing my learning journey today to provide yet another example of a different path into software engineering.
Before discovering the ✨magic of web development, I was studying to earn a bachelor’s degree in mechanical engineering. I was in my third year when I made the decision to pursue coding instead.
My interest in coding was sparked by the many videos I watched on YouTube featuring self-taught developers sharing their journey into the field. From high school drop-outs to finance graduates, all these developers shared the message that you don’t need to be exceptional or super smart to make it in tech.
In December, I spent all my free time watching coding journey videos, day-in-the-life videos, and most importantly, I binge-watched the Design Review Show from one of my favorite YouTube channels, Design Course.
This show was so entertaining, and yet, very helpful in understanding design principles in web development. It introduced me to learning about design principals to create beautiful, practical and usable interfaces and provide good user experience.
By the end of December 2020, I had made up my mind to take advantage of the winter break between semesters to give coding a fair shot. I wanted to see if I could learn the basics and determine if it was a field I wanted to pursue further.
In January 2021, I began learning the basics of HTML and CSS. I watched tutorials on YouTube to learn about various important tags in HTML and properties in CSS, and how the two communicate through selectors.
Learning the basic syntax of CSS properties and HTML tags is a good starting point, but without context or practical application, your knowledge of these technologies can quickly become inconsequential.
That is why I thought it would be so much more valuable for me at that point to watch experienced developers build projects, where I could see all those HTML tags and CSS properties being used in a real-world context.
**Info box to list HTML/CSS tutorial on YT**
During this period, I was completely consumed by my newfound passion for web development. I spent all my time learning about it, and when I needed a mental break, I would watch those design review videos. Over time, these breaks evolved into actual design work, and I eventually designed my very first website (and portfolio) in Figma!
Once I went through 2-4 website project tutorials and my personal website’s design was completed, I felt ready to take the leap and try building it myself. This was very intimidating, but I found comfort in the fact that the website I was building was similar to the tutorials I had watched.
I strongly believe one of the most effective ways to learn is to determine the right level of discomfort and push yourself outside of your comfort zone to challenge yourself. This was a key factor in my learning process.
As a programming language, JavaScript was something I initially dreaded learning. This was partly due to a negative experience I had with a C++ course that I took during my undergrad in the previous year. It was so challenging that it made me want to scratch programming out of my life forever. Or so I thought.
Regardless, practicing with HTML and CSS on a few projects, I started to dabble a little in JavaScript. I followed a beginner’s course on Udemy paired with some tutorial projects using simple JavaScript. This allowed me to gain a basic understanding of the language and see how it could be used in practical applications.
After building several small and simple projects, I was eager to connect with other developers and learn more about how real-world apps are built. I started applying for software engineering jobs and internship, despite my lack of coding experience and my background in mechanical engineering.
I saw myself as a complete fraud, but I was determined to learn and grow as a developer. I was also very curious to learn about the interview process.
After applying to a few software engineering positions, I was surprised and thrilled to receive a call back from a design agency building eCommerce websites using Shopify. This was my first interview in the tech industry, and I was both excited and overwhelmed.
To my surprise, the interview was very laid-back and felt more like a conversation about my experience and my projects. This was a contrast to the interviews I had experienced in my previous field. At the end of the 45 minute conversation, I was offered a part-time contractor position as a front-end developer, which I happily accepted. 🙌
During that semester, I struggled to balance my full-time schoolwork with a part-time developer job and my personal projects and tutorials to learn JavaScript, all while dealing with the challenges of the Covid lockdown.
I was feeling overwhelmed and frustrated, because I started to perceive my engineering classes like a burden. All I wanted to do was focus on coding and learn about web development. The past 3 years of engineering courses always came with challenges, but this time it was different. I spent all my days and nights at my desk, trying to keep up with everything.
The most difficult part was that I felt obligated to put in most of my time and effort into courses I no longer wanted to pursue. The fact that the courses were math and logic heavy made it even harder for me to find a sense of diversity in my learning.
This brought up a lot of reflexion and questioning for me. I found this new amazing passion and knew I wanted to pursue it. I also knew that in the long term, I wanted to become a software engineer and work in tech. I had to seriously consider whether it would be better for me to complete my degree or drop out of school.
I told myself the safe thing to do would be to finish the 2 years I have left in school. Getting an engineering diploma could help with job security and I could keep learning to code on the side, assuming I wouldn’t burn myself out.
Other options I was considering was to switch my degree to computer science and do another 3 years or join a bootcamp, which did not make financial sense for the situation I was in.
Dropping out and leaving school without a college degree would be very scary. I could potentially ruin a lot of future opportunities. Yet, it was the path I found the most appealing. I wanted to spend my time learning to code.
I wanted to build cool apps that could be used by people. I wanted to find a job that would allow me to live the life I was picturing and that would surround me with people as passionate as I am that I could learn from.
As a child of immigrant parents, I was raised with a scarcity mindset. However, my own experiences taught me that taking risks and listening to my body would be always be rewarded. Luck might be involved, but I never regretted any risks I took.
During that period, every inch of me was telling me to take that leap of faith and pursue coding, and I struggled to contain the impatience and ambition I was feeling.
After talking with friends, family and mentors, I thought of another path. If I could find a software engineering internship over the summer, I could safely try out the field and see if it was right for me. The internship could also be counted as part of my engineering degree, so it seemed like a win-win situation. So that’s what I did.
From my experience, internships are a great way to explore different environments and meet new people. As someone interested in startups and entrepreneurship, I really wanted to learn more about the startup culture. I was lucky to find my first internship at an early-stage startup called Billmate. I got to build core app features on the biggest codebase I was exposed to up until that point, as well as learn about those early-stage challenges that startups go through.
Since I began my journey intertwined between coding and design, I wanted to try out a design position, and learn UX in a professional setting. I also wanted to gain experience working within a large design team and learn from more experienced designers.
My second internship was at Coveo, a much bigger company where the design practice was growing and maturing very fast. I learned a lot about the design process, how to facilitate and lead meetings, and how to collaborate effectively with a cross-functional team to create impactful solutions.
Even though I don't plan on pursuing product design as my main endeavour, this internship made me realize that I want to be closely involved in the design process and help bridge the gap between development and design as a front-end development.
The lessons I’ve taken from my 2 experiences are truly invaluable and I am very grateful to have had the privilege to explore various environments I was curious about. If you have the opportunity to do this kind of exploration, I would highly recommend it!
Another important thing that came out of my internships was my decision to pursue software engineering full-time. From tackling interesting and impactful challenges through code to working with cool people, I found passion in something that could offer me a better life, abundant opportunities to make a change, and have fun doing so. I knew I was at the right place.
During my second internship, I started looking for a full-time developer position. I focused on building my projects, preparing my portfolio and resume, studying for front-end interviews, and practicing with mock interviews.
Interviewing is a skill and I knew it was one I needed to sharpen since it doesn’t come naturally to me. There was a lot of preparation and practice involved. Here are a few things you should probably consider while prepping for the behavioural portion of the interview process:
I went through the interview process multiple times and had to learn through a lot of failed attempts. Like I mentioned, interviewing is not a skill that comes naturally to me, but I had the opportunity to learn through an iterative process. Seeing where you went wrong and being able to pinpoint what you need to work on is how you get better at interviewing. This is why I believe mock interviews are such a crucial hack and an important part of interviewing, if you have the chance to do so.
The interview process can get difficult and you need to be resilient and keep an open-mind. However, there is a light at the end of the tunnel if you keep working on it, and on you. After months in this iterative process and after facing countless rejections, I accepted an offer to join a tech company as a front-end developer.
My journey into the tech industry is not the most typical or traditional path. I decided to make the career transition while being a student and had the opportunity to explore various roles through internships. This kind of career transition can be very different for someone with multiple years of experience in their field.
This just goes to show that the tech industry (at least for engineering & product) welcomes all kinds of different experiences and backgrounds, this diversity being at the core of our industry’s strength.
There is an abundance of high-quality content and information available online, as well as many awesome bootcamps that offer guidance, teaching, and mentorship. College is also a great option for building a strong foundation and gaining access to internship opportunities.
Software engineering is achievable and accessible if you are interested and are willing to put in the work. Learning to code is not easy but it can very well be worth it.
My coding journey is only getting started and I keep learning and facing challenges everyday. If you are interested in software engineering or if you already started your journey, I hope my experience can show you that you can do it too and inspire you to keep going! Come make our field even greater, you got this!