Why I Left a Nice, Cushy Job at a Big Bank for a Startup

Big Bank

Imagine that you were lucky enough to find a job at a large, powerful organization that:

  • Has great pay and benefits
  • Has a great boss who actively helps you get better and wants you to succeed
  • Is extremely stable
  • Is challenging and rewarding
  • Would allow you to do many of the things you love to do including building and leading an awesome team of smart developers

Gene Hackman in HoosiersNow imagine that you decided to leave that job after investing 6 years of hard work even though the greatest opportunities for success were yet to come. And, the reason why you are leaving this high-profile job at a big organization is to work at a 3-person, 2-year-old startup that is still working toward profitability. Why in the world would anyone in the right mind do that? It’s sort of like if Gene Hackman’s character in Hoosiers decided to quit the team right before the state championship so that he could coach a local middle school. How does that make any sense?

Well, it turns out quite a bit. Let me explain.

Work – Life Balance

I made $970,000 last year. How much’d you make? You see pal, that’s who I am, and you’re nothing. Nice guy? I don’t give a sh*t. Good father? F!@k you! Go home and play with your kids. You wanna work here – close! You think this is abuse? You think this is abuse, you $#@#$%? You can’t take this, how can you take the abuse you get on a sit? You don’t like it, leave.

Many of the most successful software developers have the ability to cut out all the distractions, overhead, misdirection and general “noise” that exists in any software development effort and cut right to the heart of the core issue to get stuff done. In other words, closing.

As a software developer, nothing feels better than after you deploy code changes, validate that everything works correctly, do your fist pump and proclaim victory. The bigger the challenge, the bigger the thrill there is when you are done. The developers that can cut out distractions and deliver more frequently and on more complex tasks experience even greater highs. To some developers, it can even be like a drug where the only thing you can think about is getting your next hit and anyone that gets in your way is an impediment to be ignored or removed. For the most intense developers, there could even be almost overwhelming fear of losing your edge if you relax even a little bit.

Family ManNow, contrast the idea of a super-intense software development “Closer” to the concept of the Family Man. To be quite honest, I did not understand what it meant to be a Family Man until I had my first child. In my mind, being a Family Man means that you structure your life around your family. In other words, when you are thinking about your day or planning your week, you first think about the various to-dos with your wife or children and then you see how your work can fit in. Before Mady was born, I more often did the opposite where I figured out what was needed for work and then I filled in the gaps with family stuff. When you have a child, though, you realize that nothing is as important as your family. Sure, you knew that before the baby was born on some level, but there is a different level of intensity in that feeling when you hold your children in your arms for the first time and then start to see them grow up.

Epic BattleSo, the question is how to rectify the mindset of a Closer with a Family Man? At times it can be like two sides of an epic battle. The Closer views family as an impediment while the Family Man views anything other than family as secondary. Working with many different developers over the years, I have actually seen this collision of unstoppable force vs. immovable object play out in a number of ways. On one end of the spectrum I have seen developers voluntarily take lesser roles at work or move to a less intense environment so they can spend more time with their family. On the other side, I have also unfortunately seen times where developers end up ignoring their families and eventually get divorced. The hardest thing to do is to try to find a middle ground and achieve some sort of balance where you are able to spend time with your family and maintain a high level of productivity at work. It is something that I have struggled with my entire life and has tortured me in ways that are hard for me to explain. I want more than anything to be the best father and husband in the world, but I also have an unquenchable thirst to reach greater and greater heights at work. Achieving balance is something much easier said than done.

BostonLast summer when my wife and I talked about having a second child, I knew it was time to do some soul-searching. I would love to tell you that I found the ultimate answer of how to achieve balance (I did not), but I was able to figure out one very important thing: we needed to move back to Boston. We moved from Boston to Southern California in 2003, but many of our family members, including our parents, still live in the Northeast. My wife understands I will always more than likely get up at 4am and work at times late into the night. The issue with our work-life balance wasn’t as much of a number of hours, but rather making sure we make those hours count. In other works quality, not necessarily quantity (though Carolyn certainly wouldn’t complain with more of both). In the past when we discussed moving back to Boston, I had always pushed it off because of some variation of an excuse centered around being too busy at work. No more. Even though I really had no idea what I would do for work, we made a firm decision that we would be back in Boston before the end of 2011.

