An Interview with...
ERIC ASHMAN
It has been a long time since I've sat down and been interviewed for a role or job. Most of the work or projects I've been involved with over the years have been through networking, contacts, and recommendations from colleagues.
However, I do think given my broad experience over the years, working as a tech leader in all kinds of industries including cybersecurity, healthcare, education, marketing, consulting, sound engineering etc. makes it difficult to sense what I'm about professionally and what makes me tick.
So the other night, I had an idea: imagine you are being interviewed by a magazine that is trying to learn more about the work you do and what you are like personally.
This is done all the time in the music and arts world - and as you will read, I feel like succeeding in certain aspects of technology requires very similar thinking to working in creative fields like music.
So, here's my 'interview' with "Modern Technologist" magazine about what I do and why I do it.
MT: So let's start with how you would introduce yourself these days. What do you do?
EA: I've spent the last 5 years working as a consultant for various small businesses to help them either modernize or create new software to help them run their businesses. In most cases, these have been tools and utilities that allow them to streamline things that they are doing in their main business back office or help them communicate with employees or customers more effectively.
Many companies waste huge sums on software that doesn't match their needs. It often is generic and mis-applied or is hacked together with tools that were not intended to be used the way they are. The number of Excel-driven businesses out there, prone to all sorts of errors and inefficiencies is astounding.
On the whole, while the level of comfort with web-based or mobile-based business tools has increased a lot over the last 10-15 years, many businesses who aren't actually in the technology field have very outdated approaches to how they handle information digitally.
Since I spend a lot of time investigating different technologies, use cases, and applications of these across industries, I can spot quite quickly the best approach to make software work better for a business.
In these positions, I get to use a lot of different skills. I get to communicate with the stakeholders on the business level but then I also get a chance to contribute to the software and development operations of the solution. I like being able to do both.
I assume that means you have to keep your skills fresh to still be able to contribute on the technical side?
Absolutely and that’s the advantage in helping small businesses or divisions within a larger organization. They need prototypes and MVPs fast to be able to justify the project. They want people who can adapt quickly to the constantly changing needs, especially if they are just articulating them for the first time.
What I do to stay up to date is to build small test projects for myself regularly to test the newest tools, see how they compare, and determine if they might be worth trying or implementing on production-grade projects.
For a long time, I spent most of my days working in the DevOps field. I was involved in that before that term really existed. I was running Linux servers when the first distributions were created in the mid 90s. It took over ten 3.5 inch floppies to install it! I still run Linux as a VM or on a small PC next to my main Mac to do certain tasks.
But I am also a fairly competent Ruby on Rails developer which is a great skill. Rails really set the bar for framework-based development that has worked its way into all sorts of even newer tools in the past 15 years or so.
Plus, Rails is in the midst of a revival. The latest versions and tools coming out since Rails 7 have rebooted the popularity and usefulness of the framework. It has made Rails that much more attractive for building really great, responsive applications without having to split the code into frontend, backend, native apps, etc.
Obviously, I am versed in the latest Javascript frameworks that have become popular too in the last 10 years. I’m not as expert in coding with those as I am with Rails but I started with Ember, then Angular, then React and now Next.js as frontends to Rails APIs and other more homespun Javascript REST APIs. I helped create some GraphQL interfaces for certain projects when that seemed like the way things were going.
Do you find it hard to keep up and learn the latest technologies while still getting things done?
Until working in tech became a more widespread career over the last decade, I always assumed that people in the field were people like me, who had been playing with this kind of technology as a hobby since we were kids.
I don’t mean solving video games or coding business applications, but really digging deep, using computers and tech to solve problems around the house or just for fun. I started out my career as an Audio Engineer and you don’t get very far in that world without really knowing the nuts-and-bolts of how the tools and equipment works.
I always used to build my own desktop computers from scratch to get the best price/performance from what was available. I even built a Hackintosh and used that as my main machine for a while before the M-series chip performance made that sort of pointless. Those skills don't come in as useful anymore at work but it does say something about the mindset you use when you approach a computer, a server, or really any electronic device and really understand what is under the hood.
It seems that while there are a lot of people who still like to dive deep ‘behind the keyboard’, there are a lot of others who just program as their job and go home and watch TV, game or do something else. That’s great and I certainly have a lot of other interests too, most are somewhat tangentially related to tech anyway.
As a kid I was always a tinkerer. I used to take stuff apart to see how things worked. I wanted to go behind the scenes in whatever it was that I found interesting. I ran a computer bulletin board system (BBS) from the age of 13 which exposed me to a lot of the concepts the Internet is based upon. I was a Novell and Unix network administrator for my University, working in the computer center while I got my degrees.
Learning about how things work is just part of who I am. I joke that one of my favorite lines from the movies growing up was in one of the Star Trek movies where Kirk and Spock hack into the evil Khan’s stolen ship through a software backdoor and command it to lower its shields. When questioned on the move by Saavik, Kirk’s reply is “You have to learn WHY things work on a starship.” You can only be the most effective at something if you truly know why it does what it does.
The increased complexity of the technology world must make that harder
In some ways it does, in others it is actually easier. For example, I spent the first 20 years of my career buying hardware and setting up racks of servers, wiring them together and running out in the middle of the night dealing with drive failures etc. All to keep critical systems running. There was no other way to run a public Internet site effectively.
Now while I certainly love that stuff and miss it sometimes, I’m glad I don’t need to spend all that preparation time to get a project off the ground, hosted and available. With the cloud offerings today, that kind of setup is not needed for the core business of nearly any of the companies I have worked for lately.
So while something like software defined networks are certainly becoming best practices for certain types of architectures, you don’t need to even consider that level of complexity or knowledge to really be productive for working on 95% of the projects that are out there.
Tell me about how you build teams, work with developers and other engineers. What is it you look for when building that group?
It takes so many different skills to be able to produce a quality online software system that it’s pretty hard to find people that can truly go from start to finish, from spec to MVP to Alpha, Beta and RC on a server that people can use.
While I may have the skills to do all those things for a smaller business on my own or with just one other tech team member, once you get into business critical and time critical parts of a business, you have to get a team that has specialists in at least some of the core areas.
It used to be you needed DBAs and internal IT departments involved. I can’t tell you the number of battles I had back before cloud computing where getting approval to do the simplest thing required mounds of forms (always paper) and weeks of prodding.
Now if I have the right budgets, I can strategically pick the skills that I think will give us the most bang for the buck on the software development side and worry less about the external factors: like what workstations we need to get for the dev team (at this point, any computer is adequate to code most web development) or what datacenter costs are going to be to create a multistage CI/CD setup.
Are there certain kinds of experience you prefer in team members over others?
Definitely. I almost assume that if you can show and explain a certain system you worked on competently that you aren’t exaggerating those skills. To me the key is the person’s level of curiosity about what they do.
I have found in the tech field that if a person doesn’t read or follow the tech press, follow some of the latest trends in their area of expertise, or dismiss anything new or innovative as not worth their time trying, they will not succeed in the kinds of environments where I tend to work.
If you are hiring someone like me to lead a team, you are most likely interested in moving forward in a new area or rejuvenating a project and pushing it in a new direction. Someone whose experience is working on Six Sigma projects for a large contractor is going to have a hard time fitting into the kind of atmosphere that sparks innovation and creativity.
It’s not a knock on people who work in those places. Those skills and measured approaches are absolutely necessary in some fields. But the personality types that tend to excel in those environments often don’t have the same kind of thought patterns for solving problems that are needed to work in the places where I tend to land.
What other things would you like to tell people who might be interested in working with you?
I tend to dive head first into problems and look to solve the lowest hanging fruit first. It helps to have a good long-term vision for what the end-goal is but sometimes nothing is better than diving right into a system or specification and learning its quirks and issues from the outset.
That said, working on green-field solutions is always a nice situation to be involved with. Those projects tend to be less lucrative at the beginning for everyone involved but they also give you the most personal pride. Knowing that you sat in a room with your partners and/or customers and sketched out what could be - and then making that happen. It’s the best feeling to see users actually interacting with something that didn’t exist except in your brain just a few months before.