Steve Miller

by Natalie Miller • @natalieatWIS

The evolution of the developer: Do more, better, with less

A Q&A with Steve Miller, Software Engineer, Avada Software

Published April 22, 2015

 
 

It’s an exciting time in IT as the world of technology continues to push the boundaries of what’s possible. The opportunities for promising developers in today’s market are vast, and for veterans in the field who remember the laborious days of yesteryear, the availability of new tools and innovations has led to more efficient and expedient development.

Experienced software engineer Steve Miller has been on the job for years and with Avada Software (www.avadasoftware.com) for the past four, supporting and developing its product, Infrared360. “My main role is to create new content and functionality for our customers based on their feedback and needs,” he says. “I don’t just immerse myself in the coding, design, and testing aspects. That is a lot of what I do, but I also get a chance to explore various tools, technologies, and methodologies that best support our efforts to create the best possible solution and end result.”

Insights Magazine sat down with Miller to talk about being a developer, and in this Q&A he discusses how far technology has come to better position the profession for success, how his experiences as a storm chaser and musician translate to his current job, and what makes working for Avada so unique.

Insights Magazine: What do you find intriguing about being a developer in today’s market? How does it differ from when you first started in the business?

Steve Miller: With the advent of the Internet, I’m kind of an older guy. In the mid-90s I started becoming really intrigued with web development, and I was doing a lot of things on my own. I knew IT was a career I really wanted to pursue as a profession. Thanks to the Y2K scare in the late 90s, they were practically digging up COBOL programmers from the grave and resurrecting them to write code. I say that tongue in cheek, but they were really desperate for coders.

That was my opportunity to jump in. There was a training program with a company to get my start as a mainframe programmer hacking out a ton of COBOL and JCL code. A lot of that was just changing two-digit years to four-digit years, but that was my foray into becoming a professional programmer. At the time, the client/server world was still in its infancy along with Java, which was a fledgling language at the time and is still coming into its own—and of course, web platforms like Servlets, JSPs, and Enterprise JavaBeans were starting to get noticed and be implemented into the industry. I still have my first books on those technologies, and I like to dust them off sometimes and flip through them—which feels like an archaeological study. When I look at them it really helps me put in perspective just how far our industry and technology has progressed, and it’s basically in terms of light years in the span of about 15 years.

That to me is really the most intriguing part of being a developer today versus my first foray into the client/server platforms. Today, we enjoy a wide variety of devices from desktops to mobile devices and even those you can wear on your wrist now like something out of a Dick Tracy comic book. Everything is plugged into the Internet, including your vehicle, your home, even your kids and your dog. Not too long ago my daughter went to a drug store, and they now have a walk-in clinic that’s managed by a registered nurse, but you interact with a doctor over the Internet who can reside pretty much anywhere in world. With the help of the on-site nurse who can do a full examination and run some basic tests, the doctor is able to assess the condition and prescribe a treatment. To me, that’s a benchmark in just how far we have progressed and where we are headed.

I could go on, but my point is that the progress has been nothing short of astounding just in the last 15 to 16 years. The intriguing aspect for a developer in today’s market is the myriad of tools and technologies that help us develop applications more efficiently. There are so many things you can do as a developer these days. It’s almost overwhelming the opportunities available out there for someone looking at a career as a developer.

‘Keep your mind open’: Miller’s advice to young developers >>

 

Steve Miller shares his pearls of wisdom and gives his advice to young developers entering the job market today:

“I’ve seen my fair share of young developers coming out of college or technical school, and, this is just my opinion, it’s been my experience that what they are taught in college doesn’t really apply to the real world in some instances. That is nothing against professors and educators, but it’s hard to teach some of those skills if you're not really involved in the daily world of implementing IT—from writing programs to supporting business objectives and requirements—with time and deadline constraints.

My best advice is to find a group of programming professionals—and there are many clubs and groups out there—who work in the real world and have experience, and get feedback and advice from them. Be open-minded when you do get your first job and know that there are going to be some things that you will have to learn that they didn’t teach you in college. Be very flexible and very adaptable, and keep your ears open and keep your mind open.

The second thing is, sometimes cutting- and bleeding-edge technologies end up being flash in the pan. They may look good, they may be all sparkly and shiny and seem like the next best thing, but a lot of times they're not. And you have to be very careful about chasing those shiny objects. Always be mindful of existing technologies and existing methodologies that are proven over a period of time to be stable, and always ask yourself if the proven and stable technologies do the same job as this new shiny cutting-edge stuff that is coming out. The older, more stable technologies and tools have been around for a while, they are very mature, they have lots of support—especially if you are dealing with open source technologies—and there's a lot of documented information out there, from how-tos and examples to textbooks and online references. There are a lot of things to consider when deciding to go with cutting-edge technology verses something that has proved itself.

X Close

But back to how it affects me, it’s nice not have to worry about writing and maintaining a ton of boilerplate code—which was a bit of a nightmare and you could get bogged down in that. But now, with all the tools and technologies, I am better able to focus on coding design and implementation to produce an end result. It is becoming easier to develop something that works across different platforms and devices. Basically, we get to enjoy doing more with less.