The Life of a Hedgehog

OK, so that certainly explains why I moved from Southern California to Boston, but it doesn’t really explain why I left Wells Fargo or why I joined a startup. Once I decided we were moving, however, it forced me to reflect on my life and career in ways that I had been avoid for a long time. Like many software developers, I was acting like one of the hedgehogs in Jim Collin’s book, Good to Great, that identify their goals and move relentlessly, unceasingly toward those goals. The problem is that many developers don’t take the time to take a step back and ask the two most important questions for a hedgehog:

  1. What are you the best in the world at?
  2. What motivates you?

Like I had done throughout my career, I was working relentlessly toward something…but what? Sure, I had plenty that motivated me at Wells Fargo, but did I truly understand what specifically motivated me? What truly am I the best in the world at? Simple questions, but I guarantee that a vast majority of developers would have a hard time providing good answers.

So, I hired a career coach. I found Gail Liebhaber through some online searches and she was awesome. She didn’t really tell me much I didn’t already know, but she forced me to take that step back and think about questions like these ones. The biggest thing I discovered is that as much as I truly loved my current job, I wanted more. By more I don’t mean raising the ranks within Wells Fargo. I wanted something…different.

StartupEntrepreneurial Bug

As crazy as things were at Wells Fargo and at home, in 2007 I tried to bootstrap several side businesses. They were nothing special, but it gave me the opportunity to satisfy a thirst that I could not quench at Wells Fargo. Namely, having complete control over the fate of a business and innovate in new and different ways. I do truly believe that you can be an entrepreneur and innovator within large organizations and I think I did manage to accomplish just that for the past 5 years, but it is not the same thing as truly running your own business. When Gail first asked me what my career aspirations were, I was not sure. She suggested that start talking to old colleagues and searching around online to try and find someone in the world that exemplifies everything that I wanted to become.

Dharmesh ShahDharmesh Shah

I only met Dharmesh briefly in person at a conference and really I don’t know much about him personally, but I found him to be the closest thing to what I want to be. Besides running the smart, innovative, marketing company, Hubspot, Dharmesh is viewed as an expert on startups and provides guidance and angel investment to many small businesses through his blog, OnStartups.com. He is viewed as an industry expert and is often invited to speak at conferences. He also continues to actively code on a number of projects including the Hubspot Grader.com tool. Even though he runs so much at a high level, he is very involved at a low-level as well.

The reality is that you just can’t do that at an organization the size of Wells Fargo. There is nothing necessarily wrong with it and it is not something I could or would even change if I ran such a big company myself. It is more just how things are. When you are big, you need the people in charge to manage the “bigness”. It is almost laughable to think that my CIO, Reza Lealli, would spend one minute writing code. It just wouldn’t make any sense. There are so many big organizational decisions that need to be made and Reza does a great job at that. When given the choice side-by-side, however, as much as I love Reza, I want to be Dharmesh.

Conclusion

I have no doubt that if I stayed at Wells I would continue to have success and enjoy my job. But, there would always be something missing. The things I love about Wells Fargo include the opportunity to build a great team and working toward some really big goals. That is great, but it is just one aspect of what I want to do. That is why I said I need more. I truly believe that my team at Wells Fargo Dealer Services is one of the best places for most developers to learn and grow. There is a world of opportunity there and they are set up for success. My future path, however, will be in a different direction as I continue to try and achieve work-life balance while also chasing my dreams.

Up Next…

Not too much here about my new company, Mesh01, but I will save that for the next blog. In the meantime you can check out Jason Robert’s Techzing podcast where he talks a little bit about my move to Mesh01.

