How to become a developer -Part 1: Where to begin

João Henrique
9 min readMar 30, 2019

--

Photo by Fabian Grohs on Unsplash

This is the first of a five-part article. Here you have links to the other parts:

Part 1 -Where to begin

Part 2 -It’s all about habits

Part 3 -Learning to code

Part 4 -Get Social

Part 5 -How to get your first job as a Web Developer

Preface

Yap! I made it! I’m a Web Developer working for a pretty cool German company in the sunny Algarve (Portugal). I get to play with awesome shiny new tech, in an environment flourishing with talent and creativity. When I need to relax I can go downstairs and play a match of tennis table or fuzz-ball with the team. Personal learning is encouraged by the company, so I have time to invest in learning about some fancy new technology. I get to build awesome challenging cutting edge web platforms with the team and constantly improve my skills as a developer and as a team player. The best part is that despite all the fun I’m having at the agency, they even pay me to work there. How cool is that? Yeah, I’m living the dream baby!

But, I was not always a developer… I came from a different field and I had no tech background. I was a Senior Laboratory Technician and for 12 years and my job consisted of analyzing the chemical composition of environmental samples like food, water, and soils. I knew nothing about code. Still, I’ve made it into the industry.

In this four-part article, I will describe all the aspects I consider essential, for a person that, like me, didn’t know anything about tech, and want’s to become a Web Developer.

Why should you care about what I have to say?

If you aspire to become a developer, you will have a treacherous journey ahead of you. Don’t get me wrong, you can make it but, it’s easy to get overwhelmed with the amount of stuff you will have to learn. It’s extremely easy to get lost and unable to differentiate what’s important from what’s not.

There is no secret sauce for success. Unforteletly you won't find a magic recipe here. I’m not special so, this article is about all the grinding, the resilience, the commitment and the work a normal person has to do, in order to successfully become a developer.

I’m not teaching you how to code here, I’m pointing out all the things you have to do, in order to learn to code and get your first job. I’m showing you the path to become a developer but, you still have to be the one to walk it and start your own awesome story.

Take action

On the previous article about my career change (you can read it here), I focused more on inspiring people to take action and that it is never too late to become the person you want to be, unveiling a bit of my story and how I started to go out of my comfort zone. If you feel that you need a boost of motivation to start changing your life, go ahead and read that one first.

Photo by imgix on Unsplash

Why learning to code?

If you haven’t been living under a rock for the past decade, you have noticed that software developers are the new “Rock Stars”. They are building the future and being paid huge sums of money at companies like Google or Facebook. Ok, I’m talking about the top talent, of course. But, for the rest of us, there is still lots of cool stuff in this ever emerging field.

  1. Profitable career — Software developers are one of the most well-paid professions of the 21st century, with lots of job opportunities.
  2. A profession in high demand — Companies are desperate to find talent. If your good in what you do, you won’t have trouble getting that dream job.
  3. Cool working environment — IT companies make a big effort to retain and motivate their talent. You will find the coolest offices with perks like small libraries, games, resting spaces, fresh food, drinks, and the list goes on and on…
  4. Being able to work remotely — It’s not allowed in all the environments, but remote working gives you the choice of living anywhere you want or just work from the comfort of your home.
  5. Conferences/travel — Yap there are always awesome events popping up like mushrooms all over the globe. And if you are lucky enough, your company might even pay for all expenses.
  6. Future proof — With automation, machines are taking over many professions and specialist predict we will have to rely on online training and life long learning. Developers are experts at this and we are extremely adaptable.
  7. On the cutting-edge of technology — There’s always something new coming up and we fight on the frontline.
  8. Awesome community — The tech community is just awesome. Developers are a different breed. People are really passionate about what they do and love to talk about it.
  9. Superpowers — You can build your own stuff. We are geeks and we like to geek around. If you are lucky to build something cool enough, you can even become a millionaire.
  10. Endless possibilities — When you know how to code you can work in practically every sector or you can start your own company. You can even invent the future if you are bold enough.

What is a software developer?

According to Wikipedia, A software developer is a person concerned with facets of the software development process, including the research, design, programming, and testing of computer software.”

I prefer Eric Elliott’s approach that goes like this: “In my first high school programming class, I was told that software development is the act of breaking a complex problem down into smaller problems, and composing simple solutions to form a complete solution to the complex problem.”

