Live data from Hacker News

Cloud development environments tame complexity by reducing state

medium.com

21–30 of 42 posts

Re: Cloud development environments tame complexity by reducing state

#21
> Every few days, my development environment got borked. Often it was a quick fix. Sometimes not. But always time taken from one of the most productive programmers (Alex, not me.)

No, Alex has made this bed, and now he's lying in it.

There comes a point where you have to spend some of that 'productivity' on things that keep you from being preempted in the middle of something else. Things like a stable development environment, self-cleaning scripts, etc. It's not necessary to make things bulletproof. It is necessary to make things self-service.

Re: Cloud development environments tame complexity by reducing state

#22
Ideally we'd have reliable local developer experiences. An unreliable cloud-based developer experience is certainly worse than an unreliable local developer experience, and IME cloud-based developer experiences tend to be unreliable and extremely tiresome to debug when they break.

Re: Cloud development environments tame complexity by reducing state

#23
I pretty much run every project now through a docker compose file and use vscode remote containers with a devcontainer.json file.

This has been immense not only for my own development (nothing on my local machine, everything can be destroyed and rebuilt in a few minutes) but also for onboarding people onto projects. No mucking about with IDE settings, they are free to use whatever of course but having the basics all there makes for a great system all around.

Re: Cloud development environments tame complexity by reducing state

#24
post #12

Rigidly defined development environments breed fragile systems. They are enticing, for often rapid onboarding of new developers. However, not having the churn of letting new people onboard their setup to the system loses on an anti fragile mechanism. This is ignoring the removal of control from your developers. Autonomy of tool choice is an amazing boon to job satisfaction. Which is not to say that a cloud environmen…

When I used Cloud 9 I didn’t find them rigid at all. You could put practically anything in the workspace as long as it would run in a container.

Containerised workspaces can be version controlled, which gives you the flexibility to fork a copy mess around but still go back to a known good state. And the new branch can easily be cloned for others to use.

Re: Cloud development environments tame complexity by reducing state

#25
post #12

Rigidly defined development environments breed fragile systems. They are enticing, for often rapid onboarding of new developers. However, not having the churn of letting new people onboard their setup to the system loses on an anti fragile mechanism. This is ignoring the removal of control from your developers. Autonomy of tool choice is an amazing boon to job satisfaction. Which is not to say that a cloud environmen…

No offense, but it's not my responsibility to make sure you have job satisfaction. It's my responsibility to keep the lights on and your paychecks coming in.

This is a public company and I have compliance requirements to meet or I am personally liable or face jail time. And with thousands/tens-of-thousands of engineers, your tool choice and lack of streamlined repeatable systems is costing us millions of dollars in profits every year and keeping your pay and the value of your equity down.

If you're going to depend on collectivist systems to provide you a stable livelihood, don't be surprised that the collective doesn't reward your individuality and entreprenureal spirit. There are other organizations that value that. Go work for them.

Re: Cloud development environments tame complexity by reducing state

#26
No. No. No. No.

Solve local development first and then maybe cloud dev. Reasons, just off the top of my head:

- always-on internet connection is not always viable

- intermittent and bad connections are a thing

- which local environment do you support for accessing your cloud? An ever changing combination of "latest only" browsers, apps, and select IDE integrations?

- how stable is your cloud environment? which features and versions of which tools will get deprecated tomorrow?

Re: Cloud development environments tame complexity by reducing state

#27
post #12

Rigidly defined development environments breed fragile systems. They are enticing, for often rapid onboarding of new developers. However, not having the churn of letting new people onboard their setup to the system loses on an anti fragile mechanism. This is ignoring the removal of control from your developers. Autonomy of tool choice is an amazing boon to job satisfaction. Which is not to say that a cloud environmen…

No offense, but it's not my responsibility to make sure you have job satisfaction. It's my responsibility to keep the lights on and your paychecks coming in. This is a public company and I have compliance requirements to meet or I am personally liable or face jail time. And with thousands/tens-of-thousands of engineers, your tool choice and lack of streamlined repeatable systems is costing us millions of dollars in p…

Millions of dollars is worth sacrificing the job satisfaction of tens of thousands of engineers? Just because you can't measure job satisfaction and report on the value that it provides to your company doesn't mean that it doesn't exist, or isn't doing that. If you divide the two rough numbers that you provided, you get hundreds of dollars per engineer. This is not very much money.

It sounds like you think that because you can't measure it, you are legally obligated to assert that it is zero.

You are bad at your job.

Re: Cloud development environments tame complexity by reducing state

#28
post #12

Rigidly defined development environments breed fragile systems. They are enticing, for often rapid onboarding of new developers. However, not having the churn of letting new people onboard their setup to the system loses on an anti fragile mechanism. This is ignoring the removal of control from your developers. Autonomy of tool choice is an amazing boon to job satisfaction. Which is not to say that a cloud environmen…

No offense, but it's not my responsibility to make sure you have job satisfaction. It's my responsibility to keep the lights on and your paychecks coming in. This is a public company and I have compliance requirements to meet or I am personally liable or face jail time. And with thousands/tens-of-thousands of engineers, your tool choice and lack of streamlined repeatable systems is costing us millions of dollars in p…

Do you know each other?…

As a matter of fact, many listed companies reward an entrepreneurial spirit and value employee satisfaction, because that’s usually linked to sustainable growth.

Re: Cloud development environments tame complexity by reducing state

#29
post #12

Rigidly defined development environments breed fragile systems. They are enticing, for often rapid onboarding of new developers. However, not having the churn of letting new people onboard their setup to the system loses on an anti fragile mechanism. This is ignoring the removal of control from your developers. Autonomy of tool choice is an amazing boon to job satisfaction. Which is not to say that a cloud environmen…

No offense, but it's not my responsibility to make sure you have job satisfaction. It's my responsibility to keep the lights on and your paychecks coming in. This is a public company and I have compliance requirements to meet or I am personally liable or face jail time. And with thousands/tens-of-thousands of engineers, your tool choice and lack of streamlined repeatable systems is costing us millions of dollars in p…

I think you seriously underestimate the value of job satisfaction and its effects on productivity.

I would also say that dev environments can be “streamlined” and “repeatable” while allowing for personal choice of editor and whatever other ancillary tools the developer is productive with. They’re not mutually exclusive.

Post reply on HN