Meet Front-End Developer Kris Bulman

Meet Front-End Developer Kris Bulman

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 themer and front-end developer, too? Check out our role-based learning pathway: Work with Drupal Themes and Front-End.

Kris Bulman

Kris has been theming Drupal sites and working on the front-end since 2007. He's done a lot of work in the open source world, including being a co-maintainer of Drupal’s Zen theme.

Senior Front-End Developer

Where to find Kris:

How do you define the front-end developer role?

A resourceful generalist. The front-end role in 2015 demands expertise in multiple areas, such as prototyping, accessibility, performance, automation, CSS, HTML, and JavaScript, as well as a handle (at least) on a major language such as PHP, Ruby, or Objective C. While a front-end developer (FED) may specialize in a particular area, the rest is still required. There’s a great deal of reliance on the information provided by others, be it peers, blog posts, YouTube, or Stack Overflow, so being resourceful is key.

How does being a front-end developer relate to being a Drupal themer and vice versa?

I started out as a Drupal themer, learning how the theming layer worked, and the "Drupal way" to do things. I gradually grew into a front-end developer as the industry's new technologies and information quickly progressed. Drupal has its own challenges, and sometimes an opinionated (and outdated) approach to the front-end, so it’s even more of a challenge unwinding some of that. In a nutshell, the frustrations I encountered in Drupal helped me grow outside of it. Drupal theming to me now is just applying a front-end developer skillset to a CMS. The skills that I attained as a themer give me a needed edge to be able to work faster in Drupal.

What do you currently do for work? What does your daily routine and work process look like? What kind of tasks do you do on a daily basis?

I’m a Senior Front-end Developer at Lullabot, and have been with the company remotely since March of 2013. Each day I set out with particular problems to solve, and generally do a bit of planning (lists!) and research (stackoverflow!) before acting on them. There are also a great deal of communication syncs. If I’m stuck, I’ll generally rubber-duck a concept with a peer—usually through talking, we can hammer out a plan.

Every project has a set of routine processes that were worked out by the client, or by the initial developers early on in the project. The individual tasks are dependent on those factors. Variables can include the ticketing system, versioning system, code review process, tool choices, framework choices, etc.

On a Drupal theming project, for any given bug fix or feature, I may need to do site-building, create view modes, modify templates, CSS, and JS, add config changes to features (the module), write tests, and run linters before submitting for a review. In a React project, I might need to fake some back-end data while I build out a component in CSS, JavaScript, Markup and perhaps some external libraries. This process sometimes requires refactoring and splitting out other parts of code into new components, to make things more reusable and flexible.

What do others look to you to do on a project?

Make front-end architectural decisions, complete a good number of assigned tasks for a given sprint, alert PMs when something will take longer than it should, assist others with problems, make things accessible and performant, and write readable code with good documentation.

What would you say is your strongest skill, and how have you honed that skill over the years?

Communication. I’ve always felt that peer and client communication are the most important aspects of problem solving and hitting project goals. Without good communication, entire features could be built out and discarded later because they weren't built as intended, or hadn’t been thought through enough. I honed this skill by failing at it, many times.

How did you get started on this career path?

I started my professional career doing studio and panoramic photography, which led to creating interfaces for clients to display their content in Drupal, and eventually building sites for clients. When I’d had enough of freelance work and lived through a failed business venture, I began working for a university as a Digitization Technician. This was a job that allowed me to couple my skills in technical photography and web development. I generated large amounts of content (scanned and photographed archival material), then assisted with its digital display in a repository that displayed and queried the content using Drupal. Eventually, this progressed to a passion for Drupal theming, and I discovered that front-end development was what I wanted to do for a living.

What is most challenging about being a front-end developer/Drupal themer?

Context switching. Working on so many levels (Sass, JavaScript, performance, automation). Switching between tasks takes time, and time is a hot commodity.

What are your favorite tools and resources to help you do your work?

I frequent, Stack Overflow, and my peers' hivemind for information and ideas when coding. For a code editor, I use PHPStorm/WebStorm, depending on which editor is more up to date for the current project. For project tools, I most notably use npm, Bower, Grunt, libSass, autoprefixer and SVGStore.

If you were starting out as a front-end developer/Drupal themer all over again, is there anything you would do differently?

I would have read more JavaScript books. For quite some time in Drupal, I just got by with jQuery, and had no real training or broad knowledge of JavaScript. Now, JavaScript is the forefront of so much in the front-end world, it’s paramount that we have a solid grasp on it.

What advice do you have for someone just starting out as a front-end developer/Drupal themer?

Concentrate on the essential skills as a FED (JavaScript, CSS [Sass], HTML, accessibility and performance). Don’t worry about CMS-specific quirks, there is enough information out there that well-coordinated searches will get you the answer when you need it. Drupal will bend to your will, and don’t be afraid to do new things if it makes more sense than the “Drupal way”.


Add new comment