My experience from bootcamper to freelancer.
Published: 2021-03-02 14:11:13

Today's article will be a bit different, I would like to retire from the code itself for a moment, and talk about my early developer experience. I have a feeling that people who started their career very recently might find this article helpful.

I'll try to gather what were the most useful skills and things I've accomplished that allowed me to find my first job as developer, 2 months after a bootcamp, and then become a freelance.

## Table of contents

- [My journey](#my-journey)
- [Personnal projects](#projects)
- [Tutorials](#tutorials)
- [Documentations](#documentations)
- [Ask questions](#questions)
- [Share success](#share)
- [Group activities](#group)
- [Be focused](#focus)
- [Learn tests](#tests)
- [Tech challenges](#tech-challenges)
- [Teach](#teach)


## My journey

<a name="my-journey"></a>

My coding journey started in a bootcamp in 2019, it was an intense 5 months of learning pretty much everything I needed to be a ~~successful~~ developer.
I had never touched nor seen an HTML tag whatsoever, but I had a feeling I would love it. I had no background in tech, no engineer degree and had nobody that could help or teach me.

To give you an idea of what the program was, we had 5 months to learn the basics of : HTML, CSS (some CSS framework too, like Bootstrap), JS, React, Node and SQL.

Needless to say it was a tough rush.

Needless to say, if I had only been following the program without investigating and working on the side, I wouldn't have been able to find any job afterward (not that quickly, at least).

I knew that we (my coworkers and I) would all have the same knowledge, and pretty much the same background in the end. It was a necessity to step out to be the chosen one.

I had to _level up_ faster.

Now, I've created my own company, [Othrys](https://othrys.dev) with my partner [Ferrand Gaël](https://dev.to/gaelferrand). We're working as freelancers with companies such as AirBnB and the french store chain Monoprix.

_I'll go through what helped me. It might, and probably will, be different for you. Keep in mind that the goal is to help people that are learning. If you have any extra recommendations, leave it as a comment, I would be very happy editing the article and crediting you for it._

## Make personal projects
  <a name="projects"></a>

This is the most time-efficient thing you could ever do. Take a subject you haven't really understood yet, and build something with it. You'll stumble, but you'll learn **a lot** from it. And this is something you'll be able to show to a potential recruiter to show your determination and what you can do. It will also give you confidence into your skills, and allow you to measure your progression when you go back into old projects.

If you're wondering what to build, there are plenty of possibilities. Take a topic you love : a book, a video game, a movie, a sport, and make something you wish already existed, or build it better. Or find a very well done website, and try to mimic it.

If you're really out of ideas, I would suggest you [this article](https://dev.to/commentme/some-projects-to-build-your-resume-2leg) wrote by **Unnati Bamania** that gathers a lot of possibilities.

I personnaly created a competition system for one of my favorite video games using React, Node and an SQL database during my bootcamp. It took me a looong time, but I knew it could be useful as a proof of my abilities.

## Stop following tutorials blindfolded
  <a name="tutorials"></a>

Instead of spending time copy/pasting a tutorial, try to find the solution by yourself. Doing so, you'll get a deeper understanding on what you're working on, and you'll be more prone to doing it again.

If you're building something new, go read the documentation, it should be good enough to get you started with the basics.

Don't get me wrong, I'm not saying to never read any tutorial. Some are very well done and well explained. If you're following one, you should focus on the explanations instead of stopping to the code samples and wondering why it's not working.

_We all copy pasted that weird Stack Overflow function that does some unknow magic._
_It's working ... Right ?_

- ## Read the documentations
  <a name="documentations"></a>

If you're digging through a tutorial, you might land on the documentation page of the technology you're using.

**Read it**.

Especially when you're learning everything at once or in short period of time, it'll help wrapping your mind around the _why_. It might be boring, and you will understand only a very tiny part from it at the beginning, but believe me, it'll pay off big time.

## Ask dumb questions
  <a name="questions"></a>

If you keep reading resources here and here, you'll necessarily ask yourself questions.

**Ask them**.

This is the only way to know for sure if you understood correctly. It might even be the genius moment when you ask the question, and everything becomes much more clear as soon as your formulate it.

If you are lacking on people to reach, try social medias. Most of the developers I know are always happy to share a bit of time or knowledge with you. If not, they might even ask someone they know to help you out !

Don't get discouraged if they don't, building a community take times.

As a last resort, Google might be able to link to very good resources that could help you !

_If you have specific code questions, you could even try to post on Stack Overflow._

## Share your success
  <a name="share"></a>

You should always be proud of what you accomplished, especially when you were stuck for hours/days on the problem. Other people will always be super happy to celebrate with you, they could also learn from your struggle, killing two birds with one stone.

The same peoples that you'll be celebrating with, will cheer you up when that impostor syndrom will kick your ass off.

_I would suggest you [this podcast](https://epicreact.dev/podcast/taking-control-over-your-career) from Kent C Doods that cover this subject from his point of view._

## Prioritize group activities
  <a name="group"></a>

The time where a developer was that nerd boy deep down its basement is over, sorry. In every single company you'll be working in, you'll **always** be working with other people. You must be able to cooperate with a group of people, to share your ideas with them, to ask questions when you need to or even to give some advice !

## Be focused
  <a name="focus"></a>

There's a ton of things to discover and learn. It can be mindblowing, and if you are like me, you'll want to know eveything ... It's impossible and I consider this as a bad practice for beginners : You'll necessarily end up to know a tiny bit of everything and never be good enough at something in particular. 

Not exactly something very valuable when looking for your first job, right ?

## Learn how to write tests
  <a name="tests"></a>

Tests are the best way to ensure code quality, to chase bugs and make sure they'll never come back. A 100% tested application doesn't mean a bug-free one, but you'll know for sure that the bug you fixed a week ago will never come back.

There's a whole subject about testing in general, this is an entire world with a tons of tools. It can be tricky aswell, but it will pay off big times when looking for a job.

## Don't be affraid to accept technical challenges
  <a name="tech-challenges"></a>

If you're feeling it, you should volunteered to take a task you know very little about. Taking a subject you know very little to nothing about is one of the best way to progress.

In my previous job, I personnaly had to learn Apollo, GraphQL and Typescript on the fly for a mission I was assigned. I'm not gonna lie, it was hard and that impostor syndrom kicked my ass off. It took weeks before I became confident with the techonologies and finally considered myself as a real developper for the mission.

## Teach
  <a name="teach"></a>

The only way to know for sure that you'll understand a topic, is to teach it to someone. If you can explain clearly a subject to someone else, you can be confident into your knowledge. Of course don't fool yourself and work on the subject before explaining.

Another way to do so would be to write articles. You don't necessarily need to publish them, but the writing process will help you to discover where you knowledge is lacking.

This is personnlay my favorite, I wrote one for [NPM](https://othrys.dev/the-npm-guide-i-would-have-loved-as-a-beginner/) and one for [Javascript promises](https://othrys.dev/promises/) in my process of relearning the basics.

-----------

I hope you enjoyed the read, and if you made it that far, thank you !

You can find the original article on the [Othrys website](https://othrys.dev/author/axel/) and you can follow my [Twitter](https://twitter.com/ChandelierAxel) or tag me here to discuss about this article.