DEV Community

Cover image for Continued Learning For Intermediate Developers
James
James

Posted on • Edited on

Continued Learning For Intermediate Developers

A question I see asked every now and then that has stuck with me is "do you have ten years of experience, or just one year repeated ten times?"

Next month, I will have been a professional web developer for seven years. I like to think I managed to fit seven years of experience into that time, but that question still troubles me.

For the last couple years at work, I've been working on a single Rails 4 application, with the occasional jaunt into C# and PHP. The application has reached a pretty stable stage of development now, so my opportunities to learn radically new stuff while at work are pretty limited.

I really want to push myself to a point where I am comfortable referring to myself as "an expert", but I'm not sure what the best way to proceed is.

What are your experiences in trying to bridge the gap between intermediate and expert? Do you think it's better to pursue learning opportunities (like the recently free Upcase by Thoughtbot [they're not paying me]) or do you go with side projects?

If you are already pretty comfortable with the technology, how do you pick side projects that will really push you without it becoming a second job?

Top comments (4)

Collapse
 
vinistock profile image
Vinicius Stock

Very relevant post. I find myself having the same concern with some frequency, as I too work mainly with a stable set of applications using Rails.

In my opinion, continuing learning, as you mentioned is one way to keep advancing. You can focus on specific topics that interest you, for instance understanding how to tune Rails applications for performance, could be one.

I would also suggest contributing to open source (which can often have a steep learning curve) or working on a personal project.

The pet project might be a lot of extra work, depending on what you choose to build, but contributing to open source can be done in small steps, whenever you have free time.

I feel like the Ruby/Rails community is welcoming and open to new contributors, so perhaps that would be a starting point. Take a look at the gems you usually include in your projects and check their repositories for issues you can fix or improvements you want to implement. CodeTriage is also a nice place for finding repositories in need of help.

I hope this helps at least a tiny bit! Cheers

Collapse
 
jsrn profile image
James

Open source contributions are a great idea, I think. I find it really daunting to jump in and contribute to a large, established project, but a lot of them make the process really easy. Especially around this time of year, with Hacktoberfest going on.

I guess the downside is that with open source contributions, especially if you're new to the project, you may find yourself mainly working on issues that you are comfortable with, rather than the ones that would really stretch you. That's been my experience, at least, but perhaps it's time to push the boat out a bit.

Thanks for sharing!

Collapse
 
smuschel profile image
smuschel • Edited

First of all, I don't think that question should trouble you. You've worked on that project for several years. To me that's quite an achievement. I've been working on a project for more than ten years myself and I know that situation.
I never found the motivation to follow one of the many online learning sites, so if some technology is interesting to me, I usually try to create a side-project. Most of the time I choose something that is related to my day-job because that's easier to me. Taught myself to develop Eclipse plug-ins that way(which then became something WE heavily use at Work)

Collapse
 
jsrn profile image
James

Thanks for sharing your thoughts! I think in a lot of careers, but particularly in tech, there's a sort of pressure to keep up to date with new developments.

I see this impact newer devs particularly hard ("How can anyone learn Javascript? There's a new framework every week!") but it's a pressure that I've mostly managed to keep in check.

I like the idea of picking side projects that are related to your main one. I think that's probably a good way to pick up new skills around a comfortable framework of stuff you already know? And then as you say, you might end up learning something that directly improves your day to day.

Small clarification: I've been a dev for seven years, but my current project is "only" the last four.