DEV Community

Cover image for A Reflection Guide on Determining When it’s Time to Quit
Beier Cai
Beier Cai

Posted on

A Reflection Guide on Determining When it’s Time to Quit

At Commit, we work and converse with software developers from different walks of life. A common theme among these developers is that they don’t get many opportunities to work on impactful projects. Most developers know when they’re not entirely happy in their jobs, but certain factors and circumstances keep them going. We want to shatter this pattern by breaking down red flags that indicate it’s time for developers to quit and find a better opportunity. Take a moment to review each warning sign and the reflective questions to determine if you’re happy or unhappy in your current role. When you reflect on these questions, put yourself in the present moment to identify how you feel right now, in the present.

Lack of Career Growth and Development 📈

  • Are you working on projects that excite you and challenge you?

  • Are you given learning and development opportunities?

  • Are you given the freedom to get creative and invent impactful solutions for important problems?

  • Are you learning and progressing in your role?

  • Is your work making a difference for someone or something?

If you answered yes to these questions, that’s great! If you answered no, it might be time to evaluate your job satisfaction. Developers love a good challenge and the freedom to get creative and inventive. Locking up their potential and assigning them boring projects and heavy legacy work will not excite them. Instead, they may start dreading every single day of work.

When you wake up in the morning, how do you feel about going to work?

Poor Compensation and Benefits 💰

  • Are you being fairly compensated?

  • Are the benefits you currently have of any value to you?

These two questions are vital because many developers are overworked and underpaid. Many of them have benefits and perks that don’t even provide value to them. Would you rather have three weeks of paid vacation or free lunch every Tuesday? Probably the first one, right? Well, we don’t blame you. A developer’s job can be extremely exhausting, and you can only expect them to do so much. It’s only fair to provide value to them by offering fair compensation and benefits that actually help and fuel them (i.e. health insurance, flexible work hours, paid time off, paid access to learning opportunities about the latest tech, tuition assistance etc.).

How satisfied are you with your current salary and benefits?

No Job Security 🔒

  • Are you being given fewer projects to work on?

  • Are you excluded from important meetings?

  • Did your company recently hire someone with the same tech stack as you?

  • Are you asked to hand over projects and critical responsibilities to someone else?

  • Is your company financially unhealthy?

  • Are you anticipating a layoff?

These questions can help you determine whether your job is at stake and if you’re in a position to take a proactive decision. Not only developer jobs, but no job can provide you 100% guarantee that you’ll be employed for the rest of your life. Things happen, decisions change, you may work all your life for a company or suddenly get laid off or fired, or you may also choose to quit. But being observant of key differences in your day-to-day work and how you're being treated can help you make wise decisions to protect your financial position.

How secure is your current job?

No Work-Life Balance ⚖️

  • How do you feel when you start your day and when you end your day?

    • Are there differences between how you feel during the start vs the end of your day?
    • Based on your answer, why do you think you feel this way?
  • Do you have a work-life balance?

  • Do you have boundaries in place?

    • If yes, how did you communicate your boundaries to your team and manager? Do they respect your boundaries?
    • If not, why? What or who is preventing you from setting boundaries?
  • Are you working extra hours?

    • If yes, why? Is this a recurring pattern?
  • Do you have enough time for yourself during the work week?

    • If not, why and what is the reason?

Developers are often tasked with so much time-sensitive work that they forget about their own lives. They strive to complete the tasks at hand but end up skipping breaks and burning the midnight oil to do so. In the short term, it may not seem like an issue, but it could lead to detrimental health problems in the long run. The only way to take care of your health and be productive in your job is to maintain a healthy work-life balance. You can start creating this balance by prioritizing your tasks, setting strict boundaries, taking breaks, and, importantly, saying no to additional work when you’re already overwhelmed. It is crucial to ensure your code works but not at the risk of your health.

How does your company implement a healthy work-life balance?

Burnout 😰

  • What is your work schedule like?

    • Do you allocate time for breaks?
    • Do you have flexible working hours?
    • Are you under pressure?
    • How are deadlines set for the tasks you’re assigned?
  • How is your workload?

    • Is it manageable?
    • How are the deadlines set for your tasks or projects, and are they reasonable?
  • How have you been performing in your role lately?

  • How do you feel about your job?

  • How are you feeling physically and mentally?

As mentioned previously, failing to take care of yourself and ignoring early signs of burnout can harm your health. The World Health Organization describes burnout as a syndrome that stems from chronic workplace stress that has not been appropriately addressed or managed. Pulling data relevant to developers, a study conducted by Haystack revealed that 83% of developers felt burnt out during the pandemic.

How is your company supporting your health needs?

Poor Team Collaboration 👩‍💻🧑‍💻👨‍💻

  • What is it like to work with your team?

    • What works well?
    • What needs improvement?
      • How do you feel working with your team?
      • What do you like the most?
      • What do you like the least?

