DEV Community

Cover image for What Tech Newbies Need According to Industry Insiders
Marcin Wosinek for How to dev

Posted on • Originally published at how-to.dev

What Tech Newbies Need According to Industry Insiders

When junior or aspiring developers prepare for tech interviews, they tend to focus only on the technical part, which is of course very important. However, other skills are often considered during an interview process that most beginners totally ignore.

After attending some tech meetups—at which I got inspired by amazing stories and had very insightful conversations with professional developers—I realized that the best way to find out newbies’ blind spots would be to do my own market research. Therefore, I decided to reach out to a group of professional developers from different tech industries and backgrounds (from career switchers to developers with many years of experience), who helped me understand this topic much better. From that research, I built a profile that will help you become the ideal junior developer candidate.

A big THANKS to Anna J. McDougall, Alejandro Etchandia, David Mazaira, Frank Wambutt, Jaime Suárez, Nivetha Maran, Oliver Sartun, Silvia P., and a shy one ;) for their time and knowledge-sharing. This wouldn’t have been possible without your support!

Questions we had for the experts

I asked them 3 simple questions, which point out the main aspects you should definitely focus on if you want to get into tech:

  • What do you check for during a job interview for a junior position to decide if the candidate is a good fit?
  • What kind of skills do you normally see that every beginner is still missing when starting at a junior position?
  • How do experienced developers support juniors?

What skills junior devs often lack

After collecting all input from the industry experts, they agree that the main skills junior developers should have are good communication skills, the ability to work in teams, project management, and strategic skills.

That does not mean that everyone needs to have these skills from the very beginning; however, they will increase your chances of getting a job and will help you grow faster.

Communication

As you might know, a developer doesn’t spend the whole day sitting in front of a computer writing code—they also need to explain the reasoning behind it, review it, fix it, get and give feedback, and communicate with other teams (like UX designers or marketeers). Therefore, communication is key!

The most common lack is communication. Junior devs often aren’t used to communicating with the different departments of a company. It takes time until they know the organization and get confident enough to address topics to the different departments – Jaime Suárez

During an interview process, it is not only important to introduce yourself properly, but it’s also critical to talk about great projects you have worked on. At this point, technical skills are important—but communication skills are even more so as they will also be crucial once you start working on a team.

I normally make use of a form during interviews that takes communication aspects into consideration, like: How well can they communicate their technical problems? how well can they communicate within the engineering team? how well can they communicate across departments? — Oliver Sartun

Teamwork and project management

Do you normally code projects alone? If the answer is yes, you should definitely start changing that. Being a team player is a must, and therefore it is recommended to have some teamwork projects to showcase during an interview. Coding in teams helps you learn from others and improve your communication skills—and they’re the best example of a real team-collaboration project at a company. Moreover, these examples are good material for references: anyone you have coded with could provide references about you.

Things like hackathons or open-source contributions also look great on CVs. For a junior, it's important to have references from people they've coded with: in other words, to see that they've coded in teams. Great projects with a good code base is a start (I'd say 1–2 really good, large, polished projects is ALWAYS better than 10 small projects), but then you want to see that they can work in a team – Anna J. McDougall

Project management is often considered, as it goes hand in hand with teamwork in order to plan, organize, iterate, and deliver a project the most efficient way.

Git. It's always git that they don't understand properly. The other thing is understanding agile/Scrum events; again, that goes back to teamwork and project coordination – Anna J. McDougall

Strategy and thoroughness

As part of problem solving and analytical skills, there are other shortcomings tech newbies often have: lack of strategy and thoroughness. Before getting your hands into code straight away, it is very important to analyze the problem first. At this point you also need a good strategy to decide which approach is the best.

For a more junior engineer it is very common to know one way of doing things (knowing one road to achieve your desired goal) – Frank Wambutt

Technically speaking, juniors' solutions don't go deep, as they don't consider the whole complexity and create solutions that seem to be not complete – Alejandro Etchandia

A common strategy every expert developer follows is splitting a complex project into small tasks. On the opposite side, juniors tend to focus so much on delivering a task quickly that they forget about writing quality code.

I think juniors lack thoroughness—meaning, many devs deliver their tasks very fast, but the way the code was written was not the best. Suggestion: take more time with your tasks, as you are not paid by the number of tasks you complete – Oliver Sartun

What companies are looking for

Now that you know what industry experts consider as an ideal junior developer candidate, what else should you concentrate on to grow once you work at a company? The following skills will not only help you within a team, but they will also help you develop a successful career path.

Motivation and eagerness to learn

Tech is a never-stop-learning world. Programming languages evolve, new technologies pop up, and you will need to be up-to-date. Reading documentation is part of a developer’s daily life. Trying to deeply understand the problem/technology/system/software will make a difference.

