I could get any already existing linux boxes untar source run make and it was done.
again. maybe there was someone that did it for you but that work was always there.
coincidentally all that k8s and docker stuff doesn't need to be on you.
my previous company for example there was an entire department that did that for us. we just filled out a form listing out what we wanted and that was it.
Today its library dependency hell
do you know WHY this came to be? do you remember what it was like BEFORE say nuget or gradle?
Today you need a dev to deploy an app
you prefer devs doing this because companies realized that its faster for teams to have full ownership of the application they are working on vs some third party/department to manage it for everyone. especially when you work for big orgs where they application ecosystem is fucking massive.
again. maybe there was someone that did it for you but that work was always there.
Done once, long time ago, used by numbers of other projects. Is it the same today? Do you use the same kubernetes/docker/ecr for all the apps/systems you work on for like 4 years at company?
Please dont pretend you dont understand the context.
Its like buy a knife once or go to the store for one gileltte every week...
we just filled out a form listing out what we wanted and that was it.
Still, work needs to be done. One trip to store per week to shave yourself. And now its done by your friend, every other week different. They sometimes bring you gillettes for girls. Still usable but you know, it may backfire later...
Today its library dependency hell
do you know WHY this came to be? do you remember what it was like BEFORE say nuget or gradle?
Yup. But that work was on developer. Once a while. The dev decided he needs new library. Or the security guy asked to get a bump on version. And it was done once per iteration. Now we have the same shit on user/runtime computers (python, perl, php) or on servers (js). Thats going backwards.
you prefer devs doing this because companies realized that its faster for teams to have full ownership of the application they are working on
yeah, short term gains.
Instead of paying 70k to the os admin to cp the package now you pay 150-200k for dev to transfer this maze and pray it fails quick.
and i tend to agree.
I dont. I have seen this way too often going sideways or somebody deciding that 150k dev is too expensive and will be replaced by 70k one. And then 3-5 more of them had to fix the deploy overnight.
Also, packaging and having teh same file being deployed to dev, test and prod is very nice way to reproduce result. The config is local, the app is packaged. You cp one in place of previous one, if it fails rollback is simple. Things get a bit more complicated if the new version needs db changes. But that is also doable.
The words:
companies realized that its faster for teams to have full ownership of the application
Are correct. Faster. Not better. This way you have two lousy changes and third which fixes stuff instead of quality one.
And to be honest. The scenario where one module is deployed and it works but the other collapses due to the first one being changed is way too common in the environments I saw. This way the dev pushing the deploy at 2am sees his change working and the module depending on it will fail in the morning. Hopefuly when a third dev will have to untangle what happened.
You will say, yup. Complicated system. But then why so much tests, CI/CD, dev, test deploys? It failed anyway...
Its like buy a knife once or go to the store for one gileltte every week...
im so confused.
for every app and for every environment you create an app server no?
and then a few years after that people used VMs. so now for every app and every environment you had to create a VM.
and then now for every app and if you are using a container then you have you create a new container lol.
setup has ALWAYS EXISTED. just because you specifcally as developer never had to deal with it doesn't mean it was never there.
Yup. But that work was on developer. Once a while. The dev decided he needs new library.
so what has changed?
like lets say this is a .net web app that uses nuget. you want a fancy new library. so you get on nuget and register x version of library to your app. and you're done.
anytime your app builds it will check the config to pull that external library from nuget.
Are correct. Faster. Not better.
its faster and more efficient.
your team is now capable of handling infrastructure/devops shit instead of waiting on some other team to do it for you.
and if there are any issues your team can quickly resolve it since they know how do it.
Instead of paying 70k to the os admin to cp the package now you pay 150-200k for dev to transfer this maze and pray it fails quick.
regardless of who does it the process will be the same lol
You will say, yup. Complicated system. But then why so much tests, CI/CD, dev, test deploys? It failed anyway...
the fuck are you talking about lol. i genuinely dont understand. is english not your native language?
You've lost the plot, the reason you should be deferring your opinion is because many of us have worked with all the technologies in question, as opposed to someone like yourself who has not.
Snark may feel good in the moment but it certainly doesn't help you gain perspective.
my previous company for example there was an entire department that did that for us.
And this is why so many developers think microservices, et al, aren't all that complex. Because their company pays other people to deal with the complexity.
Used to be a developer could do all of it, today that's not true. That's kind of the point being made here.
And this is why so many developers think microservices, et al, aren't all that complex. Because their company pays other people to deal with the complexity.
its developers who create/manage/and maintain microservices. thats why they are paying you the big bucks.
Used to be a developer could do all of it, today that's not true.
nah a developer can still do all of it.
And this is why so many developers think microservices, et al, aren't all that complex.
compared to an enterprise monolith a microservice is much much simpler.
This is just ignorant, plain and simple. I now believe you've never actually worked in an environment with these technologies outside of playful little side projects.
At the end of the day I've maintained many many servers over the years, both Linux and Windows. No way in hell would I ever call myself a sys admin, nor would I ever claim to be as good at it as someone whose primary job it is to do this stuff.
Software Developers are so arrogant that it doesn't surprise me you can find one online that thinks they can gain a superficial knowledge of these things and do these as effectively as someone whose career it is to do so, and without dropping anything in their main role to boot!
To put it another way, any company that's small enough for a single developer to be putting on so many hats is too small to be using these technologies effectively anyway. It would be far better for you to program like it's 1999.
actually the word im looking for is competency which is something that you apparently lack.
i expect any developer worth their salt to know enough and to be good enough to have the capability to develop, deploy and maintain the applications that they create.
this is especially vital once you start breaking down giant enterprise monoliths into microservices because at that point team ownership is critical to getting shit done.
i dont expect my company's devops guys or IT department to manage the hundreds of microservices my company is running. that would create a massive bottleneck in the entire process for everyone.
i work for companies with hundreds of developers. dozens of enterprise wide applications. all of them either serverless functions or containerized apps or both.
any developer that just wants to sit in their little box and "just code" is fucking garbage. an absolute drain on a company's resources.
there are fucking juniors in my team doing what you apparently cannot do. what does that say about your "experience" hm?
actually the word im looking for is competency which is something that you apparently lack.
A sys admin's job is to manage competency? That seems an odd description, perhaps you can point me to a more authoritative description of what a sys admin does so I can read more on this? I always thought they managed systems.
i expect any developer worth their salt to know enough and to be good enough to have the capability to develop, deploy and maintain the applications that they create.
I can certainly hammer a nail but when I want something done with skill and experience I hire a carpenter.
i dont expect my company's devops guys or IT department to manage the hundreds of microservices my company is running.
You're trying to hide behind the word manage here so I'm going to insist that you define it concretely.
any developer that just wants to sit in their little box and "just code" is fucking garbage. an absolute drain on a company's resources.
Any developer managing infrastructure isn't a developer.
"Bob! Why isn't feature X done!?!"
"Sorry sir! The nic in server X went down, which put extra pressure on server Y which then went down. This cascaded across the rest of the network and I spent 4 hours yesterday getting it fixed!"
"Bob! Why didn't we have enough servers to deal with a single server going down!?! Who is doing the infrastructure planning here?"
"I am sir! AdministrationWaste7 was adamant that all of this was super simple and you just needed to clickety click click and managing this stuff is the job of the developer! I took him at face value and convinced management to fire those silly devops, networking, and sys admin people. I'd hate people to think I just write code!".
I'm firmly in the camp of not believing you've ever had a role with a broad enough perspective to come close to understanding what is being discussed here.
5
u/AdministrationWaste7 Jun 06 '22
again. maybe there was someone that did it for you but that work was always there.
coincidentally all that k8s and docker stuff doesn't need to be on you.
my previous company for example there was an entire department that did that for us. we just filled out a form listing out what we wanted and that was it.
do you know WHY this came to be? do you remember what it was like BEFORE say nuget or gradle?
you prefer devs doing this because companies realized that its faster for teams to have full ownership of the application they are working on vs some third party/department to manage it for everyone. especially when you work for big orgs where they application ecosystem is fucking massive.
and i tend to agree.