How To Find A Job With Soft Skills When Coding Skills Are Weak V
Tags: motivation, career, github, git
Published: 2023-01-14 12:15:00

On Tuesday December 20th, 2022, I held a talk about **How to get a job as a developer with soft skills when tech skills are weak**.

It was for the last episode this year on [The  Monthly Dev](https://www.meetup.com/the-monthly-dev-world-class-talks-by-expert-developers/) event hosted by [daily.dev](https://daily.dev/). 

## Skill combination 2: Git Version Control combined with Communication Skills, Interpersonal Skills, Writing Skills

Working in a small team or contributing to an open source project that anyone can work on will help you develop strong communication and interpersonal skills.

But even if it's not possible for you to work in a team, you can benefit a lot by creating a Git workflow for your projects that would also be found in a real project at work and that you can talk about in an interview.

![Combine skills like Git Version Control and communication skills.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/y7m6mheniw65eihadwlh.png)

### What’s a git workflow?
A [git workflow](https://dev.to/yuridevat/whats-a-git-workflow-2ncm) means that you don't just work on the **main** branch of your project (sometimes called the **master**), but you set up different steps in your project to ensure the quality and protection of the code.

![Example of a git workflow in form of a flow chart.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/48smj8usypo7hb3d4jvy.png)

This can take the form of a **developer branch**, where you merge all open issues that also have their own branch to make sure the code doesn't have problems when they are merged on the same level.

The developer branch here is the **intermediate step for testing** before all the newly created code is merged into the **main branch**. The **main branch** is often the one used as a starting point for deployment so that users can view your website with a real URL.

This way, you'll **learn a lot about how git** works under the hood, and you'll learn a lot more **git commands** that you wouldn't have used otherwise. This will give you more confidence in working with Git and talking about it.

![A list of different git commands described in the next paragraph.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/2vxv3s863h29z4q0jlyv.png)

If you are only working on your main branch, you will only use simple commands like:
`git push`, `git pull`, `git status`, or `git fetch`.

But when working with a **git workflow** that has several different branches with their own responsibilities, that would mean additional commands like:
`git merge`, `git apply`, `git checkout -b branch-name`, `git rebase`, `git cherry-pick`, `git stash`, `git branch -D branch-name`, and much more.

Git version control seems huge at first and most developers are afraid of it, but you will get used to it once you start using these commands regularly.

> Don't wait until your first job to get familiar with this way of working. Take the chance to get to know git better in advance to be able to present it as a skill during the interview.

### Communication skills (and writing skills)
When it comes to communication skills, these can be shown with a detailed **readme** file, a strong **pull request (PR)**, and a small documentation in the **wiki** area.

[More information on Communication for Devs](https://dev.to/yuridevat/communication-for-devs-31bm) in another article of mine.

#### Readme
Write a **readme** file so that anyone visiting your repository knows what the project is about, and instructions on how to use the code yourself; how to pull it and create their own local environment. This also shows the
recruiter your writing skills as you present your project.

![Example of a readme file for my project SOS animals, described in the next paragraph.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/axp4vepdujrzuk7p5x1c.png)
[Link to the project.](https://github.com/YuriDevAT/sos-animals)

To show off that you are details orientated, include a thumbnail, list details such as all the languages used in the project, and use the **about section** GitHub offers on the right side of each repository to **link to the live view**,
add keywords, and give a brief description.

You can even write about specific approaches and choices for your **readme file** to give the user a little background on how to approach your work. Or write about it in the **project's wiki** and link to it.

#### Pull Request (PR)

Write a detailed PR so the reviewer understands it. If you're the one reviewing a PR, give constructive feedback and tips in a polite way on how the code could be improved. Don't just say, "I don't like the colors," but make a suggestion like, "I don't think the blue goes well with that green. Maybe a lighter color like yellow would go better?"

![Example of a PR I created during Hacktoberfest.](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/8qkt9o4weaegl21oulu3.png)
[Link to the PR example.](https://github.com/dequelabs/cauldron/pull/808)

[Creating a PR](https://dev.to/yuridevat/how-to-create-a-pull-request-18a1) may seem a little strange when you're working alone on a project, but it gets you used to the preliminary approach of writing a PR before the code is merged. So do it.

### Interpersonal skills

But if you are able to find a small team to work together on a project, all the better. This way you can better show the recruiter that you are capable of **working with others** and **think together as a group**.

You can then do additional **scrum events** such as **retrospectives** and **dailies**. This way, you'll get an even better idea of how work weeks are structured and what happens during these events, firsthand and not just in theory.

This will give you real life experience, which is indeed beneficial as you can talk about it with much more confidence.

Working in a team or contributing to open source would also show that you are **able to work remotely and asynchronously** with your future team. Strong communication skills will be even more important.

It also shows that you are able to **communicate with people from all backgrounds and cultures**. So good, written communication is key.

Written skills are crucial as soft skills for programmers, as it means they have the ability to express their thoughts concisely. In many cases, the job will require developers to interact using written communication.

### Skills covered and terms used
And again, many different skills were covered by the simple combination of Git version control and workflow with soft skills. This provides a lot to talk about during a job interview.

**Keywords:** Git, Git Version Control, Git Workflow, Pull Request (Merge Request), Communication Skills, Writing Skills, Interpersonal Skills, Detail orientated

---

_Stay tuned for the next part._