This is the third article in a series where I’ll talk about the essential traits of an E-g consultant.
First, I should make it very clear that while we at E-g love many things about consulting, we absolutely do not think we are somehow superior to people that don’t love consulting. One of the wonderful things about this world is that each person is bestowed with gifts and talents that lead to tremendous variety in what we do when we go to work everyday. For example, I know without a doubt that I would make a terrible graphics designer. I’m simply not gifted in that form of art but I’m so glad there are people who are. Our value as a person is not rooted in what we do for a living.
Second, we always try very hard to match our folks up with the technology, location, people, methodology, etc… that they love the most. The reality is that it simply can’t happen all the time and if you’re not flexible in many areas, life as an E-g consultant may not be your cup of tea.
Value > Technology
I’ll never forget the day that my dad managed to borrow a vintage (914 from 70-72) Porsche when I was a freshman in high school. He pulled up just as I was finishing football practice early in the Fall of 1985. It was the first time I had ever been in a luxury car that had real power. The owner had taken the time to maintain the car and as a result it was in fantastic shape. Old was cool.
It’s a great time to be an engineer. There are innovative new technologies arriving all the time and I find myself wishing I could consume it all but it’s impossible. The motivation for learning for me is not just about the technology, but rather the prospect of it delivering better value to a customer. Don’t get me wrong, learning new technology is fun, but it’s not the main reason why I learn it.
At E-g, we are very fortunate to have customer relationships that go back many years. We are also forming new relationships all the time and we have every intention of making all of them last for a long time. If you were to look across our customer portfolio, you would see a very diverse set of business domains. Nearly everyone at E-g loves learning about different domains – from near-space balloons to sales and marketing apps. I probably won’t write a full post on this diversity, but if you don’t love this bit, you probably won’t like consulting.
Diversity in a client base most surely brings diversity in technologies. I was thinking about a way I could graph what this might look like, but there are simply too many axes for it to be meaningful. Here’s a list of all the most common areas that we can permutate on:
- Age of Technology
- External Services
- Development Environments
- DevOps Tools
- Supported Platforms
- Runtime Environments and Middleware
- Application Servers
- Operating Systems
Our clients have businesses to run and many of them use software to accomplish their business goals. They also don’t have unlimited resources to constantly maintain and update all the things mentioned in the list above. There are many factors that drive how a given customer would fill out the list and while I won’t go into all that here, let’s just agree that there are a LOT of permutations across our client base. Here are a couple examples to illustrate:
- A mix of Java and Groovy. Some applications are still running on Java 6 while others are on Java 8. There’s a mix of Apache Struts, Spring 3.x and Spring 4.x with both XML and Java-based config. The client is an e-commerce client, so there are payment gateways and merchant accounts to deal with (and throw in special security concerns for consumer info!). The only supported development environment is Eclipse. Apache ANT is used to build the code and there is no Continuous Integration (CI). Web Applications must run on IE9+ and all other browsers are not officially supported (think large corporate environment with managed software). Depending on the application, the runtime environment could be IBM WebSphere 6.x or Red Hat JBoss Community 7.x. The Database platform is MySQL and the OS is either Windows or Linux. Most applications have been developed without any unit tests.
- Node.js (latest stable version) running on Heroku using Cloudbees for CI tied to BitBucket usig GitFlow. Based on MEAN.js stack (Mongo, Express, Angular and Node). RabbitMQ for messaging. Bring your own IDE. Also, Balloons.
And everything in between.
We have to be prepared to tackle just about anything that fits into our practices. Now, one of our Core Values is Integrity and that means always trying to “Do the right thing”. That means we try not to profess to be skilled at something we’re not. When we encounter technologies that we don’t have direct experience in, we address it. The simple fact is that it’s nearly impossible for any consulting company to be skilled in all the permutations. This is why it’s very handy to love learning – even when what we need to learn is old. The clients who choose us to help them address their needs know that we view technology as a tool (hopefully a strategic one) to accomplish business goals. Whether the technology is new and shiny or a little worse for wear, the people at E-g are here to serve.
Some people don’t love moving regularly along all the different axes and that’s certainly understandable. Some people love to be at the front of the technology wave and that’s cool too. At E-g, we have to be flexible to serve our customers. We have to love to learn and thrive in the midst of moving along different axes within our practice areas. If you can embrace this diversity, then you might make a great E-g consultant.