Diary of a developer #1: Which way to go?
Published: 2022-03-21 16:20:05

If you are just starting out in the development area, this post can help you get a sense of how to proceed, however, if you are already an experienced developer, it is worth sharing a little bit of the path you took taken.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/dx7a8269banqw3cbzspp.png)

Initially, it is important that you set some goals of your own, **analyze if this is really what you want**, sit all day in front of the computer, analyze demands and propose solutions on top of them, do **not imagine that it will be easy**, but as all the effort is worth it if applied in the right way, when you pass through all these points **you will be in a beautiful area full of possibilities and challenges**.

Below I leave my opinion on what I consider an ideal path for a novice developer to follow, remembering that it is not a rule, but they are important steps for learning and in the search for your first job.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/xdx2p6uaydn831nnsqss.png)
 
Let's go for points. if you've never had contact with any programming language, don't worry, choose one calmly, always taking into account **your way of coding**, **level of complexity of the language for beginners**, **the job market** and if you already know people who develop and who may give you a boost initially. **But the reality is that it doesn't matter**, python, ruby, java, C#, each one has its peculiarities, but they all exist for common purposes, **they are codes that tell the computer how to behave**, never forget that, the common computer is not intelligent to the point of being highly managed, virtually everything that exists has been coded previously.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/tp6pkf4h1y47ycs3nb4s.png)
 
Assuming that you have already chosen the most attractive language, now it's time to run, every information you receive in this period is important, **try to develop mini-projects**, calculators, calendars, all this will help even when setting up your portfolio, at the end of this article I will leave some links with projects for beginner developers.

Most development positions follow a pattern, and something I can suggest is: **Be pursuing a degree related to technology**. It's not a rule, but if you're in an academic environment, your chances of getting your first job go up a lot, be it even an internship.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/udddc8h056bu5g2a3atz.png)

**Paths in development**

Assuming you have some experience in your language, have already developed introductory projects and feel that you are ready for the next steps, then let's see some interesting technologies that add significantly to your curriculum. Below I will cite a few:

1. Understand the **IDE** you are using (I quote VS Code)
2. **Git**
3. Search for a **framework** related to your language and the Area you intend to follow
4. **Docker**
5. Understand what a **stack** is

Now I will briefly detail each topic:

**IDE** - The integrated development environment is a development tool for editing code, accessing a terminal, running a script, debugging and compiling using a single environment.

**Git** - These control systems have the function of recording any changes made on top of a code, storing this information and allowing, if necessary, a programmer to revert to previous versions of an application in a simple and fast way.

**Framework** - In programming, a framework is a set of generic codes capable of uniting parts of a development project. It works like a puzzle piece capable of fitting in the most diverse places and connecting all the lines of code in an almost perfect way.

**Docker** - In short, we can say that Docker is an open platform, created with the aim of facilitating the development, deployment and execution of applications in isolated environments. It was specially designed to deliver an application as quickly as possible.

**Stack** - In programming, stack is the name we give to the set of technologies that can be used to develop applications.

![Image description](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7cukt67pmabsk63mwbln.gif)
 

At the end of this article I will leave all the references so that you can study and better understand each technology. This was the learning line that I used in my learning flow, of course each language, framework and stack has its particularities, but understanding the concept makes everything easier.

Thank you for reading and I hope I have helped you in the best way. As a bonus I can tell you, if this is your dream, don't give up, you have the ability, the most important thing is to never give up.

References:

- https://www.tiagogouvea.com.br/profissional/projetos-reais-aprender-programacao/
- https://www.alura.com.br/artigos/o-que-e-uma-ide
- https://www.atlassian.com/br/git/tutorials/what-is-git
- https://www.lewagon.com/pt-BR/blog/o-que-e-framework
- https://stack.desenvolvedor.expert/appendix/docker/oquee.html
- https://kenzie.com.br/blog/full-stack-o-que-e/