Daniel Lieberman is a 30-year-old software developer at the Atlanta office of Square, the payment processing platform. Prior to that he worked at companies in several industries — including manufacturing, options trading and business-to-business software.
Why did you get into this line of work?
I’ve been interested in writing code since I taught myself how to program a TI-83+ graphing calculator when I was 12. I took several programming classes in high school and loved being able to harness the power of a computer to do what I wanted. Every type of software has something different that’s exciting about it. Whether it’s doing complex computations, controlling when the motor of a machine spins, or processing your credit card swipe so you can buy lunch, I love seeing how code that I’ve written can affect the real physical world.
What does a typical day for a software developer look like?
Days can vary, but I typically spend several hours a day planning and implementing code changes. Communicating with others is also a major element of being a software developer. You have to collaborate with others on projects — speak with customers to identify pain points, align within and across development teams on projects and goals and communicate status updates to keep project schedules up to date.
What do you like most about your job? And least?
I really like the opportunity to think creatively to solve challenging problems. It’s rewarding when you’ve spent a significant amount of time trying to figure out the best way to make something happen and then figuring it out and having it go into production. Depending on the type of project you’re working on, lines of code you’ve written could be executed tens, hundreds, thousands and even millions of times an hour or even much more.
The thing I like least about being a software developer is probably the on-call rotation. Most software products need to be running 24/7/365 with almost no downtime. When things go wrong in the middle of the night, the on-call developer gets paged. Being woken up late at night can be frustrating, but it can also be another exciting opportunity to solve a challenging problem under pressure. The on-call rotation on my current team is pretty good; I’m typically on-call for one week every two or three months, and most days the on-call developer on my team doesn’t have to do anything outside of normal business hours.
What’s the most common misconception about your job?
A common misconception about software developers is that we’re social misfits who prefer to sit in the dark with our computers and nobody else around. Software developers are as diverse as the general population, and many of us enjoy being around others. Communication and collaboration are extremely important parts of our job, so we need to be able to work with other people.
What do you wish you knew about the job before you got into it?
I wish I’d known how many different types of software there are and how different they can be. Coming out of college, I kind of just thought “code is code” and I could just as well work in any industry. In my experience, though, working on projects that you believe in and that you think make a difference to customers and to the world is a far more enjoyable experience than just writing code you have no emotional attachment to.
How did you train to become a software developer?
I had a recurring summer internship while I was in college while I was earning a degree. Fewer and fewer companies are requiring these academic credentials anymore, though. Many people are breaking into the industry nowadays by self-teaching and coding bootcamps. This route is hard work — likely harder than the college route — but the snobbiness about education credentials is slowly being removed from the industry.
Is there a time where you felt your job made a real impact on someone’s life?
Square is a highly mission-driven company. I regularly get to see how the work I do helps many small businesses who are left behind by large financial institutions. Working as a software developer has a really amazing advantage over many other jobs, which is that we are needed in pretty much every single industry. Whatever way of helping people speaks to you the most — just find it. The people who are helping will need software developers.
Why would you recommend that someone go into software development?
I would recommend someone go into software developing because it’s a job that allows you to exercise your creative and analytical skills every day. You have the ability to make a difference in whatever industry is most interesting to you because every industry needs software. And it doesn’t hurt that it’s generally a well-paid job!