The entry-level (junior) full-stack software engineer’s guide
In my experience as a mentor, recruiter, and trainer of juniors for the last 10 years, I’ve often observed that entry-level juniors with no experience at all are eager to create a website portfolio.
I think it’s a big mistake. For me and for junior engineers it’s a bit of a waste of time.
Rather than copying & pasting stuff from the web and creating pseudo projects that don’t demonstrate anything, here’s a guide that will let you start your career out on the right foot.
Find out what the language data types are and how to use them. Discover how design patterns can be used to solve problems.
Here are some useful books:
Exploring ES6 Homepage Please support this book:buy it (PDF, EPUB, MOBI) or donate
Find out what HTML5 tags are, what semantic HTML is, forms, accessibility, and web API platforms.
Here are some useful sites for you to check out:
Look up HTML5, CSS3, etc features, know if they are ready for use, and if so find out how you should use them - with…
Learn about the box model, specificity, display types, and cascading in CSS. Try implementing the same layout using different methods, such as flex or grid.
Here are some useful websites:
A Complete Guide to Flexbox | CSS-Tricks
Our comprehensive guide to CSS flexbox layout. This complete guide explains everything about flexbox, focusing on all…
Grid by Example
Small examples of the CSS Grid Layout specification. Each demonstrates a feature of the specification. Includes new…
Get an account on Github and create your profile in a markdown file. Include one or two small projects that demonstrate your coding skills.
Add your profile readme to github, here’s github’s docs on how to do so:
Open Source Contribution
Powerful parts of the web are its eco system and thriving open source community. You can contribute to many popular projects that are eager for contributors. While it may sound intimidating, you have a lot to contribute and an opportunity to learn and advance during the process.
Helping with documentation is a great way to learn about those popular and trending techie things you heard about, fix some bugs and even release some “simple” features.
Blog about your knowledge and progress
Take on all the challenges above and blog about them. The better you understand what you have learned, known and understood, the more you can show others your viewpoint on those relevant subjects. And remember, the most effective way to learn something is by teaching it to someone else.
I’d love to hear your thoughts, suggestions, and improvements!