IM: How has this progress changed the way you approach your job?

Miller: I don’t have to spend time debugging a bunch of boilerplate code. Instead, when I start my day, I am able to focus more on how we are going to implement a solution for a particular problem or a need from one of our customers. I’m thinking more in terms of solutions and implementation first, before even writing code. We still have to write a lot of code; there is no getting around that, but there is a lot less concern surrounding that, which lets me focus on developing a better software product.

IM: I hear you were once a storm chaser, which I find fascinating. In what ways have you been able to take that experience and apply it to your work as a developer?

Miller: I’m also a musician, too, and there are a lot of similarities between being a musician, a storm chaser, and a developer. In storm chasing, you have to scrutinize and analyze a vast amount of data to determine the best location to set up at in order to see the best storm of the day. You’re trying to put the odds in your favor, and there’s a lot of meteorology and science that goes on behind that. Even just as far as where to drive to set up and wait.

Once you make the drive to your target area and you are waiting for a storm to develop, the data analysis never stops. It is constant; because you may want to tweak your target area a little bit, and that will affect your strategy for intercepting the storm. Even when the storm begins, you are still constantly analyzing the behavior of the storm both visually and on the radar. And then you have to combine that with safe navigation around the storm, so you have to analyze available road networks and potential escape routes. There is a lot of intense data analysis that’s going on before and during the chase.

I find quite a few parallels with this as a developer. As a developer I also constantly analyze and scrutinize data to write code and design in order to deliver overall functionality and performance for the end user and in our case, our customers. And just like in storm chasing, if you aren’t diligent about processing and analyzing the data and doing it correctly, you can find that the storm is chasing you—and that’s not a good situation to be in.

There are other aspects, too. You have to be very patient; you have to be very flexible and adaptable to the situation in storm chasing, because Mother Nature doesn’t always play by the rules or do what you expect. It’s the same thing in developing a robust product like Avada's Infrared360. We have a myriad of customers who we respond to—and we respond to a lot of their individual needs. That requires a lot of flexibility and the ability to change course sometimes on what you are doing to make that be successful. 

IM: As a developer who has worked at other companies in the past, what makes working at Avada unique?

Miller: Companies are a reflection of the people that run them. I know that sounds basic, but with Avada, that’s absolutely true at every level. In our company, everybody takes ownership of our products and services with a dedication to be the best in our industry. There’s just a really deep drive and passion to be the best. The reflection of that shines more brightly through the leadership, vision, and knowledge of both Peter D’Agosta and Rob Sordillo, who both founded Avada and are the reasons the company has grown as rapidly as it has. Not only are they smart and well-versed in the challenges and the needs of the industry, they are some pretty nice guys, too. They are quite a pleasure to work for and they always listen and collaborate with us—I feel like I have a major part in shaping the direction of the company and our product.

IM: What is the culture like at Avada among the engineering team, and how does working remotely from a home office change how you approach your job as a developer?

Miller: Each of us are experienced veteran developers with unique skillsets and a knowledge base that we bring to the table. All of that knowledge is freely and enthusiastically exchanged between each member of the team on a regular basis. That all makes for a pretty powerful combined collaboration effort for the whole team. For me personally, it keeps the job fresh and invigorating because there is always something to learn from my other team members and especially Rob, who is quite the guru.

Any work situation has its pros and cons, and one con to working remotely is I don’t have that personal interaction on a regular basis. However that is a very small con in the whole scheme of things, because there are a lot of pros. As developers and software engineers, one of the worst environments to work in is a cube farm or a busy workplace. There are far too many office distractions, useless meetings, and constant interruptions going on that disrupt the deep, critical thinking we require.

I don’t have that in my work environment now. I am able to deeply immerse myself into what I am doing, and I feel like I’m five times more productive in this environment than I would be in a typical corporate environment. Most of our communication at Avada is via email. You have to write more detail in an email, but it also allows me to be very concise with my thoughts as well as accurate and detailed in my analyses. In addition, rather than someone interrupting you at your cube or office when you are right in the middle of something, email correspondence gives you that time to reach a good stopping point so you can appropriately address the note. Typically once per week I have a review session with Rob to give a status update of everything I’m working on and the direction I’m headed. Sometimes we share screens using Skype. This helps keep us on track and is also a good opportunity to go over any issues or questions that come up. We have a chance to clarify in detail and fine tune the business requirements and our solutions as we go along.

It works very well for us, particularly in maintaining steady progress on a weekly basis, and it really minimizes the need to go back and redo parts of the code or completely reengineer something from scratch. We very rarely have to do that, which also makes us more productive. Overall, the culture among our engineering team at Avada is one of a spirit of cooperation. Everyone is very enthusiastic, very reliable, and, of course, very knowledgeable. And with that there is deep passion in what we are doing, and I think probably the most important thing is trust. It seems more like family than anything else, and they are all fun to work with.

For more information about Avada Software, visit www.avadasoftware.com.

 
 

Comments

No one has commented on this item.