A developer is one of those terms that seems to get thrown around a lot with varying degrees of accuracy. One company consideres a developer to be something that another company might determine is another position entirely. However, the base meanings are, more than likely, the same: a developer is a person that develops software or hardware with either code or schematics.
For our specific case, seeing as how we only build software here at ShipStation, we reference developers as those who are building, fixing, and improving our platform every single day through hours of programming (coding). To get some insight into a developer’s mind (what’s funny is that they really do think a bit differently from all that logic training), I interviewed our lead developer: James.
Tell me a bit about your background.
Some of you may know this from my office decorations, but I love comic books and I’ve collected them since I was a kid. I loved them so much I even envisioned myself to be a comic book artist when I grew up, and traced the art in my books. They always looked a little bit off, but of course, when I tried drawing them on my own, I found out I had absolutely no artistic talent whatsoever. Luckily, my dad started studying chess around the time of my realization and he brought me into that world and taught me the lay of the land, so to speak. And I latched onto it like nothing else; I played constantly. Learning chess and being governed by its rules I think really helped me become as logical as I am and shaped me into the programmer I am today.
What made you want to be a developer?
It was my dad. He’s been in computers for his entire career (he does more hardware work, like server maintenance and mainframe work.) He knows a lot of the old school languages like FORTRAN and COBOL, and since it’s expensive for large companies to build new infrastructure using the newer languages, guys like him are always needed.
Can you describe a typical day for you?
Hah, not really. My mornings usually go the same way, though: on my drive into work I create a plan for what that day will encompass. By 10am, it’s all shot to hell. However, I have to say it’s one of the things I like the most about my job: I’m always challenged. There’s no shortage of puzzles or challenges that will come with each new day. I think it’s also one of the reasons why I’m a “company” developer versus a “freelancer.”
What’s the difference?
Well, in a very broad and generic sense, you basically have two different types of jobs when it comes to development: choosing to work on a singular project that you never touch again, or coding for a company where you’re always working towards a bigger and better product. There are, of course, many more ways to categorize developers, but these are the two basic groups.
When you’re “in the zone,” is there any music or specific things that you do to help you focus?
Music, for sure. When I’m working on something and I’m really grooving, music that doesn’t have any words or lyrics helps the most. It’s usually in the realm of trance and electronic, but I’ll throw some “regular” classical music in there to help. (This is one of my favorites.) I think what genre I choose really depends on what I’m working on in that moment. It’s really there to help negate any potential distractions from overhearing conversations or anything else that my brain might pick up on and completely derail my train of thought.
I think one thing that people might not understand about developers is that everything in coding is relational. You have a set library of commands you can use and ways with which you can manipulate the data, and it changes with each piece of a product I work on. Every time I go in to work on a blog of code, I have to wrap my mind around the logic of whatever module or piece of the product I’m working on, and it’s usually different from the other pieces of that product. So, every distraction I have pulls me away from that mindset, and to code any further on that piece, I have to get myself back into that mindset. It’s one of the reasons why you’ll usually see devs with noise-canceling earbuds and a dark room; it cancels out as much of the surrounding distractions as possible.
What’s your favorite thing about being a developer?
It really goes back to the challenge. I very much enjoy doing all sorts of puzzles: crossword, chess, video games, etc. and all of the problems I’m tasked with solving challenges me. One of the biggest things to know about programmers is that we’re always learning. We’re always figuring out new ways of solving things and better ways to solve problems with new technology or new methods of thinking. I really enjoy that challenge and that I’m honestly never bored.
Have any questions for James about being a developer? Ask us in the comments!