The entry-level (junior) full-stack software engineer’s guide

Alon Valadji
Israeli Tech Radar
Published in
3 min readJan 11, 2023

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.

JavaScript

Become familiar with the language’s foundations. Learn how variables are declared, the language primitives, how functions, objects, and arrays are used in JavaScript, understanding async behavior, promises, async-await, async control flow, etc.

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:

HTML

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:

CSS

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:

Github

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:

https://docs.github.com/en/account-and-profile/setting-up-and-managing-your-github-profile/customizing-your-profile/managing-your-profile-readme

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.

Start some Gigs at Fiverr and Upwork

Rather than learning while looking for your first job in a tech company and not being paid for it, why not learn and be paid for it?

Offer gigs starting at $5 on Fiverr or Upwork (or both). Keeping your rate low will help you attract customers.

For that price, any customer will value your contribution, you will mostly solve real problems, learn new things, and get paid. Don’t think your lack of experience is a barrier.

Networking, Networking, Networking

While all of the above is nice and good, without showing off the skills you’ve acquired it is all meaningless. Take the time to build your network of industry people, follow them, add them to your network, and share your knowledge and problem-solving skills with them.

It is possible that you will be hired as an employee or consultant regardless of your actual seniority, only based on the skills you have demonstrated.

I’d love to hear your thoughts, suggestions, and improvements!

--

--

Alon Valadji
Israeli Tech Radar

Alon is a leading software architect well-versed in Rozansky and Woods’ architectural methodologies. As a full-cycle JavaScript and web architecture torchbearer