by Vinicius Marchesin Araujo

What you need to know for your first developer job that you won’t learn in school

Photo by Baim Hanif on Unsplash

There’s a lot of important topics to learn as a developer. Algorithms, data structures, programming languages, there’s too many to count. That’s before we start on programming languages. Go is trending right now. JavaScript is the most popular language of 2018. 3 billion devices run Java (since the 90’s apparently). It’s hard to pick a language when you don’t know what it’s used for.

This article isn’t about these topics, because these are often taught at computer science schools and similar courses. This article is about the tools and skills that aren’t taught at schools and will make a huge difference when you get your first job. You’ll be able to apply these no matter if you end up being a web developer or a data scientist.

Git

Octocat, Github’s mascot

This is as much of a tool as it is a skill. Doesn’t matter what kind of developer you are or what language you use, you’ll use it almost every day.

Git is a Source Control Manager or SCM for short. In other words, it allows you to work with different versions of your code. Git provides tools that make working with many people on the same project a less painful experience.

If you’re working on a project by yourself it’s a great idea to use Git for many reasons. The obvious one is that you can store your code in the cloud for free. Many companies offer free public repositories, such as Github, Gitlab and Bitbucket. But if you’re working in a team odds are you’ll end up using Git sooner or later, so it’s better to learn it beforehand.

A great way to learn git is by using learngitbranching. The fact that it uses a visual canvas to explain how the commands behave is incredibly helpful. You can learn the basics in less than a day, but you’ll be learning new powerful commands for a long time.

Communication

Photo: Unsplash. Pro tip: don’t scream at your colleagues.

A very underrated soft skill is communication. We developers are so focused on the tech aspects of our jobs that we often forget that to achieve great things we must work with other people.

There are many points to improve when talking about communication. I’d say one of the most important ones, for developers, is how to properly describe issues. You’ll ask someone for help eventually, and in order to receive actual help you’ll need to first describe what’s wrong.

Your coworkers are probably just as busy as you are, and probably have a lot going on in their heads. Do not drop questions like bombs at people, instead give context before asking for help.

Let me demonstrate:

DON’T DO THIS
Hey $coworker, the $service isn’t working as expected when I run $command, can you give me a hand?
INSTEAD, DO THIS
Hey $coworker, what’s up? I need some advice. I’m working with $service right now, because of $reason. It’s supposed to do $behavior to achieve $goal but instead it’s doing $wrong_behavior. I read the docs and I couldn’t find the issue. Since you’re more familiar with this topic, could you give me a hand when you’re free? Coffee is on me.

Coworkers are not always familiar with the subject you’re working with. More often than not are working on something unrelated to your specific issue. By being friendly and giving context before asking a question you’ll find that conversations run a lot more smoothly. You’ll get your problems solved faster too.

To improve on this try talking to yourself when you are facing a problem. Try to describe as much as you can about the situation at hand. Unconsciously you’ll do the same when you’re talking to someone else in the future.

Writing

Photo: Unsplash

Writing code is easy. If your code isn’t working the machine will tell you. Writing for people is the true challenge.

Doesn’t take long when you start working to find that writing is a huge part of your job, I’d say as important as programming. You need it to document changes in your code, to send emails to coworkers, to define technical requirements and even to describe how your code works using comments.

Writing is about transforming your thoughts and emotions into words. When you write something you need to take into account the subject, the audience and the channel you’re using.

If you’re talking to a fellow developer it’s OK to be more technical. When you’re explaining how the system works to the marketing team words like callback and API might make zero sense. You’ll find that when sending a message how you say it is often more important than what you say.

This extends to verbal communication as well, but writing is much harder because when you write for big audiences, instead of a one-on-one conversation, you only have one chance of sending the message right. If someone doesn’t get what you mean at first, they don’t have an opportunity to ask you the same instant.

This is particularly important when you write code documentation and articles (like this one). It’s important to be as clear as possible to the audience you’re working with.

To improve your writing skills my advice is to write as much as you can about things you know and love and to read a lot. Always take some time every day to read about new tech, for example. You’ll not only improve your writing but you’ll learn lots of new things too.

Here’s a great article about this subject.

Conclusion

Developers often think that their jobs are about computers, and that’s as wrong as it can be. A developer job is about people, computers are just our tools. You create solutions that make people’s lives easier and better, and that requires a great amount of empathy.

If you ask me the most important skill to learn as a junior developer I’d say you should learn how to work in a group. All skills in this article help with that goal.

You might change your field of expertise in a few years. You might drop programming for a management position, but you’ll be working with people until you die. And being a team-player is much more desirable to employers than being a rockstar developer.

Thanks for reading my article.

If you liked it give it a few claps and connect with me on my social media.

What are some skills that you wish you had when you first started working?

Vinicius Marchesin
Vinicius Marchesin — Frontend Developervmarches.in