AppDirect Blog

Company & Culture

5 Workplace Survival Tips for Developers

By Stephanie Petry / Oct 13, 2016

Being a developer isn’t easy. Of course, what snags, pitfalls, and cons there are to the trade fall very much into the #FirstWorldProblems bucket, but that doesn’t mean working on any given project can’t drive you to the brink of desperation and despair.

As a dev, you get to see projects from a different side than other stakeholders (i.e. the client, your boss, that “ideas guy” in marketing who drinks Soylent and wears blazers in the middle of summer). That means you see challenges and opportunities in a different light than other stakeholders or even see a whole different set of challenges and opportunities altogether.

And that can be frustrating. You’re often seen as bringing a whole new set of problems where (others think there are none, or the creativity and innovation of one of your ideas is completely lost on other team members as overkill or completely unnecessary.

Well, if you’re a practicing developer and you enjoy solving problems with technology, too much to ever give it up, here are five workplace survival tips to keep you from getting discouraged, demoralized, or outright burning out.

1. UNDERSTAND THE PLATFORM, FRONT AND BACK

Every platform that you’re ever going to work on is going to have some kind of back-end and some kind of front-end somewhere down the line (whether it’s the web or desktop UI). Without one, the other doesn’t really have a purpose (or make sense at all, for that matter).

After all, what good is a back-end that you can’t interface with it, or a front-end that doesn’t do anything or display any content or data?

Regardless of the end, you’re working on, understanding the potential limitations of the opposite end will go a long way in streamlining your workflow and allowing you to move on to new challenges instead of getting bogged down in rehashing old ones. Basically, when you can anticipate needs or constraints, you’re in a much better position to communicate them to other stakeholders and keep the project moving in the right direction.

2. WORK MODULARLY

While seeing the big picture will help you anticipate needs/constraints and streamline efforts, a big part of maintaining momentum (as a developer) is tackling problems one at a time. This means breaking problems down into smaller parts and developing solutions for those smaller problems.

In other words, develop small programs that do one thing really well (and compose easily with other programs).

Working on projects modularly will help you simplify your workflow and streamline the progress of your entire build. With a modular approach, you can better (1) identify and understand challenges, (2) find solutions more easily, and (3) isolate and troubleshoot bugs because fixing them means fixing the code of a small program instead of a big one.

3. THINK IN TERMS OF BUSINESS VALUE

Customers and end-users think in terms of value, not frameworks — and so do a lot of the other non-dev stakeholders you have to work with on a daily basis. This includes product managers, sales & marketing, and even the senior management. Learning how to think in terms of end-user value instead of framework capabilities will help you better understand project needs, communicate requirements, and devise solutions.

Think like a car ad. Focus on handling and performance over what’s under the hood. Remember, you’re building something for end-users, not engineers.

Focusing on framework capabilities can cause a lot of friction because it can cause a lot of confusion (for non-devs), and keep you from getting your point across. Thinking in terms of business value, however, will allow you to frame problems and solutions in a way that other stakeholders can not only understand but relate to.

4. NETWORK & MAKE FRIENDS/ALLIES

You can’t know everything, and you certainly can’t do everything. Having close contacts (allies) on other teams will help you (1) anticipate their needs before you start coding, (2) better communicate some of your own team’s challenges, and (3) manage expectations so that you can foster trust/patience, and minimize the needs for revisions/versions.

When you find yourself butting heads with another stakeholder or having trouble communicating with them, find some common ground.

In other words, when you run up against major challenges, don’t frustrate yourself by trying to tackle it as a lone wolf. Instead, take the time to discuss it with other stakeholders, to really listen to them, and see if you can up with a workaround as a team. Oftentimes, we don’t have every piece of the puzzle we’re working on, and it’s only by talking to others involved can we find the pieces we’re missing.

5. WORK HARD, PLAY HARD

A big part of persevering through daily stress is staying motivated, and a big part of staying motivated is being able to see (and appreciate) the fruits of your labor. In other words, staying motivated has a lot to do with being able to measure, track, and enjoy your progress.  

Essentially, after every sprint or feature build, you have something to celebrate (even if it’s not perfect, yet).

Revel in that accomplishment and celebrate with your teammates. Whether it’s a quick ping pong match after a productive meeting, lunch after troubleshooting a bug, or after- work drinks, once your latest release is deployed, blowing off steam as a team will help you all decompress and stay motivated — not to mention share key post-mortem insights. And consider inviting other teams/stakeholders; it’ll help sooth tensions that may have arisen during the project, and foster more understanding and trust for upcoming projects.

THE STRUGGLE IS REAL

Every job has its ups and downs, and what makes most of those downs is that they’re unexpected. But devs seem to experience their own, special brand of challenges because they see projects from a side (the inside) that other stakeholders don’t — and probably couldn’t understand even if they did.

As much as that vantage point can be enlightening, it can also be alienating. Other teams and departments don’t always understand the challenges you face, so they don’t always appreciate the eloquence of the solutions you provide. But if you take the time to really understand the platform, build it out modularly, consider the business value of different features, build relationships with other stakeholders, and blow off steam by reveling in your accomplishments, you should be able to stay motivated and keep making the world a better place, one line of code at a time.