How to get beyond the "junior" level without a professional position

TL;DR:
Tech job hunting is tough, and junior roles are scarce. Discussion: What qualities (besides experience) do employers value most right now?

Dear fellow campers! :wave:

We all know the tech job market is incredibly tough right now. Entry- and junior-level positions seem almost non-existent these days. Iā€™ve started to think that breaking into tech now requires moving beyond the ā€œjuniorā€ level from the get-go. But isnā€™t that an impossible situation? You canā€™t gain professional experience without working professionally! And, honestly, itā€™s always hardest to figure out what you donā€™t know.

Iā€™ve been volunteering for some local nonprofit organizations, where thereā€™s usually a senior developer or two overseeing the work. Iā€™ve learned a ton from them, no doubt. But since theyā€™re busy and the teams are loosely structured, I worry this experience might not reflect a truly professional setting.

Thatā€™s why Iā€™m looking to leverage the resources of amazing programmer communities like freeCodeCamp to broaden my exposure to the real world. I hope to keep the conversation going, and here is my first question:

What qualities (beyond just years of experience) are employers currently looking for?

Iā€™d love to hear your thoughts and advice!

1 Like

For me junior vs senior developer is same as junior bodybuilder vs senior, later would know which exercise will yield best results.

Senior developers might have better coding muscles developed but they also do mistakes regularly so donā€™t bother about years of coding experience.

Passion, commitment and love of project in hand is most important IMO

  • Start applying in startups, as founders has got limited amount to keep company alive for as long as possible, they will prefer to hire juniors who can get tasks done.
  • Getting features into customersā€™ hand asap is most important than following best coding practices, optimization etc
  • My favourite VC is Y Combinator, do checkout jobs there and get connected with founders on linkedin
  • I suggest to start contributing to a open source project by submitting PR for new feature / bug fix etc
  • You can get code reviewed there by senior developers and also look at existing PR code to know how someone else has written code to solve a particular problem

Let me know if youā€™ve further queries, all the very best

2 Likes

Thatā€™s a very value point, @vikramvi . Thanks for bring it up. A recent CNBC interview mentioned that the odds of getting hired via job board applications is about 3%. My personal experience is even much worse :sweat_smile:

1 Like

Yes, I agreeā€”some open-source maintainers are very helpful and generous. I once made a PR to bvaughn/react-error-boundary. The PR didnā€™t get merged at the end due to concerns about some very subtle and deep React mechanism, but I learned a ton from the interaction with the maintainer. He went out of his way to review my code and offer advice.
Meanwhile, while one can learn about high-quality code from open-source projects, it seems to me (based on my very limited experience) that itā€™s not very likely to pick up professional software development workflowsā€”such as development lifecycles, tooling, project planning and organization, CI/CD, or technologies like Docker, Kubernetes, cloud computing/infrastructure, and many others Iā€™m not even aware of.

1 Like

Please ignore such reports, just get in touch with founders from linkedin and ask them for email id to send across your GH profile and resume.

As majority go through recruiters, thus getting chance of their resume going to hiring manager is very difficult. With above approach, youā€™re overriding recruiter filter all together :wink:

1 Like

For me most important things for any developer with any years of experiences is, if s/he is religiously following BDD, TDD or not.

If they are not following then they are bound to write bad quality code which will be hard to refactor, maintain for themselves or next employees as well

1 Like

GitHub Search Tips ā€“ How to Search Issues, Repos, and More Effectively on GitHub found this interesting article from FCC linkedin post

1 Like

I love keywords! Someday I am going to collect all these keywords and put together a checklist.
What are the best ways to start practicing BDD or TDD? Reading books/articles, or picking up from the fellow coworkers?

1 Like

Religiously following strick paradigms is a red flag IMHO. Code should be maintainable and have tests, but there are a lot of ways to make that happen and what approach is best depends upon the circumstances.

Thatā€™s a very timely recommendation!
Recently I felt like the language: filter alone has some glitch and it kind of doesnā€™t show the most stared repos. Now I realize that if I pair it with the stars: filter, those missing repos will be back! Very interesting :rofl:

1 Like

There are quite a few good videos on these topics on YT, do study and make notes.

Do few small projects by following these practices and you will see +ve differences compared to coding without following these practices

Iā€™m into IT since 2002 and till today I see ā€œYou burn, Iā€™ll scrape.ā€ ( You Burn, I'll Scrape - The W. Edwards Deming Institute ) all over the world projects. I mainly work with US based companies from India & have worked in Germany for 5 years as well. Grass is same all over the world :wink:

More time we spend in planning ( with BDD ) just like other industries do, it will yield better quality code with much lesser bugs and re-work needed.

Good point. What else do you suggest to be a ā€œbeyond juniorā€ feat?

Iā€™d focus on using professional workflows, like branching and PRs, writing documentation, and using automated testing.

Itā€™s best to focus on writing good code and following best practices instead of focusing on ā€˜the one true wayā€™ that some group or book preaches.

1 Like

Very cool! What about tooling? Are linter, browser dev tool, etc. essential for professional programmer? What other tools do you like to reinforce good code writing?

I would use a linter, yes. But I donā€™t think there are uniformly ā€œbestā€ tools that everyone must use except in some specific use cases. I would experiment and find what works best for you personally.

1 Like

How did you learn the best practices? By reading books, reading the code in an open source repo, or working with peers?

Software is the only industry where things are not permanent, you can rewrite code and just throw away old one.

I heard some years back that, a particular team of Netflix engineers re-write API from scratch in language they like provided new API performs better than old one.

I was in MS Berlin office and 1 whole day ( yes literally ) heard 2 sr engineers argue about function code sigh

conclusion: everyone likes his/her own way of making omelette, itā€™s important to note can you sell that to others and can you make it in cost effective way ?

I suggest watch as many BDD, TDD videos on YT possible and implement them in your PR for open source projects, you will keep improving every day

1 Like

I learned by doing - I wonk on some open source projects and they all use good practices.

2 Likes