Dave is a consultant and freelance web developer who does both front-end design for applications that provide analytics and marketing landing page design. Due to the sensitive and confidential nature of his government contract work, he has asked that I refer to him by his first name only. Dave is currently employed at a small consultancy in Virginia, and in his spare time, he does freelance web design for several small companies based in the Baltimore and Washington, D.C., area.
Prior to earning a bachelor’s degree in computer science, Dave taught himself basic HTML when he was in middle school, and later took a few programming classes as a high school student. I connected with Dave through a colleague, and he was kind enough to answer a few questions about his experiences and career as a website and applications developer.
How did you become interested in web development, and how did you get started in the field?
I was always interested in software development as a creative outlet. I originally got into engineering because I wanted to develop video games, but became discouraged from pursuing that as a career before completing my education. While in college, there was a lot of [negative] publicity about people in that industry being overworked and underpaid. My brother is also an engineer, and he recommended that I interview with the large government contractor where he was employed. They gave me a fine offer, and I accepted it and did many years of uninspired work.
When the iPhone was released, I again became interested in software as a creative outlet. The proliferation of the iPhone seemed to have led the government to take an interest in better designed, better looking software. This led to me joining a smaller government contracting company and working on projects that involved a lot of web design, which was the closest I could get to doing app development while retaining career stability and my standard of living.
What’s your favorite project you’ve worked on? What about your least favorite project? Can you explain what made these projects your favorite/least favorite?
My favorite project was a single-page web app for a government client. It was a very complicated application, but I worked on a small two-person team with someone for whom I have a lot of respect. We accomplished a lot in a short amount of time. I found a lot of joy in this project because of the sense of accomplishment that came from designing and implementing a full-fledged product with such a small group and over a short amount of time. It taught me a lot about how important good chemistry is when working on teams, and how truly beneficial it can be to have assistance from others when working. It also taught me that nothing is insurmountable when you are in the right situation.
My least favorite project was a large government project that involved maintaining a poorly designed contracting/procurement application. It was not enjoyable because there was no expectation or desire for quality and efficiency, but rather, we were expected to follow a flawed process full of red tape.
What is your preferred programming language, and why?
I have been enjoying working in JavaScript with the AngularJS framework, because of the speed in which you can create a well-functioning, highly-visual output. Familiarity with CSS has also led me to be able to develop something aesthetically pleasing with relatively little effort.
What are your favorite customizations or features to add to your sites or applications?
I like sweating the details. For example, making sure that a site functions under all resolutions, like the smaller iPhone SE, which web developers frequently omit and as a result cause undesired scrolling issues. I also like to make sure high-density screen resolutions are properly supported, so that images aren’t blurry and upscaled. These are the kinds of small details that exhibit that care went into development.
What are the best and worst things about web development?
The best thing is when you make a minor CSS tweak and it makes the entire design click into place. Something like a font weight, or border, which turns a decent design into an excellent design. The worst thing is the sheer volume of web frameworks and buzzwords in the industry. I have no interest in always using the newest, trendiest technology, and web development is fraught with that.
Can you share any helpful (free) resources or tools for debugging a piece of code?
I’m typically able to complete all work using Stack Overflow for consultation, and the Google Chrome Development Tools to debug code and layout issues.
What sites do you have bookmarked to refer to when coding a site or developing an application? You mentioned Stack Overflow–why is that a go-to site for you?
I always start with a Google search, and then favor any results from Stack Overflow. I find Stack Overflow to be the most useful because it is self-correcting. There are several different ways to solve any programming issue, and their ratings system is an easy way to evaluate the answers that present each method. It’s also helpful to have comments embedded from users right next to the answers, which will warn you about possible pitfalls in using that approach. The one exception to my “Stack Overflow first” rule is when I have a more generic question that has a lot of components to it–something like “how to get started doing [x]”–in which case posts from independent blogs tend to be more useful because they’ll provide detailed walk-throughs with plenty of lists and screenshots to assist.
In your opinion, what qualities make a successful web developer, and why?
It helps to be a perfectionist. There are a lot of different operating systems, browsers, and devices to support, and you need to always be diligent in making sure that code changes did not introduce regressions. Working with JavaScript is problematic because it is not as easy to detect code errors as it is in a compiled language like C++ or Java. JavaScript is easy to write but tends to be overly accommodating for code errors.
Do you have any advice you’d be willing to share with beginner developers?
Don’t fall for the startup/overwork culture. If a company offers you three free meals, it’s because they expect you to be available at work all day. All jobs have occasional crunch times, but you’ll never be truly rewarded for pushing yourself too hard and spending time away from your family unless you have ownership stake in the company.
What are your interests outside of web development, and do they overlap with your work?
I am interested in music, cars, creating cocktails, and architecture/home improvement. These are very different from my profession, but there is an overlap in terms of my overall drive to create the best possible product and find the best examples of a craft.
Is there anything else you’d like to share about yourself, your work, and the field?
Our field is in very high demand. Make sure you do something you like and surround yourself with colleagues you respect.