How I started my professional web development career
I still remember the uncertainty I felt after making the decision to not continue my formal education back in 2017. I knew what I wanted: a real-world practical application of my web development skills.
You see, I wanted to work at a company, preferable a startup and gain real-world experience, but I had mostly HTML, CSS and JavaScript skills with quite frankly no knowledge of any UI framework. I don’t think I knew what a UI framework was or why I need one.
I had previously listened to talks about frontend frameworks, but I naively kept thinking “Why would I need those?”
For the next couple of months, I secretly doubted the decision I made to quit school. However, I decided to get some education while I wait for the job by taking a lot of tutorials mostly from theNewBoston YouTube channel and practicing during the night with my friend’s laptop when possible (yeah, I didn’t own a laptop then).
I also took the FreeCodeCamp curriculum courses when I can and I kept sharpening my core web development skillset.
Early 2018, I got a call from an acquaintance who I met at a hackathon back in my school days. His startup just got a round of funding and they were hiring.
He asked if I was interested in coming in as a frontend web developer. “Of course I was”, I thought to myself; I’ve literally been preparing for this! We went ahead to do a rapid-fire interview over the phone and I was ecstatic when he said I will get an email with the details for next steps.
After the call, it dawned on me that he mentioned a certain framework they use for their web client called Vue. I haven’t heard of the framework to be honest before now. I did some research via Google search and found the Vue documentation. At first glance, I thought “Okay this is good, but why do I need Vue?“.
Understand: I had a good grasp of HTML, CSS and JavaScript but not having written a line of code in any frontend framework, it was a bit daunting to grasp why one will need it. The WHY was very important to me as that’s how I form a mental model on things. I did more research on Vue in the next couple of days to get more acquainted with it while I waited for the next steps on the job.
I got the next steps and after everything being in good order on the job, I was asked to check out the project’s repository on GitHub after I’ve been granted access. Wait, what? what does clone even mean? up to that point I can’t recall having used git or being active on GitHub(did I even have an account? 👀).
I know I’m a quick study but git felt like rocket science at the time. On top of that, I didn’t own a laptop, so I had to wait to have access to the friend’s laptop to check things out. I kept researching with my mobile device on Vue and now git.
On the job
Fast forward now to onboarding at the startup, I had to go over the already existing Vue codebase and although I didn’t quite get what was going on, I could relate the codebase with the knowledge I have of HTML as Vue’s template looked like HTML with some added syntax to me.
It all started to look really intuitive and I can understand what was going on at least at a high-level.
I knew enough to start working on features (It was a startup so we needed to move fast!). I was in love at this point, I found Vue both expressive and intuitive.
It’s worth mentioning that before I dived into writing features on the codebase, I took out time to understand to a great extent how the current codebase work.
It was my first introduction to component-driven development, state management(looking at you Vuex) and a ton of other pieces that made up the front-end web development puzzle(CORS issues included 😅)
I went on to work at this job for about a year and I did learn a ton about Vue as I made sure I read a great deal of the docs as I worked on the job.
Freelancing & technical writing
After that job, I was contracted by another acquaintance I knew in school to work on some projects with him. He was in the web 3 space and needed someone savvy with web development across the stack to help out with building out the solutions he had in mind.
Since I was already familiar with Vue, it was a no-brainer to pick it for the UI of the projects on the web. I adopted Nuxt then as it felt as Vue on steriod.
At this point, I started intentionally writing about the problems I was solving. Like these ones on Vue.js Developers publication on Medium:
- How I upload images with NuxtJS and Cloudinary using Cloudinary widget
- How I deployed My Vue SPA on Heroku 🚀
It became my mantra to teach and share the solutions to any significant problems I was facing while I go about my daily web development business.
It was my introduction to the world of technical writing and I liked it because technical writing for me meant writing about technologies I used and the problems I was facing.
After a couple of articles on Medium, I decided to try my hand on paid writing and I submitted a proposal to Smashing Magazine and I got accepted as a writer! I was thrilled as I was about to make some income from doing what I’ve always loved - writing about the technologies I am excited about and problems I was solving. It felt like cheating.
I made my debut on Smashing Magazine with the Setting Up API Mocking With Mirage JS And Vue.js. The inspiration for the article was from a Tweet by the creator of Mirage JS and I loved the idea of Mirage, I studied it some more, played with it and pitched the idea to Smashing Magazine and they liked it. I went on to make over $10,000 from Technical Writing
Unofficial Sails.js DevRel
For the freelancing gig, I needed a backend framework in JavaScript that was as intuitive as Laravel, I did a couple of research and tried out a couple but then I discovered Sails and that was another love story.
As always I started screaming it from the roof top on Twitter, in articles like this one. I created a community on Discord for Sails developers and even made a platform to teach Sails and of course, a blog about Sails
Whilst I was going about my business spreading the good news of Sails and Vue, the creator of Sails - Mike McNeil - took noticed of my tweets and articles and we begun conversing ever so frequently and one day, he referred me for a full-stack development contract that amounted to my first major income in web development.
A year after that, Mike employed me as a DevRel for Fleet Device Management because he was already acquainted with my work on shouting about technologies I love from the roof top 😅
TKYT and building a brand
After leaving Fleet Device Management, I decided to be more intentional in building my personal brand and audience. I started giving out value in terms of content to encourage people learning JavaScript and web development while also sharing my unique perspective and my journey.
Doing so quickly got me from 500 to 10,000+ followers within the space of 4 months and this blew my mind.
I had previously started a show on YouTube called TKYT(Teach Kelvin Your Thing) - a series where I invite people building technologies to teach me something for an hour. I’ve done over 30+ sessions now.
Also connecting with people for TKYT got me in touch with someone from the company I am currently a JavaScript engineer and Developer Advocate at.
Key takeaways
The entire purpose of sharing my personal journey as a Software engineer with you is so you can see the steps I took and perhaps these steps will help you with networking into your roles and jobs. Here are some few takeaway points:
Teach everything you know
Teaching everything you know has a lot of advantages but one that always stood out for me is that it makes people know what to come to you for. You may be the best Vue developer but if no one knows what to come to you for, they won’t know what to recommend you for as well.
So as you solve problems in your web development journey, teach it, tweet about it, make a video about it if you can. Your future employer or someone who knows your future employer might see it. I call this building your organic resume.
Contribute to the community
I remember contributing to the docs of the Chakra UI Vue project, writing an article about it on Smashing Magazine and also building a Vue CLI plugin for it. My proudest moment was seeing that plugin being used on a YouTube tutorial by a Gift Egwuenu and she said the plugin made setting up Chakra UI Vue easy to setup.
At your level, in whatever form you can, contributing to the community of the technology you want to use professionally either by tweeting about it, writing, building tools, etc. makes you show competence and you can build long-term relationships from there or start a conversation that makes folks trust your competence enough to refer you for a job when they can.
As a side, in my current job, I literally skipped the take-home JavaScript assessment because my open source projects already showed I know my JavaScript.
Be a great person
In my experience, people will care far less of your competence if you are not a likable person. Be kind online and generally have a “I’m here to add value” mindset instead of “what’s in it for me”. Ironically, seeking to add value brings value back to you in terms of great relationships.
And people may forget what you know but it’s harder to forget how you made them feel during your interactions with them.
Having a “I’m here to add value” mindset when engaging with folks has led me to have some amazing guests for TKYT from Miško Hevery, the creator of Angular to Jason Lengstorf of Learn With Jason. And that’s just to name a few.
Bonus: You can build your own business
With how intuitive Vue is, I see it as a great framework to build a business of your own solving a problem you care about. For me Vue was integral for building both Sailscasts and guppy. With the way we work now, it’s literally possible for anyone to build a business on the web with the skillset they already have.
In my opinion, JavaScript is an unfair advantage to build businesses on in terms of the technology stack.
Join the BBoJS newsletter to get inspired by stories of people building businesses on JavaScript.
Conclusion
In this article, I tried to distill my journey through out my career to this point in order to share my unique journey and inspire folks learning web development how to position themselves to get their next job and build an amazing career in web development.