Hi there!
You've just finished some of the most intensive and challenging weeks of your life. But you've made it! Congratulations, you are now a full-stack developer able to build great web projects from scratch.
However, 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 improving your skills as efficiently as possible.
One of the most difficult things after Le Wagon is that you won't have teachers and TAs anymore to help you every day. Of course, you have the Le Wagon community on Slack, but it is not as instantaneous as a ticket. After Le Wagon, you should aim to be really autonomous in solving 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 with 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 a direct answer, most of the time it will narrow down 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 using breakpoints. Every time I see a bug that I don't quite understand, the first thing I do is put a breakpoint in my code to see what is going on and how my variables look like at this specific moment. With good debugging skills, you will rock in the developer world.
For more info, see the debugging Rails doc.
P.S: Aaron Patterson, one of the most famous Ruby developers, 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 finding the solution online.
- Google and/or StackOverflow: By googling your problem, you will find 99.9% of the time somebody who had a pretty similar problem on StackOverflow. Learn to be precise in your Google searches to get the best result and always challenge the solutions you find.
- Large Language Models (LLM): New addition in 2024, Large Language Models are getting really good at helping you debug (and build) your apps. I use GPT-4 and Copilot every day, and it saves me countless time. Just remember that the code they produce still needs to be checked and adapted most of the time 😉
- The source code: As you get more experienced, you will encounter challenges that are less documented. Build the habit of looking at the source code of the packages you use when needed. Use
bundle open gem_x
in your terminal to see the code of a Ruby gem. It is often of great value and can even encourage you to contribute to open source.
Here is my personal advice on how to progress after Le Wagon. I myself have read most of the resources and heard really good reviews from Le Wagon alumni about the others. You can find free PDFs of most of the following books on the web, but if you can, please support the authors 💸
After Le Wagon, a lot of things may seem like magic because you didn't have time to learn the core concepts. I found it super valuable to get back to the basics and learn more about topics not directly related to a specific language to get this right! If I were 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 skills 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 (oldie but goodie)
- Read 99 Bottles of OOP (or anything written by Sandi Metz)
Because of course!
- Read the Rails guides to get the basics right
- Subscribe to Go Rails to stay up to date
- Read Layered Design and the Extended Rails Way to nail more advanced patterns
- Read The Rails 7 Way
- Subscribe to Drifting Ruby
- Lean what is needed for a production ready Rails app
JavaScript is essential, but you may not know it well after Le Wagon. Take some time to improve your skills.
- Feel the need to practice? Do the free JavaScript30 course.
- Improve your JS in Rails skills by learning Hotwire with Hotrails
- Read the You Don't Know JS books (available for free on GitHub).
Web development is full of hype. However, I would not recommend learning the latest JavaScript library (I know you want to 😉) just after Le Wagon. Take the time to master your existing skillset before diving into something more advanced alone. Below are some options for when you feel comfortable. Disclaimer: I am not an expert in any of these technologies.
- 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 and get your self-taught degree.
- Do the Recurse Center, it seems to be life-changing.
- If you learn best "top-down", give Fast.ai a try.
- Andrew Ng's Machine Learning course is still a great resource.
- Tired of MOOCs? Enroll in Dataquest.
Curious about the different ways you can write code? Declarative, functional, imperative, there is something for every way of thinking. So why not learn a new language?
Exercism is a great platform to give a new language a try!
I am really not a front-end expert! Please forgive my mistakes and my lack of resources 😉
- Improve your design skills with Refactoring UI.
- Learn Tailwind, it is amazing.
- Learn a trendy JS library (React or Vue.js, for example).
- Switch to mobile and learn to create native apps for Android & iPhone.
Product Management is a natural path for new (or old) Le Wagon students.
- Cracking the PM Career is the most comprehensive and interesting ressource I know
- As a Basecamp fan, I really like the Shape Up methodology.
- Enjoy a funny dive into DevOps with The Phoenix Project.
You should know about some resources. They will help you a ton in your everyday code. Here is a list of the main ones I can think of.
- CSS and HTML references
- Awesome Ruby
- Ruby and Rails style guides (or use standard)
- Ruby Weekly newsletter