31

I'm miserable at my first programming job (small company) due to a very long list of workflow and management issues.

These issues cause me a great deal of stress, to the point of feeling physically sick from dread in the morning some days. I understand this is extremely unhealthy and I'm planning on leaving as soon as I can get a decent job lined up, though that will be difficult (and will probably take a long while).

One of my managers is the head of the company (let's call him "Bill") who assigns me the majority of my tasks. Bill does a lot of the programming himself, but has severe problems communicating, delegating, keeping organized, among many other things. The vast majority of my issues come down to dealing with his (very problematic) workflow, and him not being receptive to changing it.

Early on I was bringing up these issues, diplomatically, to him and other managers, always making sure it's alongside a suggested achievable solution. The response is always the same: Bill says, "it's not a priority", "this is just how I do things", or (usually) total silence. If it's in person, his mood also sours. After so many times, I've learned to stop asking, which has become extremely distressing.

I've discussed a couple of the issues briefly with one of the other managers (who is also in programming, but is not a direct superior), and he seems to agree with me on the solutions. He also has implied feeling a bit stymied by these issues as well.

This is complicated by my direct superior being almost entirely unrelated to programming. In theory I should bring these up with him, but explaining technical process problems is difficult to someone unfamiliar with the workflow, and a language barrier compounds this. I've asked HR about him recently and they confirmed my direct superior is still him, despite very few of my tasks being assigned by him.

Ethically, it feels that these other managers should know about these workflow problems, especially as they're actively causing harm. I respect these other managers, and some part of me says I need to communicate this to them, so that when these issues aren't addressed, and I leave, they can infer why. But I don't know how to communicate these problems, or where to start, or if it's even possible at this point.

Do I (ethically speaking, not legally) owe my company this sort of "fair warning", to bring up issues that are severe enough to make me want to quit, even if I know there's no hope in fixing them? If so, how do I voice these concerns honestly and fairly, without becoming "the complainer" and souring my relationship with the other managers?


EDIT: My initial intent was to keep it brief, as the details tend to get rather longwinded in explanations in an already complicated situation. However, there's been several requests to give examples, to show I'm not just some hotshot new dev who thinks they know everything (which does tend to happen here it seems).

Here's a few particularly problematic workflow issues that have been dismissed/deflected/ignored:

  1. "Bill" doesn't understand merging. Instead, he will re-clone the repository in another folder, update to the destination branch, open a diff tool between the two folders, and overwrite select clusters of files from one branch over the other (sometimes 1000+ files). Then he makes a commit on the destination repo with a message no longer than 3 words.

  2. We have no issue tracker whatsoever. Issues and bugs are frequently reported by clients, and their complaint email is forwarded to me and several others. I investigate, and reply with my findings and suggestions to my superiors and to customer relations. Often a new email chain is started with a different and often unclear subject, and is often hard to correlate with other emails later on.

  3. I have virtually no code-related interaction with other programmers. There is no code review, no pair programming, no Q&A about how things work internally. I am pointed in a direction and told to go. Bill has said he's quite proud of this "sink-or-swim" strategy, even after I've expressed discomfort with it in the past. By now I have most of the ropes, but when I'm tossed into a new area of the code, it can be deeply distressing.

All of these I have brought up with Bill and other managers, with examples of specific problems caused, and short- and long-term solutions to moving past them. I made sure to phrase things as diplomatically as possible when doing this. In all cases these attempts were dismissed or ignored.

From conversations with friends in the industry (with years more experience than me), I've been told these problems are not normal.

11
  • 38
    Find a new job as soon as you can. You can't change the culture there, don't try. Jun 30 at 16:52
  • 8
    You have already given said "fair warning" many times. You don't need to repeat them if it puts you at risk or gives you stress. Just put in your notice and move on with your life. If they ask in your exit interview, just tell them "I've been raising the issues the whole time I've been here, and let us not pretend otherwise. The reason I'm leaving is because you clearly don't want to address them, so I'm solving them for myself alone." Jun 30 at 20:29
  • 5
    Definitely don't owe anyone warning. And if the problems are originating from the head of the company who is headstrong, it's unlikely the other managers can do much about it anyway.
    – RC_23
    Jul 1 at 2:31
  • 3
    It might be helpful to get some examples of the workflow issues under discussion here. Because essentially parts of this question translate to "I send the CEO detailed memos explaining to him that he sucks and needs to do what I tell him, and he ignores those memos and won't follow my instructions. What do?" And if that's really what you're doing, a reframe answer here might be "This won't work at virtually any place of employment."
    – tbrookside
    Jul 1 at 11:48
  • 7
    @tbrookside Wow. That is a lot of an assumption. That's definitely not what I'm doing here. You want an example? He doesn't know how merging works, so he copy-pastes select files from one branch overwriting another, then pushes a commit titled "merge". One time I indicated that this caused regressions X, Y, and Z, and makes it more difficult to determine which features came from where. I suggested he use the VCS' merge functionality to combine changes. He dismissed it as "this is just how I do things".
    – alcyone_83
    Jul 1 at 20:32

10 Answers 10

79

Do I owe my company this sort of "fair warning", to bring up issues that are severe enough to make me want to quit, even if I know there's no hope in fixing them?

No. You don't owe this. Nor is any fair warning likely to have any impact.

You have concluded that this job is not a good fit for you, due to the "workflow and management issues". You already brought these issues up to the head of the company and other managers. No need to go down this path again.

Find and accept a new job, give your notice and work out the notice period, put this one behind you and don't look back.

While interviewing for a new job, ask a lot of questions and try hard to understand their workflow and management. Make sure it fits your style better.

5
  • 27
    Last sentence is important; figuring out how to interview employers is important.
    – paulj
    Jun 30 at 14:06
  • 11
    And when being interviewed, do your best to not be negative about your current employer, and respect confidentiality as far as business processes etc. are concerned. Jul 1 at 13:33
  • 11
    Not sure if some other answer mentions this, but this is important: if you have an exit interview at current company, don't let them bait you into explaining all this. "Why are you leaving?" "I found a better position elsewhere". "What can we do to keep you?" (unlikely but they might ask)? "Nothing I can think of, but thank you for valuing my being a part of this workforce". Polite, nice, don't burn bridges or cause bad feelings. The fact that they are blind to their own problems is on them, not on you.
    – user13655
    Jul 2 at 17:05
  • 3
    Agreed on the answer and on the exit interview comment (if they request one). There is absolutely no upside for you in repeating any of this stuff in an exit interview or to third parties (at new job interviews or to cow-orkers). Just be nice and act happy to have been working with them and excited to be moving on to new challenges. Jul 3 at 12:20
  • "Why are you leaving the company?" (In best John Cleese imitation) "I already told you once."
    – EvilSnack
    Jul 3 at 15:53
44

Do I owe my company "fair warning"

No, it's a waste of effort with no positive potential for you. If you want to move on then just do so, don't let it affect your morale, it's just work and it's not your company.

1
  • 12
    Important: You do owe them to at least try to communicate this. You already did it, above and beyond. Debt settled. You don't owe them to fix their problems for them, and you don't owe them getting them to acknowledge their problems. You only control what you do: communicating the issues. You can't control whether they listen or not. You did your best, and more. Go in peace.
    – Blueriver
    Jun 30 at 23:02
10

You say this is your first job. Unfair as it is, that means you'll be quite a junior hire and therefore when you raise issues your manager (who has more experience and more clout than you) will seem much more believable when he insists there are no issues, or that you're the problem. In a functional workplace, problems with processes wouldn't be considered an issue of hierarchy, but as you've identified this isn't a functional workplace.

You've already seen this exact dynamic in action when bringing issues up with your manager and others.

At the end of the day, you were hired to do things like write code and provide technical feedback to non-technical folks. You weren't hired to improve the company's processes and clearly they don't value your feedback in those areas. Something that everyone learns in their first few serious jobs is that some problems in a workplace cannot be fixed without buy-in from higher-ups, and sometimes those higher-ups (for whatever reason) don't have that buy-in. At that point there's nothing you can do, and you simply aren't responsible for it.

So what can you do? Try to raise the issues politely and professionally and if it doesn't work or you've already done that then focus on doing your job as well as you can until you hand in your notice. In an exit interview you should be polite (you might work with some of your coworkers again, though maybe not at the same company), though you can definitely describe some of the issues you noticed. Talk more about how they impacted you, though. "I found the way [manager] delegated tasks to not work well for me as there wasn't enough information on what the tasks include" is a lot less aggressive than "[manager] sucks at telling me what he wants from me when he gives me stuff to do", for example.

Also, you should have a better idea now for what kinds of workplaces you like, and what to look out for in prospective employers when interviewing. That's a really valuable thing to learn.

9

I'm going to provide a slightly different answer to the others here, and it may not be popular - that's okay, I like to play devil's advocate from time to time!

You mention this is your first programming job. This has been picked up and remarked upon by others.

I would like to opine that junior developers often think they know things that they do not, and often form opinions that are wrong. I am making no judgment in your case - simply that this is a fact, and because it is a fact, more senior developers are often reluctant to listen to certain suggestions. Maybe they don't believe a junior can contribute much, or maybe they listened and quickly dismissed the ideas. The difference matters to company health and morale, but the outcome is the same, and can often appear indistinguishable to the junior in question.

In this situation, we don't know enough about the specifics to form any opinion about whether you are right, or your boss is right. So this is all abstract.

I would like to advise that you, or anyone in your position, should first try to learn, absorb, fully participate in, and excel at, any processes that your company has in place. Then, and only then, will you be in a position where you have the right to both make unrequested suggestions for improvement and also demand to be listened to.

Let me clarify that slightly. I have seen far too many situations of juniors thinking they know better than experienced leaders, and also far too many situations of arrogant seniors joining and thinking they know better than established personnel. Neither works; both cause friction and, ultimately, failure. In joining a new company, I believe everyone should exercise humility. Learn the ropes. Show the old guard that you have picked up their ways and understand them. And then, they may ask your opinion, but even if they don't, you have established a strong position in which you should be respected.

So from that perspective only, my advice would be to learn as much as possible and establish that respect and acknowledgement before being too upset that your proposed changes are being ignored. At which point, sure, it may become best to move on.

However, in this specific situation there is a complicating factor, which is the level to which it is affecting you emotionally. To say you have feelings of "dread" is pretty bad and I don't really think it's good for you to stick around. Moving on is likely the best thing to do, but you should take the opportunity to try and establish the source of that dread, otherwise it may follow you into your next role. Is it simply that you're not listened to? Is it that you don't like the work? If your managers are decent people then they would likely be horrified to learn that you feel this way. You may want to consider talking to them about your feelings - it could be worth a try.

Now on to the real question you've raised - do you "owe" them anything? I'll try not to repeat some of what others have said, as there are already some excellent answers covering a variety of perspectives.

No, you don't owe them anything legally. You're paid to do a job, and that job is programming. You might owe them something morally, as it's a Good Thing to try and give feedback and improve the workplace. But that's a grey area, and others have covered it. What I'd rather ask, though, is do you owe yourself? You mention that you will take a while to find a new job, plus presumably have a notice period. I'd suggest that you spend your remaining time trying to understand what is not a good fit for you, otherwise there is a very strong chance that you will find the same (or similar) issues at your next job. So you might find that even if they don't listen to your feedback, the process could help you in your future selection criteria.

But please, don't expect to join your next company and for all this to be different. A lot of what you describe is fairly commonplace, and even companies that pride themselves on listening and engaging will not want, or be able, to accommodate all requests/suggestions for change. If your ideas are rejected, that's partly on them, but also partly on you to accept and deal with.

Honestly, there's nothing in your original post that sounds definitely "bad" to me about your company. Without more information it's impossible for anyone to tell. So for all we know, "Bill" might be totally right, and you just need to learn. Or, you might be totally right, and they are getting things wrong. Neither situation should lead to such a severe emotional response, and so either there are additional factors you haven't shared with us, or you could be taking it too personally. It is, after all, your first job, and you are no doubt very keen for it to go well.

I'll finish up by saying that regardless of the causes or outcome here, you are quite clearly a conscientious and thoughtful employee, and with your level of concern and care you will likely go far in the right environment. Don't let it affect you too much. Good luck in how everything turns out!

15
  • I spent a lot of time worrying this when I first started to notice resistance. But at this point I am confident that the issues I see are genuine problems with the process. I didn't include details as this post was already very long and each one would be 1-3 paragraphs on a wall of text. (Example: we have no issue tracker whatsoever.) I have asked friends in the industry whether these specifics I'm seeing are reasonable, and each time they've confirmed that it's not normal. In general, there is no process, and that disorganization causes us to trip over ourselves constantly.
    – alcyone_83
    Jul 2 at 8:08
  • I've also put a lot of thought over the past few months into why it bothers me, and I've come to realize that it's because this process enforces very poor development practices. It stresses me out because I want most to grow my skills as a programmer, and I feel like in order to get comfortable here I'd be forced to move backward in that regard. It also stresses me that having looked at each of these issues, I am able to identify specific problems caused by each, and I am aware of what the route towards improvement is, and yet that can never happen.
    – alcyone_83
    Jul 2 at 8:12
  • That's sad to hear. Don't get me wrong - I'm not disagreeing with you, but your opportunity is bigger than I think you realise. Firstly you have both technical and social elements in any job, and it sounds like these guys lack technically, but are they nice people otherwise? Secondly, it can be good for your experience, and your career, to learn how to make a positive contribution and improvement - if ultimately allowed to, of course. There are ways to do this that you may not have tried, and learning how to do this in a friendly but technically-challenging environment can be very worthwhile. Jul 2 at 8:32
  • 1
    Howdy @Sean, thanks for the message. Did you read my answer? I mentioned that, with sympathy. I said it's pretty clear the decision to leave is likely correct - but to not miss a potential opportunity to learn from the experience, or it may be repeated. Did you read the comment exchange above? The OP says they are nice people. In my view it's not uncommon for inexperienced people to worry more then they should at times, and although the current role is not a good fit, I wanted to bring another perspective. I said up-front it may not be popular, and you are very welcome to disagree with me. Jul 4 at 16:15
  • 1
    @Sean, just musing further on this, I think you've missed the point of why I posted my answer. The OP has already decided to leave. My concern is over why they feel such a severe emotional reaction, and for them to try and learn from that in order to not repeat it. My answer was balanced, and I hope to perhaps help the OP to feel a little better. This will likely not be the only work situation in which their ideas are rejected, or in which they experience poor process. We cannot totally escape negatives - we have to learn how to deal with them. Your comment doesn't really reflect what I wrote. Jul 4 at 16:30
3

I feel for you. Based on the example you give in comments this sounds really frustrating. That said I highly recommend you try to learn the skill of not getting stressed out by the bad decisions of your superiors. It can burn you out very quickly and it sounds like you’re already on this path. This sounds flippant or like I’m blaming you but I’m not. I know this is easier said than done, but it may help to remember that at the end of the day the person in charge owns the process and if they want to ruin it, they can do so and they’re responsible for the problems this causes (if they’re blaming you for their mistakes, that’s a different matter entirely and not ok). Learning to distinguish between what is inside and outside my sphere of responsibility and to not sweat (at least as much) things outside my sphere of responsibility, even if I think they’re terrible decisions and even if they make my life harder, has really helped me to stress less. I’m still learning the skill, but I can say it’s an important skill for developers to learn. We tend to have strong opinions of how things should be done and tend not to deal well with it when this doesn’t happen.

If you struggle with this to the point of not being able to resolve it on your own, maybe try counseling? I know this might sound like an attack or dismissive but it’s not. Your work situation stinks and you have every right to leave it, and if it’s wrecking your mental health you should. That said, while they may not be quite as bad as your current setup, almost all jobs you will ever have will be like this in some way. Someone over you will make decisions that are suboptimal/not how you’d do things and will drive you to distraction if you let them. That’s why I’m suggesting trying to learn some coping skills from this situation, even trying counseling if that will help, because this problem isn’t unique to your current job. So unless you’re going to work for yourself, this is something you’ll need to learn to cope with, at least to a degree.

To answer the specific question asked, no you don’t owe your employer any information other than directly pertains to performing your job (other than required by law, or situations where you see behavior you need to report). Especially in a situation like this where it could harm you to tell your employer “the company owner sucks”, never a good career move.

1
  • You've put across some of what I was trying to get at in my answer, but more practically and directly. It's made me feel like mine was somewhat vague now! I think nail on the head with counselling - regardless of the cause, a step like that can be positive in helping deal with the emotional impact. The OP would definitely benefit from some help and support outside of the work environment. Jul 4 at 16:48
2

Do I owe my company this sort of "fair warning", to bring up issues that are severe enough to make me want to quit, even if I know there's no hope in fixing them?

While you do not owe the company anything more than a notice period, it is quite commendable that you want to at least raise the concerns you have; even if you don't plan to see them through.

If so, how do I voice these concerns honestly and fairly, without becoming "the complainer" and souring my relationship with the other managers?

Since you've explained that you are very much set on leaving then the best place for that will be an exit interview. This may happen before your last day in fairness (sometimes as soon as you turn the notice in and confirm that there's no coming back - your mind is set, you accepted another job offer etc), and should be done with someone above your current boss if done correctly.

