This interview is part of an ongoing series where we talk with a variety of people in the Drupal community about the work they do. Each interview focuses on a particular Drupal role, and asks the individuals about their work, tools they use, and advice for others starting in that role. You can read all of these interviews under this list of Drupal roles posts.
Interested in learning how to become a Drupal developer, too? Check out our role-based learning pathway: Become a Drupal Developer.
Mike is a senior developer at CTI Digital currently working on rebuilding london.gov.uk. Others look to him to solve complex technical issues for a range of projects. In this interview, Mike shares his perspective on the Drupal developer role, what that entails, some tools that are important to him in his work, and the vital importance of coffee.
Where to find Mike
How do you define the Drupal developer role?
This is a tough question—these days, a developer role takes you all over a site. You can be doing back end development, front end, or more systems work. For me, the role is more traditional; it lies in writing code, and providing solutions for client requirements.
What do you currently do for work?
I’m senior developer on a team working on rebuilding london.gov.uk.
What does your daily routine and work process look like?
- Morning: Coffee
- Mid Morning: Coffee and code
- Lunch: Coffee and code
- Afternoon: Coffee and code
- Evening: Whisky and code!
What kind of tasks do you do on a daily basis?
I usually work on quite technical tasks; usually integration tasks, new functionality, or bug fixes. As we’re pushing towards going live I’m working on performance improvements and reducing technical debt.
What do others look to you to do on a project?
I’m often looked at to provide technical solutions for client requests and issues that people are facing on a range of projects. I’ve done a fair bit of work with Vagrant so I manage our project's setup.
What would you say is your strongest skill and how have you honed that skill over the years?
Problem solving. I’ve learnt to analyse a situation before jumping into a problem and quickly became adept at using various tools to debug application level problems.
How did you get started on this career path?
Originally I started out working on custom ASP CMSs. I decided that there had to be a better way, so I began looking at the three major (open source) frameworks: Drupal, Wordpress, and Joomla. I found that Drupal offered everything I needed, and had an amazing community.
What is most challenging about being a Drupal developer?
Keeping up with major core releases (5>6>7>8) in a commercial environment. With new releases of Drupal, I always want to jump on to it and start creating new applications and modules, but it’s difficult when there are commercial implications.
What are your favorite tools and resources to help you do your work?
iterm2 with oh-my-zsh, solarized, bulletline — I spend much of my day in the terminal, so I have to make sure it’s exactly how I want it.
PHPStorm — It goes without saying this is the best IDE out there at the moment.
XDebug — An excellent debugging tool.
Raindrop Keyboard — Hand built 60% keyboard with Gateron Brown switches. Having the perfect keyboard is such an important thing for me. Without it I wouldn’t be as productive, even if my colleagues don’t like how loud it is!
If you were starting out as a Drupal developer all over again, is there anything you would do differently?
I’d look more into Computer Science. With Drupal 8 coming up, I feel that developers will need to have a stronger grounding in object-oriented (OO) programming.
What advice do you have for someone just starting out as a Drupal developer?
Don’t just focus on Drupal, look at other frameworks out there. You can learn a lot of things from Silex/Symfony by just playing around with them and then apply them to Drupal.
Start looking in the issue queue for novice issues, it’s a great way to get used to how the Drupal issue queue works, and it’ll help you keep up to speed with the latest and greatest version of Drupal.