Agency life is a world in and of itself that brings its own challenges and hurdles every day. Something some know about and those who have never been in the trenches will never understand.

To those developers, hold on to your tears. You’ll need them.

In all seriousness, though agency life is brilliant if you can enjoy the hustle and grind. This article aims to summarise some of the expected hurdles and maybe things you can learn before you approach the den of tears.

Step 1: Understand that while the jokes about agency life are hilarious and you’ll never not laugh. They are very. very real.

There’s a saying I read under a joke once saying “Agency developers chuckle at this and then they just get really, really sad.”. The jokes about agency life are legitimate and very real.

One of the first things I learnt was that my mental levels are very important and prioritizing tasks around the way I’m feeling is incredibly important to the long-term outcome of a project/task.

Choosing to tackle the harder tasks when your fresh and zoning out to music through the monotonous ones is incredibly important and as you learn to handle more you’ll gain an internal knowledge of when you should be taking on certain tasks.

2.0: When your learning and going through the trenches, make sure you work with a great team.

I’m lucky and grateful I work with an amazing team that couldn’t have a better sense of humour, the impact it has on day to day workflows and the office politics of dealing with clients, demands and the thousand reasons to cry waiting around the corner is something I’ll never not appreciate and believe me you’ll need it.

What you don’t think will happen will. What you’ve already done will break and things you know you just saw done and working will break when you show your boss. The easiest thing you can do is learn to have humility, laugh and be chagrinned when something new pops up.

Be obsessed with the challenge and less with the failures because they will come by the thousands and more often than not when you least want them.

3.0 – Care about a clients project as if it were your own.

It will impact the craftsmanship of the project and you’ll be more bothered by problems, effectively releasing a better product in the end.

I’ve seen too many developers not care about a project because it’s not there’s. It’s not their family depending on the business working, they don’t have a board of executives or millions of dollars on the line if they don’t meet the targets. When your a junior / mid you get to hide in the background while someone else handles the meetings/talks to the clients with you.

Guess what though. They cop that and when they do, guess who they’re coming to see. Big o’l smiling happy clueless you. There’s a good saying and I’ll quote it when I can check it out. It generally goes like “Code like the next person to build on the project is a psychopath that knows where you live.”

Care about your clients, live for tomorrows tears.


4.0 – If a senior developer spends time with you. Focus as much as possible.

Too many juniors couldn’t care enough for this. Getting solo time even if it’s a 10 minute fix to understand the mind of a senior and how they think about processes is something that will benefit your career I would almost say the most above anything else. The thing is they’ve done it. What you’ve gone through they’ve gone through twenty thousand times and they know and where to look first to resolve things quickly.

What i’m talking about here is paying attention to the really small details. If you’ve put a site live manually and things break.

  • What files do they go to first?
  • What settings do they check first?
  • What do they change?
  • What do they do to confirm actions and understand the process/state things are currently in?

The reason for this is it’s all okay when they’re sitting next to you in the trenches, but when he’s got 2 weeks away in the Maldives and your sitting there with clients calling and “is it done yet?” running around your ears, you need to know where to go and what to do.

Just pay attention, you’ll be grateful and your team will be too. It’s how you learn to step up and away from dependant and the sooner you learn the sooner you’ll be the one helping someone else.

5.0 – Learn to think from the third perspective and pre-empt the needs of the world.

The thing is everyone else is trying to get things done the same as you. If you do the 85% and leave the rest thinking “they won’t pick that”. They will, and when they do it’ll be your problem and after you’ve worked across 6 other projects coming back to that problem and figuring out the solution becomes 10 times the pain it could have been if you just did it the first time. Clients care and you should too.

Yes. That pixel matters. If the designer put it that way (if they’re good) that button is in that spot for an exact reason. Things are placed with purpose and they’ve already gone through the rigmarole of changes and updates to get that to sit and look perfect. If you drop the ball and don’t make it to that level that was a waste of his time. That makes it a waste of a clients budget and a waste of your company’s budget.

6.0 – Know a design before you get briefed.

You should have a brief concept of the design before it gets passed to you. Consultation and collaboration should be made between the designer and the developer before anything gets sent to the client. If it doesn’t happen you should push for it and here’s why.

Designers are creative for a reason and some have no concept of how things are constructed more that things just “are”. So what do you care? You can make your 5 days in heaven better by pre-empting whats about to be placed in front of you. Have a casual chat with the designer and notice layouts that could be challenging, notice the small things they’ve done and then start a small plan in your head of how you’re going to tackle that.

There’s a good saying:

 “90% of the code takes 90% of the time. The other 10% also takes 90% of the time.”

You can ease that by pre-empting layouts and having snippets / pre-built solutions to the problems. You’ll thank yourself later when that 90% becomes 89.

7.0 – Learn how to explain every aspect of your job as though it were to a 5-year-old.

John whoknows isn’t a developer and doesn’t care that x broke because the browser doesn’t support x properties and you have to implement a polyfill. Why can’t he just understand things don’t take 5 seconds? Not everyone’s a developer and you need to be able to explain solutions and why problems are problems in a way that everyone can understand.

This is and will become one of the most valuable aspects of your career as you grow to be a developer. It takes time and there is an art to it. Sometimes you’ll hit and miss and others you’ll nail it with a sledgehammer. It’s about finding balance and it’s our duty as a software professional to be able to articulate well our development process and how things are going to progress in the lifecycle.

Being able to do this also evolves trust between the client/manager and yourself because they know you understand what’s happening and that you have solutions/plans in place.