Title: Software Developer
Years with Company: 3 years
- When he is not at work, you can often find Skyler spending time with his 2-year-old son Miles and his wife Jessica.
- Skyler has always dreamed of being an elite runner. Until that time comes, his personal marathon record of two hours and 25 minutes will have to do.
- Skyler graduated from Drake University with a Bachelor of Science degree in computer science.
What motivated you to pursue a career in software development?
Growing up, I was always interested in understanding how things worked. I built things, took stuff apart and tried to figure out why things work the way that they do. I was especially intrigued with computers. I wanted to learn how they worked and what they could do. It wasn’t long before I realized I could use a computer to do almost anything imaginable. When I went to college I thought something related to computers would be good for me, so I decided to major in computer science.
I really enjoyed my studies, and I learned a lot about the software industry and how to build things through a number of internship opportunities. This included becoming familiar with patterns that can be applied to software as well as different techniques that can be used to build software. Now that I’ve been in the field for a few years, one thing that I really enjoy is the fact that the sky is the limit when it comes to writing software and building systems. It requires the same level of craftsmanship as creating a chair or a dining room table.
What’s the most challenging part of your job?
Trying to stay up to date with everything in the software industry is both challenging and fun at the same time. There is plenty of new technology coming out all the time, whether that’s new computer programming languages or new methodologies for doing software development. Since the industry is really young compared to others, things constantly evolve and change. Another challenge is building the software itself. It’s not an exact science and there isn’t a set way to do something. So I have to constantly evolve my understanding of good ways to develop software. While it can be difficult at times, it appeals to me because I like to learn and I like to be challenged by learning.
Where do you go to learn new things?
This is going to sound really nerdy, but aside from going to conferences I also like to read research papers about emerging practices and languages. Another way I stay up to date is by following a lot of engineers on Twitter that have written books or have their own blogs. While it might not seem like it at times, Twitter is a great way for someone to express their ideas or pick up on new things that are emerging. Books are great, but they take so long to be published that the information can be outdated.
Aside from Twitter or research papers, my team is probably the best resource I have. One thing I like about Dwolla is everyone I work with is very smart. We always challenge each other to stay up to date on things through “lunch-and-learns” and other events. These are great ways for team members to teach each other about something they’re interested in or something that they’ve been working on recently. I feel blessed to be around people that challenge me and that I can learn from. It’s pretty cool and very unique.
What is the most exciting project you’ve had the opportunity to work on during your career?
Over the last year at Dwolla I’ve been working on building our infrastructure automation. This involves taking our application and breaking it into a lot of small services that we can deploy to a container environment. From there we use various techniques to determine how we would keep business functions running in the event that services went down. It’s an important part of making sure that our systems are up to date, fast and scalable.
From where or from whom do you draw inspiration?
I’ve recently discovered that there isn’t one set way to do something. This has helped me appreciate people who have been doing a similar job for a very long time. They almost become a craftsman that has developed tools and techniques that work for them. Eventually they pass on their knowledge and skills to apprentices, which is especially important within software development because we don’t have everything figured out yet. Other engineering fields are more mathematical and calculated, but software development is completely different. The industry is not that old so you have to constantly strive to learn more. Instead of trying to approach every problem the same way and trying to come up with the same solution you have to be flexible and innovative.
Fill in the blank. If I couldn’t be an engineer, I would be a “______________.”
I would’ve loved the challenge of being an elite runner, but it may be too late for that. My personal record for a marathon was two hours and 25 minutes. While that may only be about 20 minutes off the world record, that’s another level I can’t even imagine getting to.
What lessons have you learned from being a runner that can be applied to your career as a software developer?
When I build a system at Dwolla it takes a long time. You encounter roadblocks just as you would when training for a marathon. You might have a small injury or have to change plans. These setbacks also happen in software development. When I work on a new project there might be something that delays the date of the project or forces us to cut features from a project in order to deliver it on time. These same things happen, but we have to be persistent. Regardless of whether you encounter an issue training or working on a project you just have to keep going. You have to ultimately find a way to reach the finish line.
What’s one piece of advice you would give to aspiring engineers?
You can never stop learning, at least in the software industry. The second you stop learning you start becoming outdated. One of the best ways to learn is to have people that can mentor you and help teach you. Whether that’s reviewing your code or recommending a design for a system, anyone who has done it before is a very good resource. One of the best ways to predict whether a project is going to be successful is finding out whether that project has been done before and if the people working on the project have done it before. It’s much more likely to be successful if you have experience in what you’re doing. So good mentoring and constant learning are very important.
What does being successful at work mean to you?
For me it boils down to making sure the customer is happy. Whether the customer is my boss, the end-user of the software, or other developers on the team that are going to use this particular piece of software, if the customer is happy then whatever I’m doing is working.