The more experienced Rails dev I am, the more Junior I feel

\- I realize I will never "know everything",

\- I realize I often go back to basics,

\- I realize that there are some basics that I missed earlier,

\- I realize that there are some basics already met, but simply forgot.

\- I realize that some "best practices" were actually bad ones,

\- I realize that even after all these years, a feature takes always more time to finish than I thought it would.

This is probably not completely true since I feel better on certain areas (keyboard mastering, search for help, isolate problems, testing...), mostly because I made tons of mistakes before.

I still enjoy the journey as a Rails developer, because I have the feeling I can "deliver added value" faster than any other tool, which is a great satisfaction.

But I will probably never be "an expert" after all these years, which is okay. Health first.

20 thoughts on “The more experienced Rails dev I am, the more Junior I feel”

  1. I like this.

    The more you learn, the more you realize these even more stuff you don’t know about.

    Perhaps this relates to everything in life.

  2. I absolutely share this feeling, but recently I have come to the realization of how much I already know, when after working solo for over 10 years I got in a company starting a new project and noticed how how lost people were about what to do, how to do it, in what priority, and how much planning is necessary to start working on it.

    It took me months even to realize that what I was witnessing wasn’t simply a different approach but an actual failure in software project management.

  3. The next mountain to cross is to realize there is no rails, it’s all just Ruby. And if you know Ruby, you know Rails. Read the source deeply of both and you’ll gain a lot. And then realize that neither of those are that special; and Ruby is just yet more source code. While many people don’t get super deep for daily web dev, it all comes around to data structures and CS fundamentals, and how they are implemented.

    My biggest realization that helped me was that most of the time I don’t need rails. Rack or Sinatra alone can often serve what I need, and gives me more control and viability to what’s actually happening. Less code is more

  4. You also realize that everyone else is in the same boat. That even the people you see as experts in something are

    1. probably not as awesome as you think they are and,
    2. far from an expert in a lot of other things

    And you realize its far more important to surround yourself with as many other smart people as possible.

  5. I remember a really awkward period, from like 1 to 3 years after I started being a dev, feeling like this every day.

    I think it gets better. Just keep going!

  6. This is a very mature view of development, and a great sign. It’s the people that never reach this stage which are the problem.

    1. No one knows everything
    2. Given that 1 is true, the people that think they know everything are, definitely, wrong.

    Humility and openness to learn are far and away the most useful skills.

  7. This applies to more than just Rails of course. I’ve been writing code since I was 14 years old. I’ve been doing it professionally (meaning getting paid for it) for almost 40 years. It’s taken me a while to reconcile with the fact that Googling and/or using forums like this one is a necessity. I now no longer remember how I used to write software before the InterWebs.

  8. No one is really an expert.

    If you want to get better pair program with more people. Do it when you or them have spent 2 hours or more without making any progress.

    Always use linters, for everything you can. Although I try to only use ones that also have autocorrect.

    If you find a gem that doesn’t work, submit a pull request to fix it. Once I felt comfortable fixing other people’s gems I was able to use more gems with the knowledge that any that lagged behind I could actually fix, for just my own needs.

  9. > \- I realize that even after all these years, a feature takes always more time to finish than I thought it would.

    I sometimes do side work for my mentor, mostly because it’s in Rails (my job right now has me using .NET/C# and I miss Rails so much). When I come up with a time estimate for a feature, I always double it. After phone calls, planning, implementation, testing, and deployment, it usually turns out to be pretty accurate.

  10. I think that one problem in our profession is that we consider that a developer is “senior” after 5 years.

    In reality, after 5 years, is when we start to gasp what development is about. And it takes 10 more years to really be able to say that you are an expert.


Leave a Comment