Many developers have to work in teams as a natural part of their day-to-day job. If it’s challenging to collaborate with fellow team members, it will be more difficult to collaborate on building projects. Like the good old saying, two heads are better than one; that’s why when developers work in teams, they’re able to boost productivity, improve code quality, foster new ideas and inventions, and learn from one another to develop their skills further.

Does your team lift you higher or leave you stranded?

Too Many Blockers 🚧

  • Are you working on a lot of legacy code?

  • What blockers do you face in completing your work or project?

    • If you mentioned blockers, are these blockers within or outside your control?
  • Are you working with outdated technology?

In some companies, developers spend most of their time repairing poorly written code and working on legacy projects with outdated tools and tech. This usually happens due to technical debt, prohibiting developers from doing productive work such as impact-driven brainstorming and building exciting products. If legacy work persists, developers eventually lose interest in their work. A few stats indicate that 52.9% of developers would rather not work on legacy code, while 29.4% only do it because it’s part of their job. The leading reasons for their frustration are the fear of breaking something, spaghetti code, deprecated tech, dependency, and missing documentation. Do you know what developers said would be a potential solution for this? They proposed these top two solutions: burning the legacy code down with a flamethrower and quitting their jobs.

Are you working on meaningful projects or burning cycles with technical debt?

No Recognition 🏆

  • Do you feel valued and appreciated by your manager and team?

  • Do you get the recognition and credit you deserve for the work you do?

    • If yes, how often?
    • If no, do you know why this is the case?
      • If you don’t know why, have you tried to find out why, and what steps have you taken to get clarity?
  • How are you treated by your team and manager when you accomplish something?

  • How are you treated by your team and manager when you make a mistake?

  • Are there differences between the two treatments?

Though developers are expected to code, maintain, and ensure smooth systems operations, they also deserve timely praise, recognition, and appreciation from their managers and co-workers. If managers can spend time assigning new projects and responsibilities, they can also allocate time for regular one-on-one meetings with their direct reports to ensure they’re doing and feeling well. Going the extra mile for a company mission to not even receive a few words of appreciation can be highly demotivating.

Would you want to stay at a company that doesn’t recognize or value your input?

Unpredictable Future 📉

  • How do you feel about the company’s future and the direction it’s headed?

  • Do you see yourself working at this company one year from now?

    • If yes, why?
    • If no, why not?

Not all companies are successful, and not all are failures. It all depends on the strategic decisions made to move in the direction that makes the most sense for the business. Since developers are often included in core projects, they may have a rough idea of whether the business is headed in the right or wrong direction. If they can’t see a future in how the company decides to move forward, they would be hesitant to stick around. In some cases, all the other red flags we discussed could be influential factors that lead developers to sense an unpredictable future. They may no longer want to tolerate the work environment and may want to start their own business or find a different opportunity that better meets their needs.

How do you see your company evolving?

Toxic Company Culture 🏢

  • Are the company’s core values reflected in its actions?

  • Do you have a healthy work-life balance?

  • How do you feel about the management?

  • Does your manager have regular one-on-one meetings with you to discuss your career goals and aspirations?

  • Does your company encourage team-building exercises to improve team dynamics and communication?

  • Do you feel like you’re in a safe environment to express your thoughts and feelings (respectfully)?

  • Do you feel trusted by your team and manager?

  • Do you trust your team and manager?

  • Does the company invest in you and your fellow employees?

  • Are you fairly rewarded for your contributions?

  • How are you generally treated by your co-workers, managers and management team?

Source: Medium

A company’s culture may not always be consistent with how it’s portrayed publicly. Some companies uphold their core values, while others have entirely contrasting values. To gain a better understanding of whether your company is fostering a positive culture or not, take a look at Nagielski’s Hierarchy of Developers’ Needs. You're in good hands if your company meets all the criteria outlined in this hierarchy. I would be concerned if not because this hierarchy captures all the critical developer needs we’ve discussed thus far. If your company cannot offer you at least the bottom three tiers of this hierarchy, that's a major red flag, and you may need to re-evaluate your job.

How does your company rank on this hierarchy of developers’ needs?

Developer Happiness Truly Matters 😃

Stack Overflow’s Pulse Survey on Developer Happiness reveals results that complement the ten areas we discussed to determine if it’s time for developers to quit their jobs. Notably, happy developers indicated having:

  • Many growth opportunities.

  • Fair salaries.

  • Healthier work-life balance.

  • Flexible work schedules.

  • Autonomy to solve problems as they wish.

  • A stronger sense of productivity.

  • The ability to observe the impact of their work.

  • Managers who understand their jobs.

  • Positive, healthy work relationships.

Source: Stack Overflow

Now, we pass the torch to you, hoping these reflective questions and tips help you assess your current company and position to determine if it’s the perfect fit for you. Don’t forget that you shouldn’t have to settle for anything less than what you’re truly deserving of. Take a step back from your daily, busy routine to patiently observe and reflect on your thoughts and feelings to determine what brings you the most and least happiness as a developer.

Oldest comments (0)