An Interview with a Back End Developer

Kenzan + Sourced
4 min readJan 24, 2018

--

While front end development tends to get a lot of attention, we’d like to shed some light on the developers and engineers who work behind the curtain to ensure that the website or application you’re seeing is firing on all cylinders.

Back end developers play a critical role on Kenzan teams, managing and building everything from servers to databases and all the things in between. To learn a little bit about what it’s like to be a Back End Developer, I spoke to one Kenzanite, Nicholas Sledgianowski (aka Sledge), who’s been at Kenzan for 3 years and works out of our Denver office.

If you’re interested in joining our team of back end developers please visit our careers page for more information on our open positions.

Tell us a little bit about yourself and your experience.
I have worked as a software engineer for around 5 years with exposure to both the front and back end of websites. My original plan was to be a physics researcher but I switched to software during my college years. I live in Denver and enjoy hiking and ballroom dance.

How did you get into computer science/development?
In high school I tried to get into game programming with C++, I did not get very far but I took an introductory C++ class in college that got me hooked on programming.

What kind of projects do back end developers work on at Kenzan?
Typically, our setup is a single page web application with many microservice APIs behind it. Back end developers mainly work on Java APIs and sometimes data pipelines supporting microservices. We would be responsible for supporting logins, authentication, designing database tables, database migrations, debugging production issues and caching systems. At Kenzan, back end developers can expect to be involved in everything behind the JavaScript running on the client’s machine.

What’s been your favorite project? Why?
My favorite project was a data pipeline we built to provide a unified user data layer on top of 3 legacy user databases. The client had undergone a merger and was moving all users onto a unified site. We had a Kafka topic which the legacy systems published changes to, then an Akka cluster handled denormalizing the data and writing it to a Cassandra database. I got to spend some time optimizing our Cassandra driver’s write throughput which was a blast!

What’s your favorite programming language? Why?
My favorite programming language is Clojure. It is really beautiful to work with and has very powerful abstraction and polymorphism features. Clojure is not the best language for web development but it is great in other contexts. I recommend checking it out whether or not you have played with Lisp before.

What technologies are in your tool box?
It is more of a question of what technologies are not in my tool box. I have done a little front end, a little mobile development, a lot of back end development and DevOps. I try to stay away from the front end and the JavaScript ecosystem, it moves quickly and I only have so much time. I like to know everything about everything so it is important for me to ignore things to avoid being stretched too thin.

What’s a new technology that you’re psyched about?
I am pretty excited in GRPC and its multi-language compilation capabilities. Other than that I want to try and build things with all the machine learning APIs we have available nowadays.

What qualities do you think make you a good back end developer?
I am really good at reading which helps because there is a lot of code in a typical project and if you really want to know what is going on you need to read a lot of it. Code is written by people and you can get an idea of what patterns and thought processes went into a program from reading it.

Where did you learn your skills?
Most of my skills came from programming and the free resources on the internet. There are blog posts for everything you can imagine in information technology today. I am always reading about projects people have done online and trying out their open source software. A few good places to look for ideas are news.ycombinator.com, http://highscalability.com, and https://blog.acolyer.org/

What’s the best piece of advice you’ve received at Kenzan?
I think the best advice I have gotten is to use the dependency management tools in Maven and Gradle (ex. mvn dependency:tree) to help you figure out tricky dependency conflicts. Without that you can get stuck for days trying to work dependencies out. My best piece of advice is to read the book The Phoenix Project if you want to understand project managers, it is like fables for project managers.

To see our Back End Developer open positions at Kenzan, visit our careers page.

--

--

Responses (1)