That is the exact environment when soon-to-be-former employee can be open and honest about anything that drove them to quitting, and allow for someone to even rant in maybe not the most productive way, hoping to gain some glimmer of workable feedback from it.

If they don't offer you even an exit interview when you turn the notice in, ask your bosses boss for it yourself. If you are still told no, I would move on, clearly they are not interested in whatever you have to say.

Until that day just work as usual, avoid arguments, avoid additional stresses because your future is no longer tied to the company, so there's especially no reason to let it drive you mad.

2
  • 2
    I've read many times (especially WP.SE) that at a dysfunctional company (which this is), an exit interview is an exercise in futility, and the then-ex-employee voicing opinions then about someone else's problems will always be disregarded. Doing so also risks losing a reference, and given I have very little in terms of qualifications, I need every positive reference I can keep, for as long as possible.
    – alcyone_83
    Jun 30 at 8:17
  • 5
    @alcyone_83 Then why do you want to provide that feedback/warning at all if you don't think it's valuable to do? And get your reference before you do any exit interviews.
    – Aida Paul
    Jun 30 at 8:22
1

From many a company's perspective, once an employee has decided to leave, their opinions and reasons for leaving are not relevant. The employee is going / gone. Time to find another.

In other words, because you have decided to leave, anything you want to say is not important to them. (Unless you are leaving because of something that might get them sued or have government action against them.)

