1

I'm currently working as PHP developer on a small web design company. My main function is to develop websites and small web projects. I have good relationship with all the co-workers and my boss. It's not a "Dream Job", but we have some good projects and it is really better than my previous job.

About 1 year ago, one of my bosses at that time (currently he doesn't make part of the company anymore) was "struggling" to deal with one particular project because he had no enough time for his functions and also for this project. So, he told me I would be joining the project.

According to him, it would be easy. The project wasn't developed by our team, but by freelancers, so, my task would be hear from the client and forward the needs to the freelancers in charge. I would not be programming or developing anything for this project, just checking, testing and forwarding these needs (this is what I've been told).

This client, in particular, was a company lead by a whole family and almost everyone was so "sincere" in a "impolite" way, what make them "rude" people. (That kind of person that says "I'll call my lawyer" for anything).

The project was different from the standards of the company. It was a big project and wans't just a common website, so it would be more complicated to change or implement something.

Right after my first meeting with them, my boss told me I could make the changes they need on my own, without forwarding to the freelancers. I didn't know tecnically the project, and it used functions that I didn't know. I didn't feel prepared to do that. It was hard to change a simple button at first time, not because it was in fact hard, but because I haven't any time do learn anything from the project.

Some time after, the freelancers dropped the project, and it was all left in my hands. I made the best I could and confess I have learn a lot, but also I had tons of stress.

Sometimes I need to work from 8am to 9pm everyday just to meet their (impossible) deadlines, and worst of all: the whole project is a mess. The client don't know a lot of thing about their own business and the project's structure is not so good made.

I'm really open with current boss about this, and he understands me, but there is no way: we need to work for them (due to many factors).

I've considered quiting my job because it made me exausted and I've been experencing burnout symptoms very often, and also, I had some anxiety/panic attacks just by hearing the phone ringing, and thinking it could be them calling me.

But I don't know what to do. If I quit, there is no one else who is able to lead this project (based on to their experience and company's employees number). I feel that would not be a positive conduct.

At the same time, my job brings me joy sometimes: I like the people who I work with, I have a reasonable good wage, and sometimes I work with projects that inspires me. As I live in a small city, It would be hard to find another job in technology area here, so I would need to move too.

What could I do to feel better and don't drop this bomb at another's hands? Is it possible?

7

I am a fellow Brazilian and I was in your shoes in some moments in my career: I was the only developer working for a big project or customer and if I left the company I would be "harming" the project (more on that later).

Due to that, I postponed changing jobs when it would be good for me, to not let anyone uncovered.

This happened mostly 15 years ago (I now have 23 years of career in IT).

The lessons I learned over time:

  1. it is not my duty to compensate for the lack of planning or interest on other parties

  2. when a company wants or needs, it will fire you

  3. you are the only one responsible for your career

Extending on 1: if it is a important project, they need to put more than one resource to work on it, because it is unprofessional to have just one person on it. what happens if you get ill, for example?

If they are unwillingly to put more money in the project, is it really that important?

Also, if the company claims it has no money for an extra developer, it is either because it is cheaper to have only you working on it, or because the company is not in a good shape and you should consider your own bills on your strategy.

I usually would feel myself morally obliged to the company, because they "allow" me to learn a lot, and I would feel I had ownership over the project. Now I see that these companies had no strategic planning at all, and were willingly to sacrifice the quality of life of employees to have a more lucrative deal.

Extending in 2, the companies need to fire professionals if they can't pay them. If you are the only one working for this project and that customer cancels the contract, will the company keep you? If in the future, you become expensive (due to yearly increases in salary), will they keep you? I was once called to an interview when I was a junior developer in which the owner of the company told me he had 2 projects that were maintained by a single senior developer, but he was becoming too expensive. He clearly said to me, "your job will be learn as much as you can from him and when you tell me you are ready, you will take his position". I asked him back how much time I would have in the company before he did that same thing to me, and we obviously parted ways.

Extending on 3, you have ahead of you a long career, in which things you come and go, and the only constant is that you will have to keep evolving your skills. You are the only one who can plan that, and choosing carefully your jobs is a way to do that, so you can always be progressing in our profession, while still having a good work/life balance.

good luck

