Working at an agency has been an amazing experience. You get to work on so many projects. You meet so many different people. You get to work fast. And you get to learn so many skills while doing so.
But it's no secret that agency work can be stressful, and after 5 years I've boiled it down to time management. So I have a couple of pointers to help with people in such a situation, or even if you're looking for a agency to work or hire.
Meetings take time. Before, During, and After. This is something rarely reflected in time allocation. Getting back to developing after meeting isn't like flipping a switch, and you shouldn't feel bad about it. Bill the hours for meeting preparation and accept that it's time for that communication. Ideally you should consider if the meeting could be asynchronous text messages. Can you just put a
@channel ping to get people to report their status? That may be preferred.
The worst feeling is not delivering something you promised on a day ago. The human response is to try to get the task completed as soon as possible and pass it off as complete on time. Knowing that I should just say that a task isn't ready would have saved me a lot of pain and late nights in my first few years of agency work.
An even worse feeling is saying no to someone who needs help, your projects and your sanity comes first. Say no to additional tasks that people want you to do without prior planning, there is no award for juggling the most tasks.
2 Projects Max
Whenever I think of the times when I am not stressed going to work, it's when I was assigned 1 or 2 projects per day. You're able to keep everything required of you in your head . Adding more projects makes it very easy to ignore a project in a day. Some might argue that as long as you can complete things in time, it's fine. However, eventually keeping up will tire out most people. When an employee has more than 2 projects assigned to them, priorities become blurry. It ends up being a shouting match of what's on fire more today.
If your job is to jump between projects, you are no longer just a developer, and resourcing needs to reflect that and get more developers on a project. And this was a distinction I failed to make going into the Architect role at first.
There is however a way to avoid this, and that is to have one project manager per developer. And this makes sense, tracking your next 3 tasks shouldn't be a developer's priority. Leave it to someone who knows what the client wants.
Remote Work: Blessing and a Curse
Fully remote work is a great selling point of agencies. It attracts talent that would prefer the comfort of their own home ant cut out the commute. But not being able to talk to your managers in person proves to be something that can take a toll if you're not careful. It's very easy to accidentally ignore a slack message. Make a point to reply to any pings even if you don't have an answer. That's a typical in-person interaction that you miss in a remote work situation. I still mess this one up even with my own friends. But ending your day with 0 pings when you close your laptop will make you feel more wrapped up, even if the answer was "I don't know, I'll look tomorrow."
Certain agencies will use timesheets to bill their clients by the hour. This makes perfect business sense. But as a developer, to account for what you were doing in tiny increments of time proves to be far harder than it sounds on paper. When you talk about it with certain staff, the answer is to do them as you're working. But if you're anything like me, that's not happening. I'm not switching tasks of my own accord. I'm being pulled between projects all day. So you're left with either doing them at the end of the day, or at the end of the week. This is the most stressful part of my day, as I've already spent the day or week working, and now I need to recap the whole thing at once. Out of all my pain points, this is the one I can't solve efficiently.
A lot of these things are such simple things that seem to just be common sense, but with how common imposter syndrome is in the tech industry, people push themselves way harder than they should for work that would be better done in more reasonable chunks. Taking care of your mental health before it starts interfering with your work is important. Stay sane.