Don't waste your effort in trying to tell them what they are not wanting to hear. (I tried once. It didn't make any difference.)

The only time I have seen a company care about why someone was leaving was when the person leaving was a long time senior developer that the president of the company personally knew. Then, the president talked to that developer and took actions to change the situation. (The developer was able to move into a role where he essentially was on "vacation" for a long while to recover from the stress.)

1
  • This is not universal. Feedback in exit or near-exit interviews can be used as evidence by managers pushing for change. I have personally done so.
    – Adam Burke
    Jul 2 at 10:38
1

I want to share that in my experience that once you make the decision that you are ready to leave the job try to forget about all the disfunctional issues at the current work place. Focus on just trying to do your job to the best of your ability through your notice period and look forward to the new role you have found.

There is zero value trying to make comments or evaluations of the current work place. What you need to focus 100% on is you and that the decision to change jobs is for the advancement of your career based upon your goals and opportunities to gain new experiences and capabilities.

If there is an exit interview there is no value to rehash the issues you have raised about the company or its personnel. Instead talk about what your goals and future plans are. You will leave in a much more positive light and this will better for everyone involved.

I know there is always a temptation to try to explain what was wrong or to try to even lash out and provide negative feedback about the company. I suggest that you make every effort to avoid that. In fact you may want to even leave the impression that you appreciated your stint at this company and value what you learned there from the work you performed. Positivity along this transition of best for you and others you may encounter in the future.

