How to progress after Le Wagon 🚌
Hi there!
You've just finished some of the most intensive and hardest weeks of your life. But you've made it! Congratulations, you are now full-stack developers able to build great web projects from scratch.
But Le Wagon is just the beginning of a long journey. Being a developer is an incredibly rewarding position because you get to learn new things every day. But it is also a challenging role. With this repository, I want to share with you some tips and resources to keep on improving your skills as efficiently as possible.
Solve your problems alone
One of the most difficult things after Le Wagon is that you won't have teachers and TA anymore to help you every day. Of course, you have Le Wagon community on Slack but it is not as instantaneous as a ticket. After Le Wagon, you should aim at being really autonomous to solve your code problems as fast as possible. To do this, you need 3 skills:
Learn to read your error messages
During the bootcamp, you may have seen teachers solving problems you had been struggling on for dozens of minutes just by reading your error message. It takes some practice but learning how to find your error messages and how to read them will solve 90% of your problems. Sometimes it will give you directly an answer, most of the time it will narrow the scope of the problem. Good developers are (almost) always happy when they see an error message because they know it will help them solve their bug.
Become a binding.pry god
When the error message does not directly give you an answer, learn how to debug
with binding.pry
(or debugger
for Javascript). Every time I see a bug I
don't quite understand, the first thing I do is put a binding.pry
in my code
to see what is going on and how do my variables look like at this specific
moment. With good binding.pry
skills, you will rock in the developer world.
P.S: Aaron Patterson, one of the most famous Ruby developer, is a "puts debugger". It is another way to deal with errors. Enjoy this article to learn more.
Learn to Google a problem
When you are facing a problem you really don't know, get used to Google it. 99.9% of the times, you will find somebody who had a pretty similar problem on StackOverflow. Google skills are the most important ones for a developer.
Other places you can find some help are: Reddit and also directly on Github, in the issues section. There, you can ask your question to people working with the same tool as you. Sometimes you also get a reply directly from the creator of the project.
I'm talking about these two because they are not as much referenced as StackOverflow but are sometimes more qualitative/recent !
How to progress after Le Wagon
Here are my personal advice on how to progress after Le Wagon. I myself did/read half of the resources and heard really good reviews from Le Wagon alumni about the other ones. You can find free PDF of most of the following books on the web but, if you can, please support the authors. ;)
Get your basics right
After Le Wagon, a lot of things look like magic because you don't have time to learn the core concepts. I found it super valuable to get back to the roots and learn more about topics not directly related to a language to get this right! If I was doing Le Wagon today, I would read the resources below directly after it.
- Learn the most valuable Computer Science concepts in 1 afternoon with Computer Science Distilled. Best book ever!
- Improve your Git level by reading Ry's Git Tutorial, it is free and amazing!
Improve your Ruby skills
If you know Ruby well, Rails will be so much easier!
- Read Eloquent Ruby
- Read 99 bottles of OOP
To go further
- Subscribe to Ruby Tapas
Master Rails
Because of course!
- Read the Rails guides
- Read The Rails 5 Way
- Read Rails Anti-Patterns
To go further
- Subscribe to Go Rails
- Subscribe to Drifting Ruby
Get fluent in Javascript
Javascript is primordial but you don't know it well after Le Wagon. Take some time to improve your skills.
- Feel the need to practice ? Do the free JavasScript30 course by Wes Bos.
- Want to learn the latest JS synthax ? Check ES6 for everyone
To go further
- Read the You don't know JS books (available for free on Github).
- JavaScript: The Good Parts is still a must read.
After all of this is done
Web development is full of hype. However, I would not recommend you to learn the latest Javascript library (I know you want to ;) ) just after Le Wagon. Take the time to master your existing skills before diving into something more advanced alone. Below are some options for when you feel comfortable (no real reading list, I am an expert in none of these technologies).
Go back to the roots to became a real software engineer
- It is not too late to learn Computer Science. It will be a lot of work but you can follow the Teach Yourself CS program
- Do the Recurse Center, it seems to be life changing.
Learn Data Science, the skill of the future
- Andrew NG Machine Learning and Deep Learning Specialization courses are best in class
- If you learn best "top down", give Fast.ai a try
- Tired of Moocs? Enroll in Dataquest
Try something different in back-end
- Learn a functional language. Elixir and Phoenix (the most popular framework for Elixir) are great choices for Rubyist as Elixir was written by a former Rails core contributor.
- I heard every good developer should be familiar with at least one compiled language. Go is still safe pick but Crystal could be an interesting choice for Rubyist.
Focus on front-end... and go into mobile
- Improve your CSS skills: structure it properly your vanilla CSS with BEM.
- Learn a trendy JS library (React or Vue.js for example) in egghead. Get a paid subscription, it is worthy.
- Then, if you're conviced and want to create native mobile apps for Android & iPhone, learn React Native (there are good courses in egghead too)
Learn DevOps
- Enjoy a funny dive into DevOps with The Phoenix Project.
Other important resources
You should know about some resources. They will help you a ton in your code every day. Here is a list of the main ones I can think of.
- CSS and HTML references (+ BEM to learn to structure your CSS)
- Awesome Ruby
- Ruby and Rails style guides
- Ruby Weekly newsletter
- Exercism to test your skills with great coding challenges
- A new way to setup your front in Rails, by a former Le Wagon student
- Do you want more? Check this [resource] by a former student with a ton of miscellaneous cools links ! 🌟
Contributing
If you are a teacher, TA or experienced alumni of Le Wagon, do not hesitate to fork this repository and send me a pull request to improve this learning path. I am sure it could be much better. ;) ✨