From my personal experience, I would add something to the two perspectives above:

A software developer is a person that masters the ability to work in a team. He learns with the team, he shares his knowledge with the team and he contributes with his best work, always trying to improve himself and everyone on the team. Oh… and also writes some code.

Here’s a cool video that explains what we do.

Why some things matter more than others?

If you are thinking about learning to code, it is crucial to distinguish what really matters.

  • When you are starting, it’s important to learn the fundamentals of programming, not all the programming languages there are.
  • When you are learning, it’s important to make an effort to train your mind to solve problems before you ask for help or look up for a solution.
  • It’s more important to develop endurance than speed when solving exercises.
  • When you are applying for a job, it doesn’t matter if you are a top coder, if your not a team player and you don’t fit the company’s culture.

Know what really deserves your attention. Time is precious and you should be investing it in what will give you an edge as a developer.

Photo by Justin Luebke on Unsplash

Where to start

Ok, you decided to learn how to code but the internet is flooded with lots of free and paid tutorials about every programing language there is. And if that wasn’t enough, you still have to differentiate between several difficulty levels or you’ll end up trying to learn advanced concepts without having a solid understanding of the basic principles of programming.

If you want to learn to code by yourself, you will need guidance so that you can focus on the important stuff. Here’s where freeCodeCamp.org comes in to play.

What is freeCodeCamp (fCC)?

fCC is a tiny non-profit that is helping millions of people learn to code for free. Basically, fCC is a website that will teach you to code in a structured way and that promotes a friendly environment for students (campers) to help and motivate each other. Currently, it has six certifications for you to accomplish. But, with two or three of those you are already able to apply for a junior developer position if you do things right.

This is not a futile experience, I assure you! Each certification takes about 300 hours of work. It will require your full dedication and lots of help from fellow campers. But, if you can make it, you will not only learn how to code but it will also, forever change who you are.

What fCC is not?

fCC is pretty good in the sense that it gives you a road map for you to follow but:

  • You won’t find teachers daily checking your progress, helping and motivating you like in a boot camp.
  • Since you are learning at your own pace, distractions will put you off track if you can’t discipline yourself.
  • You are the only one responsible for getting things done.

Basically, you will have to be your own boss if you want to succeed. For me, the best way to learn how to code is definitely a Coding Bootcamp. The problem with Coding Bootcamps is that the price is just… prohibitive!

So… if you are in short of money as I was, and you are looking for a free alternative, fCC, despite its shortcomings, is a very powerful resource and it will turn you into a junior full stack developer, ready for your first job if you can commit to it.

The key points of fCC

So, what does fCC offers that makes it so great?

  1. A well-structured path for you to follow — fCC excels in covering all the important topics that you will have to learn and in introducing them to you in a very well structured manner.
  2. Quality resources — fCC’s study materials are of pretty high quality and up-to-date. You are presented with an interactive style of learning where you have a text explaining each topic and afterward, you have to apply what you have learned on an online code editor and where you get to see the output right away.
  3. Community — fCC success is built around the community. You are encouraged to join local study groups, to participate in the discussion forums and to share your progress. There are always good people willing to help and you are encouraged to help others. It makes you feel part of something greater than yourself and It will also develop your communication skills.
  4. Projects — To conclude each certification you will be required to build some cool projects that will help you in two ways. 1) You will apply what you have learned and see the practical applicability. 2) The projects will shine in your portfolio later on when you are applying for a job.
  5. Help non-profits — You are encouraged to contribute (with code) to open source projects, one of them being the fCC itself. These contributions will give you experience with the workflow of big projects, and it will also make you stand out from the crowd, showing that you care for noble causes.
  6. Certificates — Because… who doesn’t like to have a certificate of accomplishment, right? Oh, and it also looks great in your resume.

Other options

If for some reason you don’t like the way fCC works, there are other options out there. Most of them don’t give you that exact path for you to follow and you might get a bit lost. What I did was to follow the fCC path to get track of what I had to learn, and get some other course to go deeper into some topic that I felt I was not confident enough. You can find other options here.

This is the first of a five-part article. Here you have links to the other parts:

Part 1 -Where to begin

Part 2 -It’s all about habits

Part 3 -Learning to code

Part 4 -Get Social

Part 5 -How to get your first job as a Web Developer

--

--

João Henrique

Always learning | Always teaching | Always improving | Always positive