It may have something to do with my education being EE, but that's not the heart of it. I never practiced EE. I taught myself (more or less in order) building circuits, programming, building PCs from pieces, and elementary system administration. I know there are lots who never "get" all three, but the best I knew did.
Software Developers Should Have Sysadmin Experience
121–130 of 424 posts
Re: Software Developers Should Have Sysadmin Experience
#122This might be controversial, but I don't think you get to be a half decent developer without being a reasonable sysadmin. Maybe my experience is unusual, but I've never worked anywhere that the sysadmins knew more than the developers about how best to run their code in production. And when things go wrong with it how best to find the cause of the issue. And I've never thrown code over a wall without having tested it…
I was a sysadmin with various ISPs in various countries for 15 years before I "turned to the dark side". I'd been using Ruby for a few years with Puppet and Chef, and after dealing with one too many "flaky coders", I picked it up.
I have to say, coding is far more enjoyable, though both come in handy in my day-to-day life.
It sounds like you've dealt with a few "BOFH" sysadmins. Don't worry, we're not all like that, and those that have been on both sides of the team will probably see your way.
Tell your boss I'm available (remotely), by the way ;)
Re: Software Developers Should Have Sysadmin Experience
#123In organizations with uncoordinated or siloed management, this leads to infighting... sysadmins try to stop "troublesome" devs from making changes at all and actively slow down changes in the name of stability and developers at the other extreme try to get changes in without caring about stability and blame sysadmins for that.
Great management with experience in both will find ways to incent the teams to introduce regular change while maintaining stability.
Re: Software Developers Should Have Sysadmin Experience
#124I'd say there is too much effort in reasoning on the wrong problem. What worries me the most is the 'why': why do (too) many software developers don't know about sysadmin? I have been involved as a consultant in large software projects in the last two years and a vast majority of money lost in delays and bugs was caused by devs not understanding: 1) the difference between virtual memory and physical memory 2) the dif…
The list of things to learn is endless . The only way we can get anything done on a daily basis is to gloss over the magic being done somewhere else in the system.
Re: Software Developers Should Have Sysadmin Experience
#125Earlier quoted context omitted.
A front end developer should understand that a TCP request (i.e what an HTTP request is) consists of a handshake which means to receive a file from a server, it takes roughly 5/6 calls to and from the server. So if your UI consists of 1000 100b files, that's 6000 calls. So you would probably be better concatenating them to a single 10Kb file. But then you need to understand the differences between HTTP 1.1 and 2.0 an…
I guess my point was more that even just if you understand HTTP then you'll get all those insights already. A bit pedantic I suppose. This stuff does get pretty complicated. Mainly because the tech is evolving fast (browsers do a lot of tricks now). Even in HTTP 1.1, there are times where multiple files might be more interesting due to how large files are handled
Re: Software Developers Should Have Sysadmin Experience
#126This might be controversial, but I don't think you get to be a half decent developer without being a reasonable sysadmin. Maybe my experience is unusual, but I've never worked anywhere that the sysadmins knew more than the developers about how best to run their code in production. And when things go wrong with it how best to find the cause of the issue. And I've never thrown code over a wall without having tested it…
Re: Software Developers Should Have Sysadmin Experience
#127Re: Software Developers Should Have Sysadmin Experience
#128Which means the ones with actual, marketable skills aren't working for the government.
Spending months waiting for a sysadmin to perform a task you know takes about 3 minutes is great fun.
Re: Software Developers Should Have Sysadmin Experience
#129One thing I like about DevOps is never having to hear "it works on my machine!"
Re: Software Developers Should Have Sysadmin Experience
#130This might be controversial, but I don't think you get to be a half decent developer without being a reasonable sysadmin. Maybe my experience is unusual, but I've never worked anywhere that the sysadmins knew more than the developers about how best to run their code in production. And when things go wrong with it how best to find the cause of the issue. And I've never thrown code over a wall without having tested it…
D: I have noticed that task Frobnicate has not been running in Production for a month, then checked and it is not even added to scheduler!
SA: There is no mention of Frobnicate in the pipeline for scheduled tasks.
D: What pipeline? FancyPancyScheduler is bundled with application and tasks are defined in DB, I have done it in Staging and everything worked, Frobnicate is all the fuss in the team, you must have heard about it, why don't you check for changes in Staging?
SA: We have well defined pipeline to manage scheduled tasks, currently the executing agent is Cron, not FancyPancyScheduler.
---------------------
Developers and Admins have more or less the same goals (stable, maintainable and extensible), but on different pieces of the system (code vs infrastructure). In my short career I have seen problems arise where one party makes plans and changes according to current or even past (it worked like this earlier) state of the other party. This applies to both developers and admins.
So I sort of agree with your sentiment, that developers need understanding of system administration. Though, depending on team size, I believe it is entirely sufficient to have someone in Developement who understands system administration and actual infrastructure, and someone in Operations who understands developement and actual stack. This is where I hope DevOps will end up at: arbitration between Developement and Operations to ensure smooth sailing forwards. Because the debate "I will do it in code" versus "this must be done on the edge" (e.g. static assets in a website. Served by application or web frontend?) will never be resolved.
Edit: formatting