Today is the first in a series of interviews with software and mobile developers, part of our ongoing blog series, The Developer Dive. In this series we’ll discuss with developers how their companies stay at the top of their game, strategies for staying productive, and their top advice for aspiring devs.
We’re starting by taking you behind the curtain at Dropsource with Sean Cheatham, one of our software engineers. Here at Dropsource, we help turn your ideas into mobile apps with our drag and drop editor. It makes the entire app development process more efficient than ever, and the apps you can build will be powerful and production quality.
So how do we keep our software ahead of the game and our team so effective? Read on to discover more about our team, how we work, and how one of our top developers stays sharp.
Name: Sean Cheatham
Job Title: Software Engineer
What type of apps do you / does your team work on?
Our company as a whole is developing a product which simplifies and accelerates mobile application development by removing the barrier of programming. Though a drag-and-drop interface, users will be able to design and develop applications from start to finish without ever touching a line of code. My specific team handles the automated source code writing and building of user applications.
What’s a day in the life of your team like?
As programmers, we each prefer different working hours and environments. Dropsource understands this about its developers and lets us work however we prefer. My particular team generally prefers a work-from-home environment, and as a result, our daily interactions tend to be done through group messaging and video conferencing. This system works quite well for us. Developers often thrive when given flexibility.
To keep everyone grounded, we hold “standup meetings” three days a week where we all physically stand up and take turns sharing daily goals and deliverables.
What are your favorite productivity and development tools?
My favorite development tool is my whiteboard desk. It’s a simple plexiglass sheet placed on top of my computer desk. It cost less than $30 to make, but in return I get a whole canvas to write on, take quick notes, draw diagrams, or design algorithms. This is perhaps the most powerful tool in my arsenal.
In terms of software-based development tools, I am a personal fan of IntelliJ IDEA, which is an IDE for a wide variety of languages. I’m also a fan of Ubuntu (or Linux in general) and use it as my primary operating system.
What’s your team’s workflow/PM approach? Agile? Waterfall? Kanban?
Our company officially uses Kanban; however, depending on the particular team, the implementation of it differs slightly. We don’t strictly follow any of the “buzzwordy” workflows or project management approaches. Following any of them to the letter destroys performance. Instead, we pick and choose the pieces that work well for us and implement our own workflows as needed. One size does not fit all, and any organization attempting to implement a project management approach needs to keep that in mind. The approach must be designed with the developers in mind.
Why did you become a developer?
When I was young, my father used to bring home old recycled computers from work. I was always fascinated by how they worked, and I started assembling and disassembling computers and gadgets at a very early age. Since then, I’ve always enjoyed anything technology, science, or math related. Computer Science ended up being natural to me.
How is your development team organized? How do you divide up work or accomplish tasks outside your skill set?
Dropsource has a small team with some brilliant minds. We are split up into smaller teams (roughly 2–3 people each) in order to compartmentalize our roles and skill sets, but we also collaborate and interact very frequently. Cross-team ideas breed creative solutions. Some of the ideas our front-end team come up with end up proving useful in the backend, and vice-versa. It’s best not to close off one’s mind with the goal of focusing purely on a single task or role. Be flexible and draw upon ideas from others.
What’s your best advice for an aspiring developer?
Pick a global cause which benefits humanity, be it education, science, medicine, sanitation, or any number of the growing issues plaguing our planet. Once you find one you like and about which you feel strongly, start brainstorming ways of solving them using programming.
What you’ll find is that since you actually care about the cause, programming is no longer work — it’s fun.
Even if they’re just small-scale projects which solve a tiny part of the puzzle, give it a try. Aside from that, my main advice would be don’t lock yourself into one programming language or paradigm. Explore as many styles and languages of programming as you can. Once you find one which feels most comfortable, learn as much as you can about it.
Anything else you want to share?
Always have a side project, even if your life is extremely busy and you can only devote a couple hours a week to it. You should never ever be bored with life. There is always more to do and learn.
Check out Dropsource for your next app development project. Our platform helps dev teams efficiently build & ship quality native apps by converting your team’s app designs into concise, extendable native source code.