I’ve been programming for almost 20 years. It’s been a mix of consulting and full time work. I have spent time in tiny operations and global behemoths.
The entire time, I kept track of not only my direct development experience but also the businesses themselves. I noticed what worked well and what failed miserably.
I did it for selfish reasons, i.e. I never wanted to repeat the bad things in my own business. Luckily, for my clients, they gain from those observations as well.
From Startup to Enterprise
My first consulting gig was at a tiny little company in 1997 or so. It was 2 partners and some temps. I had a blast making sure they’re business didn’t die overnight for not being computerized.
I’ll admit, I computerized them cheap. I think it was $8 per hour. I didn’t know any better. It wasn’t until their biggest customer, The Walt Disney Company, struck a deal with American Express that I got bumped up to contractor’s rate.
In addition to saving the small business, I also helped American Express and Disney successfully roll out a software system. All in all, it was a great opportunity for a first time consulting gig.
My second consulting client was Bank of America. I had a blast turning a Y2K project into a division saving project. BofA wanted all internal apps to be Y2K compliant by January 1, 1999. I was called in to port a DOS app into something more Y2K compliant.
I remember blowing away an internal team member when I asked, “What’s your coding conventions? How do you name variables? How do you structure your code?”
He about cried. We walked over to his desk and he whips out this huge binder. “I compiled this and not one contractor has asked for it before you.”
I couldn’t believe it. Why wouldn’t you try to make sure you code fit in with the code that already existed? Seemed like common sense to me, but it wasn’t then…and sadly, still isn’t now.
It’s WHO You Work WITH, Not WHERE You Work AT
To me, because I went from small business to big enterprise so fast, I’ve never really felt any different when it comes to working with either.
What’s most important is the people I work with. Are they fun? Do they know their stuff? Are they passionate? Do they have a desire to succeed? It’s the answer to those questions that’ll make a lasting impression.
Take for instance, The First National Bank of Omaha team.
We haven’t officially worked for them yet, but I’m sure we will someday. We hung out with their team at the Code1 Omaha hackathon. We cracked up and had a ball while delivering an app for their hackathon.
We didn’t win the top 3 prizes, but that’s okay because we won the “Most fun team to work with” prize and that meant more to us than money. When we do work together, that same sense of camaraderie will be present and the project will go that much smoother.
Another example I like to use is an engineer at eBay. I don’t want to embarrass him, so I’ll leave his name out. However, he was a humble guy in a team where the dev lead and team lead had huge egos. Sadly, their technical skills completely paled in comparison to my friend’s.
Therefore, I wasn’t surprised when I learned that Apple had tapped him after I left eBay and he was doing great and wondrous things there.
I still remember a “Tiger Team” project we did together with 2 other people where we designed and delivered a grid computing front end in a month or two. It was great to work side by side with him and learn a lot of great things from a top-notch software engineer.
Stretch Yourself to Better Yourself
One year, I was gonna go sign up with a consulting company. It was near the end of my eBay term and I was more lead than developer. I wanted to get back into the trenches. So after interviewing with a wide variety of consulting companies, I had narrowed down my choice.
Then a friend mentioned that I should go interview at Workday. I did and learned all about their system. What they have built is simply amazing. Their technology stack was one of the most complex I’d ever seen.
I knew in that instant that I had to work there. Not because of it being a startup, not because my friend was there, but because this system was beyond my mental powers. I could never create a system like this. I knew that if I could come to understand the system, then I would have no problem understanding any other company’s codebase moving forward.
I can honestly say in the 6 years since, that statement has held true.
When I went to work for the City of Hope Cancer Research Center, it was for a technology I had no experience using or programming. They had a Microsoft (now called “classic”) ASP intranet site. It was broken and didn’t work.
During the interview, my would be manager asked me, “How long have you worked with ASP?” I answered, “Oh, I haven’t yet. This would be my first experience.” He was shocked, “Why should I hire you?” I answered, “Because I can fix it. Tell you what. Hire me and I’ll start working on the problem. If you find someone better before I fix it, fire me.” He agreed and two weeks later, I had it up and running.
To me, a particular tech or language is unimportant. What’s important is knowing what you want done, I can figure out the tech no problem.
I have plenty of examples where companies spend 10s to 100s of thousands of dollars on a project that never works, then hire me to fix them in under a month.
I also have many examples of getting hired to do work that I had no experience in, yet still wound up being very successful in. I don’t do it to boast, I do it to call out that if you don’t push yourself, you’ll never learn and become better.
Leave a Team Better than When You Joined It
The only other great thing experience has taught me is the importance of helping your comrades look good.
I’ve never been a glory hog. I’m sure it could’ve been easy at times, but it’s just not my style. I prefer (much to my wife’s dismay LOL) to give other team members the credit. Not undeserved credit, mind you, but if it was a joint effort, I try my best to let them shine.
As a consultant, you’re automatically odd man out. You’re an outsider, who’s paid more than the team you’re working with, yet do the same work.
I remember one of the few times I was a full timer and having management say, “Why can’t you be like consultant boy over there? He’s here all the time and you just put in your 8 and leave!” I replied, “He gets paid more per hour than me AND he gets paid for every hour worked, while I’m salary. Why wouldn’t he work all this time?”
I promised myself to never be that guy and I’d like to think I’ve held to that promise.
Instead, what I like to do is watch the team dynamics for a bit, then after I have a sense of it, jump in and make it better.
I have an INFP personality type, so making the world a better place is in my nature.
In many instances, I have either fixed team dynamics amongst themselves or helped turn around perception of a team from a negative to a positive one.
Let’s be honest. Many programmers care about programming and less about people. It’s a sad statement, but a true one. I, on the other hand, tend to care more about people than about programming. Which is okay, because programmers do have to watch out for themselves.
Another thing my wife hates is when I come home and say, “Ah, I’ve worked myself out of my job. I’ve set it up so that company A no longer needs me.” She usually says, “Why do you do that?” It’s because that’s what every person should do.
You should do your job so well that eventually, you’re no longer needed in that role.
You Get What You Pay For
That saying has been around for a long time for good reason. Omega Ortega is not the cheapest consulting company around. We acknowledge that. However, we’re not the most expensive either.
We pride ourselves at being mid range in pricing, but deliver far more bang for your buck. When you hire us to do work, you get all the stuff mentioned above at no extra charge.
If you want straight nerds that can’t hold a conversation but can write magic code that no one understands but runs like the wind, we’re not for you.
If you want a team that speaks coherently, knows how to express themselves, can laugh a lot and watches out for your interests, then look no further.
Reach out to us and let’s get something rolling.