Tips for becoming a developer!
It will be an extensive article, but I have tried to summarize in the best way the learnings that I have acquired throughout my journey in the technology area. I hope you enjoy reading and take advantage of the tips mentioned.
Topics
- Why become a developer?
- Creating an initial plan
- How to begin?
- How to start technical studies?
- Sharing knowledge through LinkedIn
- What does the market look for beyond the technical part?
- Go to college or just self-taught studies?
- Deepening the acquired knowledge
- Boosting our community
- Closing
In 2018 I decided that I would study programming to become a developer, but there were so many course options and materials available that I ended up getting a little lost where to start.
After some tips, searches and studies, I followed a path that ended up helping me a lot to achieve my work goals and that I share today through the mentorships that I do for free on LinkedIn, aiming to help people who are making a career change or are just starting out in the field. of technology.
With that in mind, why not create an article and share these course tips, tools and insights that I've had and evolved over time?!
Today we have easier access to information, whether on LinkedIn, YouTube, articles... and because there are so many subjects, we end up getting lost at a certain point, and then the question arises, how can I become a developer?
Why become a developer?
In order not to skip steps, I believe that the first step is to think, why become a developer?
I believe most have seen the news at some point in the news about up-and-coming tech jobs, headlines that tech pays sky-high salaries, and so on, but should that really be your only motivation for getting into the field?
The technology area is very challenging and is far from being an easy activity, on the contrary, it is an area in constant transformation, with technologies and tools that evolve annually if not monthly.
This is not to scare you, on the contrary, it is to prepare your mind, thinking that all this learning will come from constant and daily dedication, but that will certainly lead you to a path of good results.
In addition, today we have many job opportunities, with serious companies that value the well-being of the employee and that do pay good wages, in addition to having vacancies to increase and boost diversity in companies.
In other words, create a motivation, an initial objective, that inspires you to think every day about why you entered this area, either by impacting the lives of millions of people with what you produce, or by being able to provide you with a life with greater quality and time to dedicate to what you love to do.
Some benefits I see:
- Many job opportunities
- Opportunities to work nationally and internationally
- Possibility of working 100% remotely
- Options for acting as a freelancer or outsourced
- Support and incentives to increase diversity, such as the inclusion of women in the area, black people and LGBTQIA+
Creating an initial schedule
Before starting all the practical tips, the first piece of advice would be to create a plan for your studies and goals.
When you become an investor, you learn that one of the successful tips for your evolution is to think in the long term, and this can be applied in different areas of your life, and programming studies are no different.
You will see throughout this article that in order to reach the desired position and the necessary knowledge, it will be necessary to walk a constant path of studies, like a marathon, little by little and always training so that when the right time comes, you will be prepared for the so dream opportunity.
For that, my first tip is Notion.
In case you don't know, Notion is both a web and mobile application, which allows you, through several pre-made templates, to organize agendas, plan your studies, write down study insights and much more.
Today I use it for many things, such as planning my articles, study notes, lectures that I will give, among others. After creating your account and logging in, you have access to these templates, being able to reuse them, modify them or create new templates completely from scratch to use. It's really customizable too.
As a final tip for this topic, I learned that writing down small pieces of knowledge from the courses I took helped me a lot to understand what I was studying, so whenever I'm learning something new, I create summaries within my Notion, thus creating my own library and source of information. research when you want to revisit a studied topic.
How to begin?
I believe that the first step is to understand a little more about what you intend to do in the future. These tips will be based on the learning I had in my preparation to become a JavaScript developer, which is considered one of the fastest growing languages in use and has a large community that uses and applies it during personal and work projects.
Before working as a support analyst, I didn't know the distinction between frontend, backend and mobile careers, but as a person who identifies a lot with visual things, I thought that the frontend would be the area that I would like to work in.
But what is the difference between backend, frontend and mobile?
Both can use JavaScript as the same language, but what differentiates them are basically:
Frontend - The frontend in a simple way is the visual development of a website, that is, everything we see on websites such as buttons, images, the interface as a whole, is done by the frontend developer .
Backend - The backend is basically the opposite of the frontend, if the front end is what we see visually, the backend is precisely what we often don't see, such as saving data in the database, creating API's, that is, basically the backend creates bridges between what comes from the browser and the database and vice versa.
Mobile - Mobile is a bit of a combination of the two above, as we do everything from the interface of mobile applications, to saving certain data in the database, or localStorage, but generally it is more similar to the frontend. A point of attention in mobile is that we can see talking about hybrid and native developer, which basically is, when you are a hybrid developer, you can transform it into an application for iOS and Android with the same code, and native developers , are those who produce a specific code for each operating system, i.e. native iOS developer, produces code for the iOS operating system and native Android developer who develops native code for the Android operating system.
How to start technical studies?
Another extremely important point is: how to start our technical studies? I believe that directing learning and following a line of reasoning makes it easier for us to enter the job market. For example:
1. Learn programming logic
This was the first step I took when I decided to become a developer and I believe it was the right one, as there is no point in wanting to skip steps, studying programming logic will only facilitate your understanding for when the time comes to learn the language itself.
I recommend the course I took on programming logic with Professor Gustavo Guanabara, who has a YouTube channel called Curso em Vídeo. He is an extremely didactic teacher and very willing to teach.
Course Tip - Programming logic with Professor Gustavo Guanabara
2. Using roadmaps to facilitate our journey
If you identify with one of the areas I mentioned above, I believe that having a roadmap can make your journey much easier, because through it we can visualize a "treasure map" to learn about the chosen area of activity.
Through the website https://roadmap.sh/
we have access to some roadmaps, well detailed and described, that facilitate our journey, helping us to study with focus.
When I was starting my frontend studies, because I already knew a little about the area and had identified myself, I found out about the roadmaps, printed the frontend one, put it on my wardrobe door and every day I looked at it with motivation to learn.
In addition, every time I learned a theme on the trail, I marked it with a highlighter, to know that I had already studied about it.
This is an example of the frontend roadmap:
A very important detail about roadmaps is that you don't necessarily need to learn everything in them, but guide your knowledge so you don't lose focus, because with the tips below, and with the courses that I will indicate, you will be able to learn some topics of roadmap at once.
3. If you already identify with the frontend and mobile areas, I suggest that the next step is to learn HTML and CSS, if you identify with the backend, I suggest skipping to step 4
Another very important basis for becoming a frontend or mobile developer is to have consolidated knowledge in HTML and CSS, and as in the previous item, on YouTube you can find free courses to learn.
Again, I recommend Gustavo Guanabara's course, and the interesting thing is that he updated the course this year, and it's sensational.
Course Tip - HTML5 and CSS3 with Professor Gustavo Guanabara
I also recommend discover from rocketseat, where they teach you from setting up your environment, to HTML, CSS, Git and JavaScript which will be in the next topics. Remembering that Discover is completely free and made for our community, so you already know, just study and take advantage of this wonderful opportunity.
Course tip - Discover Rocketseat marathon with professor Mayk Brito, an excellent tutor and person, he even makes many videos for the community on the rocketseat channel on youtube.
To gain access, you must click on the image below and create your registration.
Finally, as an extra tip on this topic, study the CSS grid and flexbox in depth, especially if you want to become a mobile dev, because in React Native we use flexbox as a default in styling.
And not to forget the CSS Flexbox properties, I recommend this complete guide from Origamid: https://origamid.com/projetos/flexbox-guia-completo/
4. Learn about Git, basic commands, and create a Github account
At this point, I believe it will be extremely important for you to create your Github account, because that is where we will put all the codes that we will practice in the topics above and later. Github is one of the most important items when it comes to getting our professional vacancy, as it is there that many recruiters will look at our codes, in addition to the fact that the codes that we put there publicly can help and encourage other devs.
It is also important to learn the difference between Git and Github, but in a simple way:
- Git is a versioning system, which has its own commands based on Linux, since the creator of Git was Linus Torvalds, creator of the Linux operating system.
- Github is the platform where we can visually store our codes and projects online, it's like a social network of codes, and currently Microsoft owns Github. With Github, we can create a profile to show a little more about ourselves and our codes, and thus create our own portfolio of work.
What to learn about Git and which commands?
- Aprender sobre o que é uma chave SSH
- Como criar seu usuário git
- Comando para criar um repositório
- Comando para criar uma branch e mudar para essa branch
- Comando para criar um commit com mensagem
- Comando para criar um merge
- Comando para verificar estado dos arquivos
- Comando para exibir logs
Na minha opinião esses são os comandos primários para se aprender e serão comandos que te acompanharão durante toda sua vida de desenvolvimento, tanto para que você faça um projeto pessoal, tanto em sua vida laboral, auxiliando ali no dia a dia do ambiente de trabalho.
An article I recommend for this topic is Gabs Ferreira, where he teaches you how to create and configure your Git user, in addition to configuring your SSH key.
Tip - Article by Gabs Ferreira Installing Git and configuring Github on Windows.
http://gabsferreira.com/instalando-o-git-e-configurando-github/
As a final tip for the Git
and Github
topic, always put your learning codes on Github, because nothing better to teach and motivate other people than starting with our own codes. In addition to being an opportunity for you to put the Git
commands into practice and arrive at a company knowing the basic/intermediate but extremely necessary.
Github link: https://github.com/
5. Study the JavaScript programming language
As mentioned in the description of this article, the language I selected to give a tip was JavaScript, as it is one of the languages that grow the most annually and it was the language I chose to start my studies as a developer. As a basis for this, I brought you the Stack Overflow Survey, which is the result of a survey carried out in more than 9 countries, where through questions to developers, the final insights of the survey are taken.
There we can find which languages are most adopted and used by our community, gender of people who program, age group, and several other very interesting insights.
To access the complete survey, just access the link: https://insights.stackoverflow.com/survey/2020#overview
In the survey that came out that year, 2020, it shows that among all those who responded, JavaScript is the first most used language for the 8th year in a row, and right after we have the SQL and Python languages.
JavaScript has been used by several companies around the world, in addition to being a language that allows you to create applications for backend, frontend and hybrid mobile. In addition, when we learn a language, it opens doors for us to learn other languages and thus increase our knowledge.
In this topic, I leave 3 courses as tips, 2 free and 1 paid.
Course tip - JavaScript by Professor Gustavo Guanabara
This would be my first course tip, it is an introductory course but it explains the initial concepts of JavaScript very well, helping you to better understand the concepts of the language and facilitating when you delve into the studies of the courses below.
Course Tip - Discover by Rocketseat teaching JavaScript, mentioned above, with Professor Mayk Brito
https://app.rocketseat.com.br/discover
Course Tip - JavaScript Ninja by Professor Fernando Daciuk
At the time I started programming, unfortunately Rocketseat's Discover course didn't exist, but on the other hand, Gustavo Guanabara's course already existed, so soon after completing it, I invested in that Fernando Daciuk course on the recommendation of a friend, and since then I've I share about this course, because it changed my life. Daciuk is also extremely didactic and his teaching is of pure quality, it is no wonder that the course grade on Udemy is 4.9 with more than 1,695 reviews.
The cost of the course is BRL 399.90 without a discount coupon, but Daciuk himself created a page called I want to be ninja, where we can have a coupon for his courses, so from BRL 399.90 we only paid BRL 65.00 for the course of JavaScript.
To get the discount just access: https://queroser.ninja/promocoes/
and click on the JavaScript Ninja course
6. Putting knowledge into practice through personal mini projects
As we put the above steps into practice, when we carry out these courses, it is important to put our knowledge into practice. But how do we do that without being in a company?
Anyone who follows me on LinkedIn knows that I've already given you several tips on how we can create projects to showcase our knowledge, and for that you don't need to be in a company, as every way of putting our knowledge into practice has to be taken into account.
We can do this by challenging ourselves, thinking about small projects, or putting into practice the challenges posed in the courses mentioned above.
My tip is, do all the challenges, and if possible, try to add one more feature that the teacher didn't ask for.
Also, make these challenges available on your Github, create documentation for these projects with Markdown, a tip I already gave here on my blog through the article: Using Markdown to leverage your job opportunities.
Another tip I would give in this topic is to learn how to create semantic commits, since following this article to start in the area, you would have already learned how to commit using the Git command, mentioned in the topics above, so I believe that it would be very important for you to already learn how to commit in the best way, being shaped to be a dev who applies good practices from the beginning of his career. And right here on the blog you can learn more about semantic commits, through the article: Understanding the importance of Semantic Commits.
As a bonus tip, if you have identified yourself with frontend or mobile development, the Dribbble site has several layout inspirations, thus being a great opportunity for you to replicate layouts, thus training your HTML and CSS, and who knows even JavaScript.
https://dribbble.com/
I even applied this tip myself by creating the Financial App application, where I recreated the look of a Dribbble inspiration. To check out this application, just access my LinkedIn: Financial App.
7. Have professionals as a reference for your career
As a final tip for this topic, I would recommend that you, who are starting a career in the programming area, choose people from the area to be your example of a professional career to be followed, motivating you to achieve your goals in the technology area.
Also, having people by your side who motivate you during this journey is extremely important. Learning about technology and/or changing areas are processes that take time, it is not done in a month, but several months of dedication, day after day, until the goal is completed.
That's why it's important to have people who understand your efforts and who encourage you to continue studying, because the achievement is daily.
Sharing knowledge through LinkedIn
Another nice point that I can mention, and that certainly helped me to walk the paths and achievements that I have achieved, was sharing knowledge through LinkedIn.
For those who don't know, LinkedIn is the most used professional social network in the world, and it is extremely important for our area, as it is used to create networking, create your professional profile, thus making it available to the job market, sharing your evolution and content creation.
Since I decided to become a dev, I started sharing the knowledge I learned in courses, in college, in lectures on LinkedIn. I feel grateful for having started this sharing of information, because it is by teaching that one learns.
In the beginning, you will feel a little ashamed, perhaps, afraid, uncertain, but I say: just do it, because if you think too much, you will probably not start, and we all have something to learn that can be shared.
Produce content and help our community to be better every day, and it also becomes a way for us to return all the welcome, affection and help that we also received at the beginning of our journey.
On this topic, Marcos Henrique and I, a very hardworking and intelligent child developer, who at just 15 years old rocks programming, did a live together with the following theme: Tips to stand out professionally, using LinkedIn, Github and Soft Skills
I always recommend this video, because we've filled it with tips, using everything mentioned so far for you to apply what we follow in our careers.
What does the market look for beyond the technical part?
Another important point that we need to take into account when we think about working in the technology area is that the labor market has also evolved, and today it is very important to seek to develop other capabilities in addition to the technical ones, and they are called Soft Skills or interpersonal skills.
As mentioned in the topic above, in this live I did with Marcos, we also talked about how Soft Skills can help in our career.
Interpersonal skills come to help us improve our relationships with co-workers, family members and people we live with.
Some of the Soft Skills that I consider to be very important are: Communication, Empathy, Teamwork, Emotional Intelligence and Commitment.
Always remember that all these learnings are a journey, you will not learn everything at once, in one day, but keeping constant, little by little, we will learn, put into practice and become better people.
Go to college or just self-taught studies?
This is another critical point when we think about changing careers or starting in the technology area, going to college or not?
This is an extremely personal opinion of mine, where I believe that although yes, we have many courses that are outdated, as it is difficult for a university to be able to fully follow the job market, I see many benefits of having a degree.
With the pandemic, today we have access to a multitude of distance learning courses and universities that promote excellent teaching in the area of technology. We often think only of the bachelor's courses that exist, without taking into account many excellent technical courses, ranging from 1 year and a half of training to 2 and a half years, and that yes, can add a lot of knowledge.
In addition, as mentioned in the planning topic, it is important to have goals and objectives to be achieved, and one of them is to think about whether in the future you would like the possibility of working abroad.
And to work abroad physically, in 90% of cases, it will be necessary to have a degree, whether technical or a bachelor's degree, to get a work visa and be able to migrate to another country, so if possible, start a degree in the area, but if not possible at the moment, you get opportunities regardless of whether you have a degree or not.
Another positive point I see in graduating is that it makes it easier to enter the job market, as you can start your journey as an intern developer, learn in a good company and reach the junior level, thus increasing your career possibilities and professional growth.
As I mentioned above, EAD colleges are at great prices due to the pandemic, in addition, in many of them it is possible to win full or partial scholarships. Other than that, I will leave the Becas Santander website below, which constantly opens vacancies for you to register and compete for vacancies for undergraduate scholarships, language studies and courses, completely free of charge.
They even have spots open for a completely free programming bootcamp until July 19th, and to access this scholarship and all others, visit: https://www.becas-santander.com/
Deepening the acquired knowledge
I believe that if you did the step-by-step above, you would now have the knowledge for an internship level, since it is necessary from here to deepen your knowledge in one of the areas we talked about above, backend, frontend or mobile, to be able to achieve reach a more advanced level as a junior.
But why should we delve deeper?
Because each of these areas uses specific knowledge, thus, there are frameworks, libraries and tools that will help you to conquer that dreamed vacancy of dev.
For example, for the backend, you can use NodeJS and NestJS, for the frontend, you can use the ReactJS, AngularJS or VueJS frameworks, and for mobile, you can use React Native, as it uses JavaScript as a language, or Flutter, which uses the Dart language.
When you already have this entire base of knowledge from the previous topics, it's interesting to start looking for mini courses on udemy, for example, and for that, you can invest your knowledge in paid or free bootcamps, and also through weeks of events that they offer you introductory knowledge about the above tools.
So you can participate in events such as Rocketseat's Next Level Week, imersão React - Alura, week with irmão mais velho,between others.
Course tip - Lab do irmão mais velho
I got to know the content of the older brother by chance and I liked it right away. It is very didactic and has a very complete content, in addition to being free.
To access, just click on the link: https://lab.irmaomaisvelho.com.br/
and carry out your registration.
He has a course for frontend, backend and mobile, I highly recommend.
Course tip - Rocketseat's Next Level Week
This is a free event that rocketseat offers from time to time, I believe it is every 2 months or 3 in 3. This week, they offer free learning trails where you can learn about career, soft skills, frontend, backend, mobile with react native, flutter, and it's awesome.
Platform: https://www.rocketseat.com.br/nlw
Course tip - React Imersion - Alura
A week of event full of learning, where you will create a React application learning several concepts, totally free. There will even be a new week starting on the 12th of July until the 16th, and to register, visit: https://www.alura.com.br/imersao-react
The above courses are completely free, but there are excellent bootcamps and paid courses too, for all tastes.
Finally, as a final tip on this topic, I will list below some sites so that you can train your code through challenges ranging from the most basic to the most advanced.
Codility - https://www.codility.com/
Exercism - https://exercism.io/
Frontend Mentor - https://www.frontendmentor.io/challenges
Powering our community
There is nothing I love more about our area than our community. But what is the community?
The community is us, people who share knowledge, help people, and are also helped, totally free and spontaneously, aiming at our personal, professional and human growth as well.
Being in communities helps a lot in our journey, because there we interact with other people who have the same goal as you, working in the technology area, sharing knowledge and learning more too.
So, as a final tip, participate in communities, help people, and allow yourself to be helped too, because together we grow even more and encourage other people to grow too, forming a whole chain of good and information sharing.
Closing
And so we end this huge personal article.
Many of these learnings I had through friends who helped me by sending articles, content and out of curiosity too, researching and wanting to evolve more every day.
This article is also a way to help and encourage even more the people I mentor through LinkedIn and who often, due to the many messages I receive, cannot pass on all these tips in detail, as I did here in the article.
I hope that this compilation of information will help you to follow, plan and carry out your studies, in order to achieve the long-awaited vacancy in the technology area.
But if you still have questions or suggestions for improvement, don't hesitate to talk to me on LinkedIn or send me an email. It will be a pleasure to assist you.
See you in the next article ✨