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.
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:
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.
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.
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 !
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. ;)
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!
If you know Ruby well, Rails will be so much easier!
- Read Eloquent Ruby
- Read 99 bottles of OOP
- Subscribe to Ruby Tapas
Because of course!
- Read the Rails guides
- Read The Rails 5 Way
- Read Rails Anti-Patterns
- Subscribe to Go Rails
- Subscribe to Drifting Ruby
Javascript is primordial but you don't know it well after Le Wagon. Take some time to improve your skills. Wes Bos 👑 is one of the best teacher to start learning JavaScript. He has a good amount of free stuff.
- Feel the need to practice ? Do the free JavasScript30 course.
- Want to learn the latest JS synthax ? Check ES6 for everyone
- Read the You don't know JS books (available for free on Github).
- JavaScript: The Good Parts is still a must read.
Web development is full of hype. However, I would not recommend you to learn the last 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).
- It is not too late to learn Computer Science. Here is a program I will do in 2018. We built an awesome community around it, join our Discord.
- 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.
- Learn how to structure properly your vanilla CSS with BEM: for reusable components & a real naming convention for your next big projects.
- Discover Flexbox and CSS Grid !
- 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 with these Full Stack courses from Stephen Grider ! 🎉
- Enjoy a funny dive into DevOps with The Phoenix Project.
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
- Awesome Ruby
- Ruby and Rails style guides
- Ruby Weekly newsletter
- Exercism to test your skills with great coding challenges
- Ruby Monk, chill design & enteresting exercices
- Cool podcasts like Syntax and Le Ruby Nouveau
- 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 ! 🌟
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. ;) ✨