Drupal Developer Career Advice
Over the past few years I've been asked career advice numerous times by Drupalers. After some recent discussions I realized there are a lot of Drupal developers who may be interested in the same thing. So, without further adieu here's my advice for the moment.
Know Yourself
Knowing the details about your personality, strengths, and weaknesses can really help you navigate your career. Consider using toole like Strengths Finder and learning your Myers-Briggs type.
None of these is perfect or going to tell you everything. But, they can provide you useful insights into yourself.
Focus On Your Strengths
When I was growing up a common piece of advice was work on your weaknesses to become more well rounded. This was bad advice.
Focus on your strengths. Avoid the things you are weak at. Good ways to avoid them are to outsource that work or partner with others who are strong where you are weak.
You can't remove doing all work you are weak at. If you can't avoid it spend as little time doing it as possible.
Don't Hitch Your Horse To Just One Wagon
Focusing solely on Drupal development is a bad idea. Before you jump to the comments to argue with me hear me out.
Few technologies stand the test of time. If you go back 5, 10, or 15 years on the web you can see how much things have changed. Good projects from the past have come and gone. Careers tend to last longer than any piece of technology.
Doing just Drupal work can pigeon hole you into just Drupal work. You might find yourself looking for work and people aren't interested. Or, you want to work on a project and they want someone more well rounded.
What does this mean practically? If you are a Drupal back-end developer write something that's not in Drupal. Maybe a PHP CLI application using Symfony. This is a good place to start and you'll learn a world of other technologies without ever leaving PHP.
If you focus on site building put in some time to using Wordpress, learn about information architecture, spend time learning customer experience, and so forth.
If you are a front-end developer learn other templating systems. PHPTemplate, the system in Drupal, is a one off solution. Learn other setups like Twig, haml, or one of the other popular options. Use SASS or Less.
If you're feeling really daring, pick up another programming language or learn DevOps.
Learn, Learn, Learn
Technology is always changing. What's important in technology is always changing. Go back 5 years. There was no focus on front-end performance. Now it a sub-industry of development.
Always keep learning. Put aside some time each weak for continuous learning.
A 40 Hour Work Week
Don't work too much. 40 hours average per week is enough. For some of us it might go up to 50 hours per week. Don't go higher than that if it's within your power. I include side development and free time contributing in this category.
When not working on code do other things. Spend time with family. Have hobbies. Relax. The life we live has so much more to it. People to love and be loved by. Beauty to take your breath away. Friends to have a beer with. Enjoy these things.
By doing this it's easier to focus when at work. Creativity is more likely to flow. There is a desire to get it done rather than dillydally. The focus, creativity, perspective, and added joy you have will show up in reviews, interactions with others, and your career path.
Take Part In Mentoring
Have a mentor. Mentors have experience they can share. The kinds of things you can't learn from Google. Well, not yet anyway.
They can talk to you about your career. They can help you see things in ways you don't know about. They can point you to technologies you should look at. They can introduce you to others. When jobs come up they can be references. When they know of good jobs they can point you to them.
Have a mentor. Pick one carefully.
Stay Focused
There is so much technology. So many shinny things to distract us. Don't let the distractions take over. Not every problem is yours to solve. Don't go down all the rabbit holes. You might end up in wonderland and have a great time. But, if you can't get your work done it's a problem.
I allow myself some distractions. They are fun and some turned out to be useful. But, the time is limited and the types of things are limited. Just like my backlog, I try to keep a prioritized list of the ones I'll let myself do and a time limit I can spend on them.
Keep the main things the main things. Don't let distractions stop that.
This list isn't trying to tell you where to go. We all have different paths. The idea is to go down your own path without getting stuck and have a good time doing it.