No matter how many trainings, Udemy courses, online documentation, etc. you have been doing/learning, you have never worked in a production environment. Companies know that juniors know nothing (haven't worked on a real project) so they look for someone who has learned the basics, the syntax, etc. and is ready to learn on the way” – Anonymous

Being able to learn new skills, new aspects of your role, and ideally doing this effectively (structured), will indicate how quickly you get into a role as well as grow into more seniority” – Frank Wambutt

Apart from motivation and interest, proactivity will also play an important role in your professional journey.

Starting from the point that a junior should have a minimum of knowledge of the technology they will work with, a key skill is proactivity. Proactivity makes the growth of that person in the position much faster, getting knowledge about the business, processes, and tools to deliver work and help the team in a shorter time – Jaime Suárez

Ability to ask for help and accepting feedback

How often did you get hit by imposter syndrome and think: “I am not good enough. I am a fraud”? Expert developers have been in your shoes and know it very well. So why not let them help you?

I would tell every junior: don’t be afraid of making mistakes and asking for help. I often see juniors not voicing their opinions boldly and are afraid to ask for help when they are stuck – Nivetha Maran

Everybody makes mistakes, especially beginners—but having a lot of questions and asking for help is not wrong; it is an opportunity to grow. Take feedback as a gift, not as a critique.

I personally prefer to have someone who follows expert advice and asks for help than someone who thinks they know everything, doesn’t listen, makes constant mistakes, and takes longer to deliver a task, as it needs to get reviewed again and again – David Mazaira

Problem-solving and analytical skills

As mentioned previously, every aspiring developer should also have some basic technical knowledge, which goes hand in hand with communication skills.

During coding interviews, it is about having some basic concepts clear, having a strategy to solve the problem (although it is not the best), and reacting in a positive way when you get blocked. During non-coding interviews, it is about [discussing] projects you have worked on. At this point, honesty and communication are very important (not so much technical skills) – Alejandro Etchandia

However, before starting to solve a problem, there is a previous and very important step, which some newbies tend to ignore or go through very quickly: analyzing a problem. Whenever you have to deal with a coding problem, the best approach is not to start writing code but to stop and analyze it.

When a new task pops up, juniors tend to start writing code straight away without thinking first. It is better to stop, analyze the situation, and think about how to implement and execute something. This, in fact, will save you a lot of time – David Mazaira

Taking the time to think about different ways to achieve something, or clarifying the requirements (business + technical) upfront, or trying to come up with your own acceptance criteria for a task, is very appreciated and probably the path to seniority – Frank Wambutt

How teams are supporting junior developers

Have you ever considered all previous skills mentioned above? If not, you still have time to work on them. Stop, reflect on your weak points (or ask for feedback), and focus on how to improve them to make your transition into tech way easier.

It is normal to make mistakes when you are a junior. Your strategy and your code won’t be perfect, but senior developers will be there for you.

Senior devs can support juniors with either technical topics or by giving advice on how to develop certain skills – Silvia P.

Inside a project, consistency is a must (adapt to best practices inside the company, enjoy being reviewed by mates, try to adapt to patterns commonly used by others, etc.). First make it work, then make it better (it doesn't need to be perfect if it fits the business needs) – Anonymous

I was especially impressed by the collaboration and support aspects all experts pointed out. Juniors might have the feeling that once they get a job, they will be left alone. Wrong! Seniors can help in many different ways that I had never imagined before.

Senior devs will share how to: split complex problems into more manageable ones and which tools they use, deliver high-quality projects, [give you a hand if you are stuck] and ask for help, find opportunities [for you to grow], be more independent, write understandable code for other humans, [as well as] daily routine tasks: pair coding, 1-1's, code reviews, write issues, etc. – Alejandro Etchandia
But not everything is about coding support. Seniors can also become mentors—and even role models to inspire you, and that is the perfect boost for your motivation.

Depending on the company, seniors also have a culture [of] mentor[ing] more. [Thus], mentoring is often regarding how to communicate better, how to manage their projects and tasks better (prioritization), how to write better, or which paths in their career they should take. More importantly, junior engineers often see the more senior engineers as role models, so they follow their way of delivering / communicating – Frank Wambutt

A software engineering job is more than just coding: it involves collaboration with other engineers, a good network, and much more. Senior devs can support juniors in providing them with proper guidance for setting up measurable goals for their job role, helping them achieve them, sharing the different opportunities present in the organization to increase their visibility, and also help them develop technical skills with a roadmap – Nivetha Maran

Conclusion

After collecting these interesting insights, I personally realized that one of my main focuses was in fact purely technical. Now I know that I should also concentrate more on networking, collaborate on teamwork projects (where I could learn from others’ code, implement best practices, and improve my communication skills), plan a strategy before I start writing code to be more efficient, be patient—and always ask for help without feeling stupid.

What do you think about these skills? Has this group of professional developers inspired you enough to become the ideal junior dev candidate? I hope this helps you start putting all your previous knowledge into practice. After all, not everything in tech is only about coding!

Image description

Collaboration with Cristina Padilla: an online marketing specialist and a self-taught frontend developer based in Berlin with a passion for technology, learning, and solving real-world problems through code.

Top comments (4)

Collapse
 
jankapunkt profile image
Jan Küster

Big underrated skill for Juniors: reading and patience for reading. I have to read so many things and some people (especially scientists) are such poor writers but provide relevant content. If the content is relevant I have to be patient and read it.

Collapse
 
marcinwosinek profile image
Marcin Wosinek

Good point! Reading and writing is key for communicating about complicated stuff.

Collapse
 
3monmon profile image
Simon

Many people have forgotten/never learned all these things. Reminders like this are more than welcome.

Collapse
 
marcinwosinek profile image
Marcin Wosinek

Thank you for your comment!