Open Letter to Everyone I Worked with at Wells Fargo Dealer Services

“There’s always a way – if you’re committed.” – Tony Robbins
“I’ve failed over and over and over again in my life and that is why I succeed.” – Michael Jordan
“Always bear in mind that your own resolution to succeed is more important than any other” – Abraham Lincoln

To my IT partners, business partners and external vendors from Wells Fargo Dealer Services:

It is very difficult for me to express the wide range of emotions I have on my last day on site at Wells Fargo Dealer Services. As I thought about the names of team members, IT partners, business partners and external vendors I have worked with over the past 7 years, each name brought up different memories of tough challenges, frustrating setbacks and exhilarating successes that we all shared together. Through it all…mergers, late-night deployments, sev issues, Halloweens, audits, security policy reviews, Christmas Parties, scrums, OPICs, all hands on deck, emergency fire drills,  lunches, code reviews, strategy sessions, Leadership Conferences, project meetings, 8:30s, post-8:30s, 1pms, war rooms, interviews, goal planning sessions…I have been amazed by the relentless drive to succeed, resiliency from setbacks and determination to overcome obstacles so that we can achieve our goals.  It is something that is built into the fabric of our culture and it will ensure even bigger and better success in the future. I can’t thank each and every one of you enough for everything you have given me including your friendship.

Looking Forward

I still plan on maintaining relationships with my Wells Fargo team members and I look forward to hearing about all the future success that I know they will achieve. I plan on blogging and using other social media outlets quite regularly moving forward (unlike the past couple months that have been somewhat of a black hole), so feel free to follow me here if you are interested. I think I will always feel some sense of responsibility for helping my team members and business partners from Dealer Services achieve their goals and I hope that this blog can serve in some small way to continue the collaboration that we have established over the course of the past 7 years. Thank you all once again.

The 4 Characteristics of Highly Effective Technical Managers

“Oh, oh, and I almost forgot. Ahh, I’m also gonna need you to go ahead and come in on Sunday, too…”

- Bill Lumbergh from Office Space

Bad managers and bad management teams are everywhere. Movies and TV are filled with shows that rip on managers and/or put them in a bad light (i.e. Office Space, Devil Wears Prada, The Office, The Simpsons, etc.). These characterizations are often popular because, well, hasn’t everyone had a boss they disliked or disagreed with at some point in their lives?

The fact is that any shmoe can be a bad manager, but it is much tougher to be good, highly effective technical manager (note: the term “manager” meaning anyone in a position of leadership). I have been lucky enough to work for one the past 7 years and I have had the pleasure of getting to know many others as well. While I think that good managers come in different shapes and sizes, the most highly effective ones often display the following 4 characteristics.

Characteristic 1: Prognosticate like The Mentalist

The formula for the CBS TV show The Mentalist is pretty straightforward. Someone is murdered, Patrick Jane comes up with a theory of who did it and then he orchestrates a series of wacky and somewhat humorous events that ultimately reveal the murderer. Although it almost seems like Mr. Jane can read minds and see the future, there is nothing magical about what he does. His power comes from his ability to read other people, his knowledge of similar situations in the past and a knack for pushing the right buttons in other people to get a desired result.

Managers often need the same skills when they set goals and formulate product strategy. Sure, some people fall into killer products by sheer dumb luck, but more often managers need to do the following in order to reach their goals.

  1. Understand Other People – This includes understanding the needs of their customers, the expectations of their superiors, the velocity of the team and the aspirations of individual team members.
  2. Know the Past – Good managers use their previous experiences to get ahead of the curve and prevent potential future issues.
  3. Orchestrate the Future - The great Peter Drucker once said that ”the best way to predict the future is to create it.” Highly effective managers at times need to come up with outside-the-box solutions to help the team achieve their goals.

Characteristic 2: Execute like Michael Weston

Any non-fake person thrown into all the crazy situations that Michael Weston has to deal with on Burn Notice each week would be dead in about two seconds. Each episode has Michael run into a number of surprise twists and turns that force him to think on his feet, focus on the task at hand and make quick decisions to overcome the latest set of challenges. Some of these skills include:

  1. Prioritization and Multitasking – The best managers find ways to effectively work through dozens of tasks that all lay claim to be the highest priority without dropping the ball on any one of them.
  2. Focus and Perspective – It can be difficult to focus when multiple business stakeholders each hold a gun to your head demanding to have their requests fulfilled immediately. Effective managers, however, stay cool and laser-focused.
  3. Making Quick and/or Difficult Decisions – Being an effective leader means at times stepping up to make the quick, difficult decisions. Some examples include settling minor disputes, holding team members accountable and terminating a poor performers.

Characteristic 3: Develop Talent like Mike Krzyzewski

There are a lot of Duke haters out there, but even the haters respect what Coach K has been able to accomplish in over 30 years of coaching college and national team basketball. His strength centers around his ability to find and develop individual talent as well as gel talent into high-performing teams.

“A common mistake among those who work in sport is spending a disproportional amount of time on “x’s and o’s” as compared to time spent learning about people.”

- Coach K

Even the best software development practices will fail if a team is made up of poorly performing, low-skilled individuals. The most effective managers take a page from Krzyzewski’s book of developing a highly productive team.

  1. Recruit Top Talent – It’s pretty simple, really. The more smart, talented people on a team, the easier a manager’s job will be. Recruiting can be time-consuming and frustrating, but an investment in recruiting has the highest ROI of any other single action a manager can take.
  2. Put Team Members in a Position to Succeed - After getting talented team members, a manager needs to figure out a way to maximize their productivity. This requires understanding the strengths and weakness of each team member and figuring out the best way to put all the pieces together.
  3. Encourage Innovation – Nothing and no one is ever perfect. While a good manager typically has ideas about how the team and individuals can grow and develop, the best managers and companies find ways to create a culture of innovation. Some examples of formal programs to encourage innovation include Google’s 20 Percent Time, Hubspot’s Experimentation Framework, and Apple’s 10-3-1 Strategy. Formal programs may be impractical due to an organization’s culture, but good managers find ways to bring elements of these innovation programs into the team.

Characteristic 4: Fly like Viper

One of my favorite scenes in Top Gun is when Maverick takes on his trainer (i.e. manager) Viper. Viper is an old fighter pilot that is no longer as skillful as he once was, but he manages to out maneuver Maverick and put him into a position where his wing man, Jester, can shoot Maverick down from behind.

The odd thing about software development managers is that the technical skills that got them into their current positions are often not used once they get there. No one expects that managers will be writing code all day, but as a manager loses technical skills, he or she has to rely more and more on other team members to make major technical decisions. There are a number of things managers should do to keep up their technical skills.

  1. Audio Books, Podcasts, Twitter and RSS Feeds - Of course it is great to read technical books, but who has time? These days, techies have to maximize their time and jam knowledge into their brain in the most efficient manner. Driving to work? Listen to Tech Zing on your car MP3 player. Bored in a meeting? Check out what @mattcutts, @dharmesh and @guykawasaki are talking about on your Twitter app. Sitting on the pot? Scan through RSS feeds of the top 100 tech blogs using Google Reader on your iPhone.
  2. Write Code - There is no substitute for writing code, but it becomes progressively more difficult for technical managers to do so over time. For those managers that are overloaded with administrative overhead, they need to force themselves to schedule at least a couple of hours a week to write code.
  3. Test Your Skills - In addition to coding on a regular basis, it helps to test your skills periodically. One way to do this is to enter a coding competition with your team members or on a website like TopCoder. The point is not to prove that a manager is better than other developers. The point is that simply by going through the process of participating in coding competitions, a manager will be keep his or her coding skills sharp.

Conclusion

The reality is that there are many different types of effective technical managers. A manager does not have to excel in every area described here to be effective.  However, those managers that can prognosticate, execute, develop talent and write code are more likely to be highly effective and create highly productive teams.