| improve this answer | |
  • 1
    +1 just for "I asked him back how much time I would have in the company before he did that same thing to me". Everybody should always ask this. – A. I. Breveleri Mar 30 at 18:49
  • 1
    It seems that my company is not willing to work with this client for a long time due to all the stress they cause, so I feel they will not spend more resources in it. At the same time, it is highly unlikely the client can find a development company to work with them quickly, as the project was developed and maintened by us. In any case, you are right. I must decide about my career and can't relay entirely on the company's decisions, after all, this is due to their bad planning. Thank you! – Lucas Lima Mar 31 at 11:35
  • @LucasLima, in the long run, you should think first on you and your career. In 5 or 10 years time, probably neither this company or this client will be related to you, but your career will still be there. Do the ethical thing, that is to warn them that their current strategy is not sustainable, propose solutions, and focus on what is best for you and your career. Cheers – Quaestor Lucem Apr 3 at 15:22
4

If I was your boss, and I wanted to keep this project, I would put someone else on it with you. This should serve three purposes:

  • at times, you and the other person will be pairing and learning together. Because you have to talk it through and communicate, the learning should go faster. You'll have some emotional support while you try to cope with the chaos.
  • at other times, you and the other person can split up to do things -- ok, I'm going to do all the button changes and you do the new export format kind of thing. Or, ok, we've established how to do this change that needs to be done in 10 places and we've done 1 together, you do the other 9 while I write up the email to the client or deal with that new request or whatever. This will let you go back to working 40 hours a week, which is critically important.
  • later, the company will have two people who know how to do this thing, so there is less vulnerability to you leaving. You're also less likely to leave, because of the first two things.

You've been very open with your boss, who appears to understand how difficult this is for you and how hard you've been working for them. I am sure there is plenty of money, since they used to pay multiple freelancers to do all this. They can afford another person without about your level of experience. It's certainly not unreasonable to ask that such a person be hired. (It's tempting to ask for an expert in the technology, but that person would be expensive, and would probably spend the first few weeks or months just shaking their head at the strange way you've done things and trying to fix your architecture. If you want an expert, you want a very specific set of skills above and beyond just knowing the technology.)

If you ask your boss to hire a team-mate for you, explain these three reasons. If they refuse, you'll know they don't mind burning you out and leaving you broken just so that the company can have all of the money that used to go to the freelancers. Knowing that, you'll know what your next steps should be. But a sensible boss will get you some help.

| improve this answer | |
  • Thank you, Kate. Actually they would not hire anyone else. The Company is not at the moment of "spending" more money (they had make this clear, not for this particular case, but in general). I am currently trying to share this project with another coworker, but it will take time as he doesn't have all the skills. We just didn't have enough time to talk about it because of other projects deadlines. In any case, I will try to split it as soon as possible. – Lucas Lima Mar 28 at 23:35
  • If you are seriously considering quitting, then "not asking because they will probably say no" is pointless. Ask. Tell them you don't want to quit and you're asking for help to enable you to stay. Don't threaten to quit, make sure you phrase it as "I want to stay, please help me to be able to stay." They may say no, but gosh, you have to ask. – Kate Gregory Mar 30 at 0:11
1

Instead of quitting, reduce your output to that of one dedicated and motivated person.

If your employer cannot provide the resources to meet this client's demands, then your employer cannot afford this client. It is not your responsibility to stretch yourself to fill this gap. You owe your employer the work of one person, maybe 1.2 person during emergencies, and no more.

But if you quit, there is no one else who is able to lead this project. In that case, the company will be unable to deliver anything and will lose the client.

Do not let the client set deadlines. The client sets the requirements, you set the deadlines. Take into account all the learning you will need to do for each requirement, don't base your estimates on what a perfectly knowledgeable developer could do.

Help the client set priorities. If the client can't or won't discuss priorities, you decide. Then write up the priority list and send it to the client, for "review and revision". This means you'll proceed according to your list unless the client changes it.

Don't let the client push you around. Tell him what you can do and then do that. If this leads to the loss of the client, then your employer is no worse off than if you had burned yourself out and quit.

| improve this answer | |
  • The deadlines are complicated for this client for two reasons: 1st they just starts to sell new services without having the resources for it. 2nd their kind of business is "bonded" to some government edicts that put on their own deadlines, so we all need to respect these deadlines. This is also the client's fault due to the lack of planning, but sometimes it is imprevisible for them too. For others demands (no mandatory) we are already setting priorities, but they show up daily with new ones. By the way, I agree with you. We have no resources to meet client's demands. – Lucas Lima Mar 31 at 11:48

You must log in to answer this question.

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