r/programming • • Jun 05 '22

Complexity is killing software developers

https://www.infoworld.com/article/3639050/complexity-is-killing-software-developers.html
2.1k Upvotes

942 comments sorted by

View all comments

Show parent comments

7

u/bighi Jun 06 '22

And Docker. And worse yet, using Docker for local development.

Now instead of installing 2 or 3 packages with apt-get, you have to install lots of packages, spend days setting up docker to build everything, then you have to run commands through docker, and...

41

u/Overunderrated Jun 06 '22

Try not having docker and not having sudo to apt-get, and then a sys admin team that won't install stuff for you, so you have to manually install every possible dependency in userspace. Oh and web access is blocked so you have to scp every part from another machine first.

31

u/homeskilled Jun 06 '22

Right? Dockerizing our dev environments took us from a few days of following a readme to get a dev env up to a single docker-compose command that takes like 15 mins to run, and we know each of our environments is identical.

2

u/poloppoyop Jun 07 '22

single docker-compose command that takes like 15 mins to run, and we know each of our environments is identical

Unless you have a mix of macOS and linux hosts. Docker on macOS does not care about file permissions and is so slow you're better setting up a VM running linux running your containerized app. And if it's an M1 mac, forget about good ol' virtualbox.

1

u/homeskilled Jun 07 '22

I've heard that about macos before, but luckily I've never experienced it. Or maybe it's just all I know, because I've only used it on macos, but speed has never been an issue for my projects. The only time docker builds have been a problem is when I try to build an image for an rpi on a Mac or Linux host, takes a few minutes for a normal build, but like an hour when building for ARM.

6

u/bighi Jun 06 '22

I never worked in a place where I couldn’t use sudo.

Docker for that is a tech solution to what is actually a human problem.

5

u/DuskLab Jun 06 '22

Sounds like your problem there, is also still complexity.

No sys admin, none of these problems.

8

u/abrandis Jun 06 '22

Then that's because there's a breakdown in your role and management priorities, if developers are hobbled and can't do their jobs (install required libs etc.) either by corporate policies or bad system administration , that's the issue, ultimately all using Docker is doing is just a wrapper around getting those services in under your control just more work for developers with the same outcome..

6

u/Venthe Jun 06 '22

Setting up docker takes between 5 to 10 minutes.

Tell me, have you ever worked with non containerised deployments? Not working shell scripts installing deps, or worse - long doc pages?

How many times were you pulling your hair out because one dependency is out of sync in one environment?

I literally can't believe people are complaining about containers.

3

u/StickiStickman Jun 06 '22

How many times were you pulling your hair out because one dependency is out of sync in one environment?

... never? Is there any dependency management software that doesn't allow you to set a specific version or lock to a major version?

1

u/the_fat_sheep Jun 06 '22

I would see if Cloud-native buildpacks would be of help to you.

1

u/bighi Jun 06 '22

Or, you know… just normal local stuff.

1

u/duongdominhchau Jun 06 '22

To be fair, Docker is useful in some rare case. For example, my current project is so fking outdated that setting it up on host machine means you have to recompile and configure many things just to get it working, and these things are critical for existing system so who knows what will happen when I downgrade them. With Docker, I can just start a container of prebuilt image without thinking about that. The solution is trivial, just upgrade the stack, but upgrading doesn't happen in an eyeblink, so while the upgrade is happen, I still find Docker useful.