-1

I'm going to give a slightly tangential answer.

When it comes to the employee/employer relationship, you owe each other:

  • Everything that you are entitled to by law.
  • The work you are assigned to do
  • Remuneration for said work

That's it.

To get to your question underneath your question:

You are thinking about quitting if certain issues aren't addressed. There are two schools of thought here.

The first is generally the more pragmatic and more recommended course of action. Your company should only find out that you are leaving, when you hand in your resignation notice. Some companies and management are entirely honorable and would never react negatively to someone looking elsewhere. The reality is that not everyone is like that and sometimes people take just someone looking elsewhere badly. They might start taking retaliatory action (nitpicking, bad 1:1s, put on a PIP for dubious reasons, etc.) and it's generally not worth the risk.

Now—if you trust your management (and I'd be careful with that. Even 'good' managers can turn nasty if they feel betrayed)—you could sit down with them and let them know the things that are an issue. I wouldn't couch it in the 'Fix it or I'm leaving' language.

I would phrase it more 'these issues are causing issues in the workplace and I think we should put some priority on them.' or 'This is causing a noticeably decrease in workplace morale and it might lead to some avoidable resignations'.

In short, it's your call whether you do or not. There are ways to raise issues that don't explicitly reveal your intention to leave, but as a general rule, there are rarely positive outcomes for letting your current employer know you are looking and plenty of negative ones.

1
  • I was a little unclear in my question, I was not intending on suggesting to my direct superior that if these issues are not addressed that I'll be quitting. I was wondering, given that I am seeing many more issues with process, on top of the ones I've already reported, would it be unfair to mentally resign myself to the idea that there's no point in reporting any more of them? Would that be a communication failure on my end?
    – alcyone_83
    Jul 1 at 1:33
-2

You have got a lot of answers which essentially boil down to saying that a programmer is a blue-collar worker separated from white-collar management by a class barrier. Management will never take advice from workers, so buckle down in your blue collar singlet and just do the job you're told to.

This is

  1. a sometimes necessary psychological survival strategy to insulate yourself from bad management
  2. simplistic
  3. popular and easy advice on forums such as these
  4. a self-built career barrier likely to keep you stuck at a junior or journeyman level
  5. not even great advice for blue collar workers

There's a saying that a programmer should be a doctor, not a waiter (Dave Farley link). Most of the answers here are "you're a waiter, get used to it".

You've already decided to leave because the current organisation follows poor practices (eg no issue tracking) and is resistant to change. With the caveat, as mentioned by @Tymoteusz Paul, that junior programmers are not always the best judge of these things, the stress and dread are not good, so I'm just going to take those parts as a premise.

I advise writing a two to three page memo on how things could be improved, and the negative consequences of their current workflow. This will help organise your thoughts. Write it in work hours. Don't send it yet - it sounds like you're too stressed out. Find the new job first. When you either find a new job, or just feel more confident, share it with the person in management you think would be most receptive. If you have a new job and are definitely leaving, share it with a few people.

They might ignore it. That's fine. It's as much for you as for them. It is a way of defining what a good professional environment is for software development, and thinking about how to establish and maintain it. You will need this in every job.

Or maybe people are more receptive than you think, but without clearly argued, concrete suggestions, they don't see the way to change things. Maybe Bill will leave next year and they want you and your more professional attitude back at a higher salary.

Regardless, by thinking about what the organisation needs, not just what it asks for, you will be improving as a software professional. Be a doctor, not a waiter, by writing up and sharing your considered diagnosis with the patient.

2
  • Programmers get paid to think. If you behave like a robot, you'll get treated like a robot, and paid like one too.
    – Adam Burke
    Jul 3 at 1:07
  • I really like Adam Burkes answer. Thats is a good way to think about it, however we will experience a lot of sub optimal things and people that doesnt "appreciate" this. So you have to learn how to deal with that and compartmentalize it, i think would be the best way to frame it. And not let it affect your behaviour as a professional.
    – cognacc
    Jul 3 at 8:40

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .