0

TL;DR: Boss insists on an expensive cloud-hosted VM for a development environment for a cost-conscious client. He has misunderstandings and reservations about using physical devices for development work due to client ownership & risk concerns. We're spending weeks on what I see as a non-issue, and not making progress on this application. Boss is not receptive of explanations or arguments one way or another. It's a 2 person team and There is more humming & hawing and misc bureaucracy than I even had when working at a pharmaceutical lab... At this point I just want to get to work for this client, not sure how to move this forward.


I'm a remote developer that works for a small company (<10 people) that does miscellaneous contracted development for other businesses. I work solo on most of our projects, and my boss (The company owner, lets call him Frank), does a little development here and there on the side. But for the most part he runs the business, and as a result has fallen a bit behind on how development has changed over the decades (e.g., source control being a "new thing" that's not utilized by anyone else but me).

We are starting on a new client with a sizable greenfield project where I will be the solo developer -- we expect this project to last 2-3 years. They are very cost-conscious since they are a small 10 person team, and their application will be hosted on a cloud provider like AWS.

We have finally come to the point where I can get started on their product; however, Frank insists we need to sort out a remote development environment. And we have been going back and forth on this for weeks now, without making progress. The problem is that a capable enough VM is going to cost the client ~$250/m in hosting costs ($3000/y, or $9000 over the next 3 years) which is exorbitant given how cost-conscious they are. I suggested just developing on a local device, which has been the standard at every other company I've worked at. In my experience dev environments are mobile, and can be taken with you on a laptop, fired up on a VM, or used on my workstation. They're disposable, and are a few installs and a git pull away from being setup again.

Frank is very concerned about using a physical, on-site, device for development. He seems to believe that the code and the application lives on this device, and if it's lost the client loses their product. Frank is concerned that the client needs full ownership of everything, all the time, and that using a device not in their possession is unprofessional. I have explain in many ways that this is not the case, and that a development environment in our stack is entirely disposable, that the code is held in a remote repository and backups maintained elsewhere.

Frank does not seem to understand that the development environment isn't particularly special. I have explained in many ways how it functions, but his opinions and assumptions do not change. We are wasting weeks of time spinning our wheels over something as mundane as where the development environment should be. For me, it doesn't matter -- it's mobile and I can set it up on any device whenever I need to. This is to ensure I can get work done even if I'm traveling, or lose internet access. A remote VM is fine, it's just less time efficient due to latency and other miscellaneous issues that are part of developing remotely, and it will cost the client more money.

I'm not sure what direction I should go, or what to do at this point. We have enough self-inflicted red tape to make a Fortune 500 company proud, and it's only the 2 of us. It's extremely frustrating.

How would you navigate this?

Clarification: There are 7 people employed by my company, but for this project it's just me as the developer and my boss as the boss.

  • 3
    "How would you navigate this?" Let the boss do what he wants, if he loses the client it is on him. – sf02 Jun 3 at 20:25
  • So it sounds like you've done other software projects for this small company. Was the dev done on local devices or remote VMs? If local, why is the boss concerned in this one particular case? – DaveG Jun 3 at 20:29
  • @sf02 My concern is that this clients contract pays a good portion of my salary. Even then, this is still frustrating when we can just get to work... – Douglas Gaskell Jun 3 at 21:31
  • @Dave I took over clients from the previous dev who left, those where performed on remote boxes hosted internally by the companies who we contracted with. Which are fundamentally different setups than we would have here. – Douglas Gaskell Jun 3 at 21:31
  • What do you mean by "boss"? The company owner? Or some lowly manager? – gnasher729 Jun 3 at 21:50
5

The boss is the boss. He takes responsibility for his decisions, good or bad. If the client says to him "why are you spewing my money on this stupid thing that we don't need" and he loses the client, that's on him, not you (and if he tries to make it on you, run away VERY FAST). Other than that, he's the boss so do what he wants. You have done your duty to explain to him why he is doing something wrong and why it's wrong, the rest is above your pay grade, as they say.

That said, if it's just the 2 of you in this "company" and he's so backwards as you say, you may want to start looking for another job. No self-respecting company using technology would hire such a consulting firm to do their projects. You may find yourself without a job sooner rather than later, through no fault of your own.

1

The problem is that a capable enough VM is going to cost the client ~$250/m in hosting costs ($3000/y, or $9000 over the next 3 years) which is exorbitant given how cost-conscious they are.

You as the developer really shouldn't concern yourself with costs - that's your manager job. If he's happy that something is within the client's budget, then that's all that matters. You can make an argument that his proposed dev environment is going to be cumbersome to you, etc., but that is something separate, and even so, it is still his decision (maybe the client insists on this).

Separately, you don't say where you or the client are located, so I don't know how expensive $9000 is relative to local salaries, etc., but I can't imagine that there is anywhere on earth that $9000 is significant relative to 3 man/years of software development cost. Think about what you are going to get paid for the next 3 years, think about what your firm is going to bill the client for your time (at least twice what they pay you), and presumably $9000 is a drop in the bucket.

Conversely, if there is a client so price sensitive that an extra $9000 is going to really be considered exorbitant (regardless of how large the total cost of the project will run) then this is going to be a horrible working situation - how will they react if it goes a month or two over budget, or you need to purchase a 3rd party library, etc?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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