DEV Community

Cover image for Do you need a portfolio to get a job as a junior developer?
Vitaly Krenel for Banda Works

Posted on • Edited on

Do you need a portfolio to get a job as a junior developer?

TL;DR.

It depends. There are definitely some paths you could choose to go and start without a portfolio. But by having a decent portfolio (doesn't really matter pet or business projects) you making the task of getting an interesting and well-paid job significantly easier.

If you don't have any project yet or looking for it, below I have a personal story you may find something to learn from and a nice-looking project you could build to add to your portfolio (don't worry, it's free). See you around.

The beginning

Hey. My name is Vitaly. I've been working here and there as a developer for around 6 years. I started as an I-will-do-any-web-related-thing freelancer in my hometown (focusing mostly on design, PHP websites, and CMS engines) and later I moved to a more challenging backend and frontend development.

Initially, I had basic web development skills. I primarily raised those while making a few game-related websites with my friend (you could earn some money on those, especially when you like games yourself and know well game's audience). We had a few experiments but those weren't particularly successful, we split and I went for freelancing.

Later on, I found a mentor. The big guy helped me to hone my skills into something more tailored. Having such a person behind my back immensely boosted my determination and the desire to work hard. I wanted to impress him after all.

When I was starting my "freelancing career", I had neither enough experience nor outstanding projects to prove that I had a decent skillset. On top of that, I was quite young - barely 16 years old. Now you probably can imagine the skepticism people had when I was offering my services.

Skeptical kid meme

Still, I didn't care much and had enough reasons to ignore the doubtful looks. I would say that it is one of the most important lessons - to ignore skeptical people, - even though it sounds pretentious.

Lights, camera, action

With all those assets, I had a few strategies to get on the market: either doing random projects providing the best quality I could - I had to dump the price to lure companies in spite of high risks involved with schoolboy doing their projects - or ask people who already knew me (and trusted me) whether they had some work. I tried both. For sure, there were other options as well, but these two I was mostly focused on.

During that time, I was taking on any project (including design ones, like creating promo wall posters, etc.) that I could reach.

One day, my mentor introduced me to a guy that was a media website owner that occasionally had side projects with local companies, including web development endeavors. I ended up doing a few projects for him, which helped me to raise credibility in the eyes of local businesses eventually.

I was working as hard as I could (while still managing to study at school, so that would be I was working at nights) towards quite a reasonable goal for that time.

All those struggling were dedicated to building a stable source of income. I was trying to gather a pool of clients that trusted me and my work and would be willing to collaborate with me again in the future. I staked on the fact, that they would be willing to introduce me to their partners when those would start any web-related project (and with that expanding my client pool further).

As it often happens, that idea failed. But not in an apparent way I imagined it would.

Couldn't raise the bar

Taking on every possible project and at the same time keeping low prices got me locked into a nasty situation. I was spending my time resources quite inefficiently and even though I built a portfolio of projects, almost all of them were admittedly shitty (pardon me). I couldn't really impress a big company with those.

I built a client base and earned some status for being trustworthy, started collaborating with local web development studio, learned a lot of things, many of those were beyond development subject, like communication, design and especially common wisdom (you ask for advance payment when you don't know the client).

Nonetheless, I felt that I couldn't raise the bar. Neither professionally - getting on huge and challenging enough projects - nor financially - significantly increasing my income.

What's probably even worse, my skills were scattered around all areas. I didn't have any primary area of expertise. I was quite okay at everything but was great at nothing. I invested more than 2 years into that, but the return was not exactly what I expected.

Anyway, the school finished, I moved to another city, started a bachelor's degree. Next year and a half I'll keep behind the curtains (as they are irrelevant to the subject), but I have to say that throughout that time, I revised my strategy, quitted the university to have as many resources as I could and shifted the focus from the freelance market to tech companies.

Freelance was great. It still is, especially for people who love to have a lot of autonomy in their work. I'm occasionally taking on projects.

But at that time, I could find ways I would be able to go on without scaling (to meet my financial expectations) and I still wanted to get more of "hardcore" engineering experiences 🤘.

Interviewing process

I had worked for 2 companies so far, the one being a software development outsourcing company and the other being a startup. The startup gave me an especially valuable experience where I had quite diverse tasks to solve. That seems to be the nature of startups - diversity.

So if you are tolerable to risks (which I happened to be after working as a chaotical freelancer) and want to work with different things (quite often from scratch), I recommend you trying out a startup instead of a huge tech company. Though keep in mind, that I mentioned risks intentionally - there's a high chance of startup failing (they say, 9 out of 10 startups fail, never had a chance to check the stats behind this number).

In that startup, I have also had a chance to participate in the hiring process.

It was quite enlightening to see that there are quite a few junior devs that do not really have projects they can share to showcase their skill set. Instead of trying to impress through talking and persuasion, those developers could have taken out a few projects to eliminate the doubt in the looks of interviewers.

I do not diminish the ability to speak or the fact that you still should demonstrate your personal traits and character through the interview. But to prove your skills, a couple of well-built pet projects would work more efficiently and would more likely to increase your chances than letting interviewers examine you through their own assignments and questions.

You will be playing on your own field, so to speak, if you open your project and start telling what challenges you had to overcome while building it.

As I said that experience was quite enlightening for me and I sadly realized that I personally failed to build a decent portfolio at the beginning. I should have done it, but I didn't. And that hardened my life and I repeatedly had to learn how to persuade people, instead of focusing on building projects so companies would not be able to ignore me and would be willing to hire me.

Afterthoughts

I can conclude that It turned out well for me after all, but there had been so many trials and errors before I reached the financial and professional levels I was aiming for. It is not that I went the wrong path, but rather I chose the least optimal one if we consider my goal of getting into high paid but at the same time challenging engineering projects.

These days I'm involved in mentoring junior devs looking for jobs. I'm simply trying to share the experience I've collected so far as in the beginning my mentor did for me.

I'm again and again seeing the pattern when companies are less willing to hire devs (or even reluctant to invite for an interview) without some projects behind. Some are okay, they usually provide their own assignment as a part of their initial filtering process, but quite a few companies are not.

I won't bluntly say for HRs and the agency as I have mere experience with their screening procedures, but I believe it is much easier to catch their eyes as well when you have a couple of decent projects in your portfolio.


As a final note, I want to share a project that I and my partner have been working on for a while.

We came up with a challenging project assignment to help junior frontend developers that need to showcase their skills and want to build a portfolio to ease the problem of getting a job in the industry.

You can check out it at https://banda.works/housework-undoer.

It is basically a project assignment through which you will build a frontend app (called "Housework Undoer") to help our (imaginary) friend Jack.

We prepared a nice-looking design and a background story so we hope it should be enjoyable and interesting for you to build, while still providing enough challenges to display your skills to possible employers.

 
Screens of Housework Undoer app

Housework Undoer's app screens

 
To finish the project, you need some skills in one of the major frameworks/libraries (React, Vue, Svelte, Angular, etc.), though the project can be completed without any of those, just with plain JS (but keep in mind, employers usually expecting you to have knowledge and experience in one of those mainstream technologies).

In the upcoming future, we want to create a few more projects, including backend and mobile related ones. But we could really use your help as well: if you try on the project, send us feedback, your thoughts, and questions. The project is completely free and we will really appreciate you spending a little bit of time to share with us your thoughts over team@banda.works.

Thank you for your time and have a productive day!

Top comments (0)