2

I'm working for a enterprise company doing software development. Our software usually doesn't require many design decisions. UI usually is very simple and all the complexity is in the "cloud". I'm in a 5 persons team that includes:

  • Developer
  • Developer
  • Designer
  • PM
  • Director

I'm one of two developers. When there is a project, PM and Director do a lot of talking about it. They hold long meetings fantasizing about the product, drawing diagrams on whiteboard and so on. The designer Makes a very simple mock image of how the UI should look like and from there, those three other surfing web and reading BuzzFeed while we two are committing code left and right. Because PM and Director don't know how we coded it up, they can't help from a certain point. Their ideas are actually become a problem because they don't understand how we make the software. Designer's input is mostly nit-pick.

I feel I'm doing other people's job plus my own job. While I'm enjoying building products from ground up and not having to deal with micro-management, I feel bad when I see at Friday 3pm, those three people who are "working from home" are not responding to IMs but I need to be in office and work up to 6-7pm.

It's not first time I'm experiencing this sort of feeling. In my previous company it was the same. Many people just do the talking and playing politics and few people really sit down and make it happen.

Is this nature of being a programmer or my company management schema is wrong?

  • 1
    Their job is not to know how you build software; your job is to make their vision come to life. While you can certainly try to explain potential risks / inconsistencies of what they want (and you should) ultimately how the software works is up to them, that's their job. The designers job is also to nitpick; the only part of the software is the part users will see, so again it makes sense to make sure it's perfect. The only valid complaint is that you need clarification and they aren't there to give it; that is something that should be addressed. – Andy Nov 6 '14 at 1:18
  • 1
    Related (from the "I resent the coworkers who aren't working" perspective, not the different-job-functions perspective): workplace.stackexchange.com/q/3840/325 – Monica Cellio Nov 6 '14 at 19:17
11

Your job is to code. Maybe except for that other developer, they can't code for you. So far as I can gather from your post, everybody else did their part and passed on the coding to you. Coding is a lot of work and the tough part - what did you expect? Frankly, whether somebody else, everybody else or nobody else is putting less than 40 hours a week is none of your concern. Is it unfair that they can do their jobs on less than 40 hours a week? Well, fairness is irrelevant and speaking of lack of fairness, I resent the fact that I wasn't born a Rockefeller, too :) Your only concern is to code and hand over the deliverables on schedule, and that's what you're paid to do. Now, if you were doing your job plus the job of the other developer, you might have grounds for complaint.

4

If you want to stop feeling like a martyr, perhaps you need to shift your understanding of the situation and also contribute to it differently.

You do not appear to appreciate what the other people on your team are contributing. It looks like a "lot of talk" and "fantasizing" to you, but a director spends many, many hours every week in his/her head thinking through the roadblocks the organization needs to get around and honing a vision for the projects you are undertaking to keep the organization focused on its goals so you don't get lost along the way. In addition to thinking about how developers might code, the director and others on the team also have to think about how the company is going to pay for the development, how it will manage cash flow during development, how the company will market the product, whether the market will change before the product is fully developed, and how they will court investors for this and future projects (and if the company is working on more than one project, multiply that work by however many teams there might be). A director and others on the team are focused not just on this project but on the future of the enterprise - what comes next and next and next. Depending on the nature of your business, there could be a whole host of other concerns that you know nothing about, like attracting new talent, relocating for tax breaks, legal issues, infrastructure issues, etc.

Additionally, you may not be contributing information to your team that could aid in the decision-making that is being done (which you are unhappy about). Maybe you are not being invited to contribute, but you should make an effort anyway to make sure that people who are making decisions about the coding understand the ramifications with regard to time. When an idea is still in its infancy, you should ask for a meeting to discuss the coding decisions being made up front (design-wise) that will be difficult to change further down the line. When asked to change something, explain how this is a departure from the original design, how this new decision might affect future decisions, and how much time the desired change is likely to take you to execute. Reasonable bosses do not expect you to be super-human, and they do not know what they are asking of you unless you tell them.

Beyond this, I would concur with @Vietnhi Phuvan that this is the nature of your profession. Acceptance would go along way toward feeling better about it.

  • 2
    There is also a certain amount of complaint about working overtime in the question, I'd add that if those who lead the company don't work horrendous amounts of overtime then maybe that's a sign that they don't want their staff to either... – James Snell Nov 7 '14 at 14:59

Not the answer you're looking for? Browse other questions tagged or ask your own question.