Career move to The Big 4? Big yes or Big no no

So you've heard of the Big 4 right? Well just in case, Deloitte, KPMG, PWC and EY are known as the big 4 finance companies globally. So what you may not know if that they have consulting divisions with actual developers. I know I was surprised as well.

I left industry back in 2014 to join Deloitte Dublin. Many reasons affected my decision and pushed me towards a consulting role. The first one was the name. A Big 4 jumps out on a C.V. and I was fully expecting this to stand to me in the future. And it does. I have lost count by the number of times mentioned my place of work and the response has been something similar to "Oh Deloitte, you must be really smart...". It adds credibility to people who only know the brand.

The second reason I left my previous company was to get away from my manager. So many people face this problem without trying to deal with it properly. I tried, and tried and eventually i decided for the sake of my career and happiness I had to leave. I knew a Big 4 had proper structure in place to manage their staff's careers correctly. I was half right. They do have proper structure and semi annual reviews. I was even lucky enough to have a great manager over me. He understood my career path, my strengths and frustrations. Sadly though it's not enough. Review time becomes a rat race. Each employee trying to out do each other in order to get ahead of the game, earn their next promotion and climb the ladder.

I don't believe in the ladder, well the notion people have about needing to climb in order to feel a sense of achievement and success. I've always wanted to be out on my own. It's that entrepreneurial spirit that drives me, so no matter which level on the corporate ladder I reached it would never translate into success for me. I understand not everyone has the same goals and ambitions and I respect that. But what I don't understand is how large companies try to pigeon hole everyone's careers. Everyone wants to become a Partner, right? Wrong! But that's the focus of the Big 4. It doesn't matter which service line you are in, after about 5 years they are looking at you to become a manager. A developer becoming a manager after 5 years and no more programming, that's just crazy!

Sadly though that's the reality. The Big 4 tend to hire only from Universities because they deem themselves exclusive. How many good developers actually go to a Uni and graduate? Not very many that I know of. Sure the people who graduate get great grades, they are very personable and they love the corporate ladder, these attributes aren't commonly found among great developers. That was one of my biggest frustrations with working with Deloitte. On our client we had three "scrum" (Waterfall masked as Scrum) teams, about 15 developers, 8 of which could actually develop, and 3 who could be described as full-stack. That's 7 "developers" who didn't have a clue. One in particular individual was hired as a senior developer and kept on for 6 months. How did he get away with it you ask, well it was a combination of other devs picking up the slack and money. He was being billed to the client, Deloitte didn't want to lose the income even though it was creating more work for everyone else.

There are upsides though if you're willing to struggle through. As you will be surrounded by business folk who have an unyielding ability to believe they are the smartest person in the room, there are many gaps in technical knowledge. These gaps allow you to shine, exert your creative side and impact your large clients. Don't get me wrong it's not easy. It requires a lot of persistence. One such case happened when creating an online services website for the Department of Social Protection in Ireland. A service was required to allow customers book an appointment. The appointment schedule was handled in a back office system and updated daily. The proposed implementation involved locking the earliest appointment to the first user who tried, and each subsequent user would lock the next earliest available appointment. The lock would last for 10 minutes. My first thoughts of this were it was absurd. What's the point in creating a service if the user was forced into the earliest available appointment? I had a different idea...

I proposed to use a real-time framework called SignalR. This creates an open channel between the customers computer and the server. Meaning that if Customer A clicked on an appointment, they would reserve that time until either they completed the form or timed-out. Customer B would see that this time has been reserved and no longer be able to choose it. A batch process runs each night, and all the available appointments are added to Redis cache hosted in Azure. This really speeds up the performance of the whole booking process, and once an appointment is booked, the key is removed from the cache and can't be seen. A truly elegant, scalable solution that provides a great customer experience.

In retrospect I enjoyed my time with Deloitte. I was frustrated a lot, I listened to a lot of BS, but the technical challenges are definitely a compelling reason to join a Big 4. The scale of the clients and problems you will be faced with will challenge you as much as your co-workers and clients. As long as you know what to expect I think it makes it much easier to live with. The false promises from your leadership team and the resentment from the client's staff are two more things to consider, not to mention the expected extra hours but more on those later.