Full stack development - How To Get Started - Part 1
Just recently some of you asked me how it is to be a full stack developer and how did I get there?
Instead of answering you one by one I decided to compile my answers into Q&A-style newsletter issues.
My answers are kind of long so I'm breaking this up into Part 1 and Part 2.
Hope it helps
Usually I get a DM like this:
"Thanks for this opportunity to chat with you. I'm interested in full stack web development. I have a few questions" - E.D.
What do you like about this field?
A little background story:
Back in 2015, I decided I want to leave the company I was working for and start freelancing. There were two main reasons for this:
I was stuck in a technology stack that I didn’t like and
I wanted to focus more on JavaScript.
I already had years of production experience with writing backend code in Java. Also, whenever I had the chance to write JavaScript code at work - even for the simplest tools, I used it to practice JavaScript.
During the last 6 months of my employment, I did a bunch of tutorials that showed how to connect JavaScript with different tech - Databases, Caching solutions, File systems, Crpyotgraphy, 3rd party APIs such as Twitter.
I know this might sound unrealistic - only in 6 months? Once you already have a solid base for any language that works well with the Web (I already knew Java) it is fairly easy to move between backend languages.
I also built some NodeJS apps as portfolio projects and immediately started advertising my Full stack development services as a JavaScript Web Developer.
It is crucial for success to build outstanding projects!
I recently published my first guide on building portfolio projects. If you're looking to improve your portfolio game to attract new opportunities as I did, don't forget to check it out:
How to Build Better Portfolio Projects - as a web developer — akoskm.gumroad.com
This guide contains everything you need to know to build an eye-catching developer portfolio.
What I really like about full stack development is that you can pretty much do everything on your own.
You understand both backend and front end.
You understand what a well-designed API looks like, how to design databases, just as you understand some basic UI/UX principles.
You’re not an expert but more like a jack of all trades.
And for most of the people I was working with at the beginning, this was plenty. They had SaaS ideas but little or no coding knowledge.
With my full stack services, I could code up an MVP in a month.
We were lucky enough and every project made it into production, so I also had the chance to learn:
hosting & maintaining production apps
handling downtimes & recoveries
doing database schema migrations
monitoring apps
What project are you working on?
One of my biggest projects right now is cleaning up technical debt in a huge SaaS application for a big tech company. The other project is a SaaS application 10log.com. Both jobs are unique in their own way:
While the tech debt refactoring doesn’t involve any fancy tech I have the chance to work with industry-leading engineers and I’m learning a lot from them.
10log.com is the complete opposite, where I’m the lead engineer and we break stuff left and right. 😎 🔨
Which tools do you think are more useful for a full stack developer?
This one’s tough to answer. I’m seeing all these threads on Twitter, people posting 30 VS Code plugins they use and 10s of browser extensions for simple React development.
I don’t use any of that. 🤷🏻♂️ My only development-related browser plugin is: React Dev Tools, but I’m rarely using it.
I use VSCode despite it being incredibly slow in some cases. I gave a chance to neovim / vim a few times but the quality of their plugins falls far behind VSCode plugins.
The other one is the Git Diff preview where you can circle through files fast and also immediately edit them in VSCode.
I also don’t use - never used - ”popular sites for web developers”. I try to stick to the official docs & bug trackers when searching for a solution.
This saves tons of time.
In my experience, 3rd party library developers are not always watching StackOverflow.
Sometimes the solution you just found is for a code that doesn’t exist for 2 years now.
This is almost never the case on GitHub because maintainers are watching & commenting on the issues for their repo.
This is it for the first part, I truly hope you found it useful 🙌
Hit the reply button if you have further questions, I'm answering all emails 😊
- Akos