You might want to be an E-g Consultant if…

Most of this material comes from a typical talk I have with prospective employees.
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 who 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 every day. For example, I know without a doubt that I would make a terrible NICU nurse. While I have tremendous compassion for sick babies, I simply don’t have the emotional courage to do that job but I have a lot of respect for those that do. Our value 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.
On with the show.
Location, location, location
E‑g serves the greater Indianapolis area in terms of physical presence. This means that we will travel around Indy to serve our local clients. When we started the company, we expressly wanted to avoid traveling that required us to be away from our families outside of regular working hours. This is still an important priority for us.
So, what does “travel around Indy” really mean? This means that we should expect that we will, at some point, work on-site with a client for a long project that is not close to home (relatively speaking). I usually tell folks to imagine being on a project for a year and driving from the NE side of Indy to the SW side, which could be 50 minutes one-way on some days. We also have clients that are further away (60-90 minutes), but we purposely limit that travel to what averages out to be 1-2 days/week worst case. Additionally, where more extended travel is involved, we do our best to include that travel time in the workday so people aren’t getting up with the roosters and coming home at night. Our goal is a 40-hour work week with reasonable travel expectations because family and life are priorities. If a consistent 20-minute commute is one of your goals, it will be a challenge to meet that at E‑g.
Do we ever hop on a plane and go somewhere for work? Sure! Usually, it’s for a conference or a meeting with a remote client to get a project started. In the rare cases where we do travel significant distances for client work, it’s always a situation that fits with the person. Some people (e.g. single or older empty-nest people) may enjoy such travel for a season.
People at E‑g do a great job at finding creative ways to use their time on the road. I love to listen to audiobooks, podcasts, and lectures, and yes, I’ll occasionally jam out on my ride home. A commute can also offer an opportunity for some great reflection time.
Flexibility in travel is certainly a must when it comes to being an E‑g consultant. It’s an essential bit of what we do and if you are the type that can embrace it and find creative ways to make the most of it, sweet!
The Places We Work
There’s no place I’d rather show up for work each day than the E‑g office. It’s well designed (thank you Don, Rebecca, and many others!) and I love my standing desk and the pictures of my beautiful family around me. I most love the people who inhabit the office. There’s also the fantastic kitchen with tasty snacks and drinks which, on some days tend to test my willpower a bit, if you know what I mean. I hate you Riesen chocolate chews! No, I’m sorry. I love you.
When you bring people together in a place, culture happens. A place creates an environment for interaction and relationship building. When you have a bunch of E‑g people working at the E‑g office, you cultivate a culture that supports E‑g vision and values. It’s a wonderful thing.
However, all E‑g people at the E‑g office all the time is not reality. The reality is that we are often called to work alongside our clients. We recognized this reality when we started the company and we embraced it. Part of doing the right thing and serving our customers with excellence occasionally means packing up a few of our things and temporarily setting up camp at their location.
Our clients vary widely in what business they’re in. Their business may not even require an office-like environment. Take manufacturing for example. It’s quite common to see large manufacturing facilities with a small corner of the building that looks like it has some offices. Manufacturing companies use space efficiently, and sometimes they don’t have much space to accommodate consultants. It also may be that you’re working on software that runs on the shop floor and you need to be by the equipment (a love of mine). Equipment usually gets hot when it runs and fans can be used for cooling. Cooling fans are typically loud. Get the picture?
Take a second to look at the photo on this post. Does that dude not violate every ergonomic law we hold dear today? That chair is terrible, and look at that guy hunch! Not only is that room loud, but it’s also highly likely to be chilly, which is probably why both gentlemen have long sleeves on. Also, there are zero personal effects. This is how you would work if you were a developer in the 70s. That’s Ken Thompson and Dennis Ritchie in case you were wondering.
Life as an E‑g consultant means your working environment may vary widely and unless you’re alone it also means inserting yourself in other cultures. I’ll cover people further on, so we’ll leave that aspect alone for now. We have to be prepared for change when it comes to working environments. While we always try to provide our folks with the best possible working environment, there are limits. We want to be sure there are no surprises when we are interviewing candidates so we always want to be very clear on this topic. We have people who have been working at the E‑g office for years and we also have people who change working locations 3 or 4 times a year. It’s tough to predict how this aspect will play out for anyone.
It should be mentioned that we do actively monitor how folks are doing when working at a client site. Additionally, we encourage regular communication in the other direction. We try to make the time to actively manage our folks’ concerns rather than just saying “Deal with it!”. We want to treat people the way we want to be treated.
I enjoy different environments. I do love the comforts afforded by the E‑g office for sure, but I also like experiencing new things. I like to view different working environments as an opportunity to bring a little E‑g culture along with me. It’s also great for building an appreciation of what the E‑g office offers, which guards against getting to the point where we take it for granted. I like food, so working at different locations brings different eating options, which is great.
If you think you can thrive in the midst of what might seem like a roll-the-dice “where will I work for this project?” environment, then you might want to be an E‑g consultant.
Value > Technology
I’ll never forget the day my dad borrowed a vintage Porsche 914 from the 70s 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 my first time ever in a luxury car with 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. Innovative new technologies are arriving all the time, and I find myself wishing I could consume it all but it’s impossible. For me, the motivation for learning 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 fortunate to have customer relationships that go back many years. We are also forming new relationships all the time and intend to make 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 whole article 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 to graph what this might look like, but there are too many axes for it to be meaningful. Here’s a list of all the most common areas that we can permutate on:
- Languages
- Age of Technology
- Frameworks
- External Services
- Development Environments
- DevOps Tools
- Supported Platforms
- Runtime Environments and Middleware
- Application Servers
- Data
- Messaging
- 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 maintain and update everything mentioned in the list above. Many factors drive how a given customer would fill out the list and while I won’t go into all that here, let’s agree that there are a LOT of permutations across our client base. Here are a couple of 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 unique security concerns for consumer info!). The only supported development environment is Eclipse. Apache ANT is used to build the code, but 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 using 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 technology-based.
One of our Core Values is Integrity, which means always trying to “Do the right thing.” Therefore, we do not profess to be skilled at something we’re not. When we encounter technologies we don’t have direct experience with, we address them. 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 important 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 when serving our customers. We must love to learn and thrive while moving along different axes within our practice areas. If you can embrace this diversity, then you might make a great E‑g consultant.
Processes
When we go into that new project, we believe in it all the way. We have confidence in our ability to do it right.
– Walt Disney
In software development, much effort is devoted to addressing the “How” question from a process standpoint: How are we going to build successful software?
The answer, of course, is “it depends”.
In a previous paragraph, I talked about how varied and wild the technology landscape is across our client portfolio. While it’s not quite as varied, the methods our clients use to build software are also diverse.
For this article, we’ll simplify things and talk about the process of software engineering as a continuum of one method to another. Generally speaking, the more traditional method is Waterfall and the more contemporary method is Agile. I’ll grossly oversimplify if you’ve not followed the links to read about each in more depth.
Waterfall is a process by which you try to completely specify the software you want to build and then take a series of steps to complete the project. The steps are typically:
- Requirements – What should it do?
- Analysis & Design – How do we think it should be done?
- Implementation – Make it run
- Testing – Make sure it runs the way you want it to run
- Deployment – Make it available for the users
- Maintenance – Support it
Agile goes like this:
- Make a list of features and prioritize them
- Flush out some details on the essential items
- Pick the most important things you can build in a chunk of time
- Build and test the things
- Show the things to the product owner
- Deploy the chunk of features
- Talk about what you can do better next time
- Change your mind about what you want and repeat until everybody loves it
There are many variations to each process type and organizations will pick pieces from multiple methodologies, mixing them to their liking. The result is that you will almost never find two companies that build software similarly.
Another facet that accompanies the software process is documentation. For example, regulated industries (e.g. Pharmaceuticals) are accountable to regulatory bodies that have strict standards that must be followed. Not only do such situations heavily influence application design, but they have a significant impact on an organization’s ability to move quickly through software development cycles.
Yet another significant knob on the process panel is that of coordination with the various interested parties. Some organizations have significant marketing or training efforts that constrain the software development process. Others may have separate business units that provide critical services (e.g. infrastructure) and heavyweight processes could be associated with those interactions. One example of this would be a requirement to get signatures from six different people to make a small web server configuration change.
There is certainly an abundance of opinions on what methods are the best. Additionally, there are plenty of opportunities for improvement in almost every environment. We have experienced consultants who have been around the block with process and we love it when our clients ask for our thoughts. Being exposed to so many methods gives us a humble, healthy perspective of what works well and what doesn’t – even in different cultural contexts.
E‑g consultants have to be prepared for a wide range of possibilities when it comes to process. Just as with technology, we have to be prepared to accept the methods chosen by our clients and choose to thrive in them. Many of our clients can embrace lightweight, agile methods. Still, some either haven’t been able to impart the necessary cultural shifts or have encountered other challenges that necessitate more traditional methods. Can it be challenging to go from something lightweight to something that’s not? Absolutely. Adapting to change is simply what we must do if we’re going to be successful at bringing value to our customers.
If you feel like you can do the process two-step and have fun while at it, you might make a great E‑g consultant.
People
All software has a social impact. People are affected by all aspects of the software life cycle and are more important than all the previous topics covered in this article, by far.
It can be easy to envision coming to the E‑g office daily, working with E‑g people, and being a part of the E‑g culture we love. Sharing life with the folks we’ve chosen to surround ourselves with is rewarding and enjoyable. It’s certainly not without conflict, but our folks do a great job of handling conflict professionally and with care. It’s based on a foundation of established relationships.
Although we do enjoy working together, we must embrace relationships outside the walls of E‑g. We serve our clients, meaning we must step out into the world and serve a diverse community. This is not merely accepting a responsibility we must endure, but rather an opportunity to actively engage with others.
We could devote an entire series to dealing with different people’s behaviors. In this post, we’ll cover some typical people-related situations an E‑g consultant may encounter. Keep in mind that most of the people we deal with are wonderful folks, but we can’t ignore the exceptional conditions that will provide opportunities to live out our values and grow.
Here are some examples to consider:
The new project dance
We are occasionally called to serve with many different people on a project. You may be on a team with client employees, independent contractors, and of course employees from competitors. As consultants, we have to be willing to be regularly inserted into project teams where we will meet new people. Anytime we enter a new social group, it takes time for relationships to form and trust to be built. Sometimes it can be uncomfortable as all the dynamics shake out. There are many aspects to this, but a common one is the sizing up of one another’s technical abilities. People bring a very diverse set of backgrounds to the table and there are always some interesting things to work through until you get to the state where “The team has really gelled!” E‑g consultants may have to exhibit fortitude when it comes to working towards a healthy team dynamic.
In most sports, you belong to a team and play other teams, so you get to keep a single team focus and try to defeat your opponents. In consulting, we are part of multiple teams. You’re on the E‑g team and might be on the client’s project team. Simply put, we have to strive for the success of our client team while using the foundation of our E‑g values to guide us. Many of us are naturally competitive, but we have to turn that on only when it’s in the appropriate context. Is that competitor’s employee sitting next to you? She’s your teammate and should be treated with that mentality in mind. Save the competitive spirit for the next proposal 🙂
Sages and newbs
Next, we have a behaviorally neutral trait: knowledge. You will work with people who are smarter than you. They will have more experience and/or know more about technology, processes, etc. Knowledge has value in the giving and the getting. E‑g consultants love to learn from others and view working with smarter people as a valuable opportunity. On the other hand, it’s our job to share what we know and mentor those who are less experienced.
Destructive Criticism
Plainly stated, there will be people who choose words that rub you the wrong way. There’s nothing like the liberal use of “stupid” in a code review comment to elevate the blood pressure a bit, eh? While comments should always be constructive, sometimes they’re not and we have to be able to see through the color commentary. We have to relax and determine if the communication is valuable. Also, we need to be able to respectfully address the behavior. At E‑g we place a high value on professional communications. Occasionally we find ourselves working with individuals who choose otherwise.
Language and Culture
The people we work with can have diverse cultural, social, and national backgrounds. We must appreciate and respect other world cultures and those teammates for whom English is a second language. In some cases, we may even need to work with people we will never physically meet in the rare instances in which we are part of a global team.
It all comes down to People
The focus on behaviors in this post was intentional. Attaching labels to people is an attempt to affix them to a person’s character permanently. When we see all people as valuable, it brings a healthy perspective to the workplace.
We have to keep in mind that we may need a behavior adjustment! E‑g consultants recognize there is always an opportunity for improvement and we should encourage others to call us out when we’ve goofed.
One of my greatest joys is hanging out and working with people of all types. In every situation where I’ve encountered challenging situations with people, there’s a story behind their behavior. Working through that can be challenging, but some great relationships have resulted from a bit of work. The best teams find healthy ways to create a culture of friendship and acceptance, which is an essential ingredient in knocking projects out of the park.
If you see an opportunity to engage with a wide variety of people who will grow, stretch, and challenge you then you might want to be an E‑g consultant.