Live data from Hacker News

Software Developers Should Have Sysadmin Experience

blog.professorbeekums.com

41–50 of 424 posts

Re: Software Developers Should Have Sysadmin Experience

#42

No. Developers do not necessarily need any experience as a sysadmin and I would advise against moving productive developers into this role for the purpose of misguided training. The argument about understanding how code scales beyond one computer is fallacious. In fact it's quite easy to learn and practice all kinds of distributed high scale architectures without getting up from a desk. I will agree it's important to…

[deleted]

Re: Software Developers Should Have Sysadmin Experience

#43
post #19

Earlier quoted context omitted.

The difference with this is that server-side software has direct operational consequences. A server-side developer who never deals with ops is like a chef who never tastes the food. It's in theory possible to get right, but in practice the results tend to be poor.

That's true for backend, but frontend developers don't necessarily need a lot of ops knowledge if the team has a good separation of concerns. If frontend devs have to worry much about sys admin issues, I'd say that likely points to a flaw in the way things are being done. Of course, the more someone knows, the better. Knowledge and experience in any area of technology can improve understanding of all the others. But…

I think your definition of "sysadmin issues" is probably a little more limited than mine or 'wpietri's. I've had frontend developers insist that they could bake configuration settings into their webpacked artifact...which needed to be deployed into multiple environments because of course we weren't rebuilding something that had already been okayed in QA when we wanted to send it to prod.

You might say that's not a "sysadmin issue," but I have seen it happen three or four times now and in each case it was the "sysadmin" (read: devops engineer) who caught the problem and explained it to the offenders in question. (Maybe it's a "build engineer issue"...but at most companies I've seen, he or she is probably the "sysadmin", too.)

Re: Software Developers Should Have Sysadmin Experience

#44

No. Developers do not necessarily need any experience as a sysadmin and I would advise against moving productive developers into this role for the purpose of misguided training. The argument about understanding how code scales beyond one computer is fallacious. In fact it's quite easy to learn and practice all kinds of distributed high scale architectures without getting up from a desk. I will agree it's important to…

If you just talk to a formula 1 race car driver, does it make you a good driver if you never drive yourself? I don't think so.

Re: Software Developers Should Have Sysadmin Experience

#45
post #35
post #32

Having someone who is cross trained is always better than not, but they will be harder to find and more expensive. A frontend UI person who can write their own backends is great. A backend developer who knows javascript and can build their own frontend is great. A coder who manages their own cluster is great too, as is a sysadmin who who can write code. And a developer who can do customer service, and therefore can f…

> All this is to say that someone cross trained will always add more value and will also cost a commensurate amount. Man...I wish the latter was the case. I ended up going into consulting precisely because of the way that salaried employees are valued in tech right now. I literally am all of those things, I am comfortable and have delivered at a high level mobile, web, backend, and infra projects--but the "market" lo…

If you claim to be an expert at more than two, then chances are you're either 1) not really that good at any of them or 2) would make a great founder!

If you're good in multiple areas the only way to really get paid what you're "worth" is to start a company and use your skills to create an amazing product.

Because you're right: the market doesn't value a true polygot.

Re: Software Developers Should Have Sysadmin Experience

#46

With the rise of devops (docker, puppet, ansible, etc...) , and cloud VMs, how often are sysadmins different from software devs?

That question doesn't make any sense at all. That's exactly the same as saying: with the rise of do it yourself home repair, how often are plumbers different from carpenters?

A plumber who is also a carpenter is usually known as a "handyman". There's a reason apartment complexes big enough to have maintenance staff tend to hire that sort of person over a dedicated specialist.

If you're a large business you should be automating your sysadmins with devops/SRE techniques. If you're a small business you should be outsourcing that work to companies that have automated it for you.

That's why cloud providers and associated services have seen enormous growth.

Re: Software Developers Should Have Sysadmin Experience

#47
post #35
post #32

Having someone who is cross trained is always better than not, but they will be harder to find and more expensive. A frontend UI person who can write their own backends is great. A backend developer who knows javascript and can build their own frontend is great. A coder who manages their own cluster is great too, as is a sysadmin who who can write code. And a developer who can do customer service, and therefore can f…

> All this is to say that someone cross trained will always add more value and will also cost a commensurate amount. Man...I wish the latter was the case. I ended up going into consulting precisely because of the way that salaried employees are valued in tech right now. I literally am all of those things, I am comfortable and have delivered at a high level mobile, web, backend, and infra projects--but the "market" lo…

> but the "market" loves valuing those roles individually, and not the synergistic capability of being able to do all of them.

Find a company that values "founder's mentality" or "ownership", and that organizes projects in a way that can take advantage of it. Where I currently work, there is a lot of opportunity to "start up" new ideas, and driving them successfully benefits substantially from the the founder-like ability and desire to wear many hats. Part of this focus on ownership is the principle that every product team owns their vision, roadmap, technology choices, system stack, etc. from top to bottom. The larger platform is organized as services layered on top of services, that one team provides to another with a high degree of isolation and autonomy. There is no central "operations team" to punt to, and while there might be central customer service teams, they primarily handle routine requests.

I bet you will also find this in places that care a lot about customers (are "customer obsessed"), and spend a lot of time thinking about and examining what their experience is. A relentless focus on improving the customer experience is one principle that can lead you to look anywhere and work on any problem.

P.S. A team I work with is starting up a new operations excellence group to drive the next level of improvement to our operations/availability/SLAs/efficiency, etc. in our division. They are looking for talented engineers comfortable wearing multiple hats, who can work both at the architecture level one moment and switch gears to get deep into code the next. If anyone's interested in driving engineering excellence cross-functionally across many teams in that sort of way, see my profile and hit me up!

Re: Software Developers Should Have Sysadmin Experience

#48
post #45
post #35

Earlier quoted context omitted.

> All this is to say that someone cross trained will always add more value and will also cost a commensurate amount. Man...I wish the latter was the case. I ended up going into consulting precisely because of the way that salaried employees are valued in tech right now. I literally am all of those things, I am comfortable and have delivered at a high level mobile, web, backend, and infra projects--but the "market" lo…

If you claim to be an expert at more than two, then chances are you're either 1) not really that good at any of them or 2) would make a great founder! If you're good in multiple areas the only way to really get paid what you're "worth" is to start a company and use your skills to create an amazing product. Because you're right: the market doesn't value a true polygot.

I don't claim to be an expert at anything so wide as a full category of software. Hell, I don't even claim to be an expert at a language. (I learned yesterday about Ruby flip-flops, ferchrissake.) Merely (well, "merely") that I can deliver a solid product at any of those levels. =)

As it happens that's the other side benefit of consulting--being able to build a product with downtime. And I am! But it's still a lottery, and risk mitigation is a thing. So I like hailing for interesting offers to come my way.

Re: Software Developers Should Have Sysadmin Experience

#49

With the rise of devops (docker, puppet, ansible, etc...) , and cloud VMs, how often are sysadmins different from software devs?

That question doesn't make any sense at all. That's exactly the same as saying: with the rise of do it yourself home repair, how often are plumbers different from carpenters?

The question is great. DevOps is a field that I really don't want to touch as a developer. I build frontend and backend as well, design databases and focus on UX and configure a LAMP stack, but that's where sysadmin ends for me.

What I don't want to mess with is the "DevOps" tools, like Docker and rest of cloud orchestration stuff. It's a very complex field and I couldn't care less. If I work on a project like that there's always somebody who can do that kind of setup.

Re: Software Developers Should Have Sysadmin Experience

#50
This 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 in a representative environment.

The worst sysadmins get in the way of developers. Ones that scale down your CI server to the cheapest, throttled, one the hosting company has, leaving $800/day contract developers waiting for builds that run in 20 seconds on their laptops take nearly an hour. And then try and argue the toss about whether the CI server is cost effective and every few months keep switching it down despite the CTO saying it needs to be left alone.

When a sysadmin sees an issue in "their" environment that they understand there's a tendency for some of them to just see that issue as the only thing the developer has had to deal with that month. In all likelihood, in a productive company, it's the most trivial issue the developer has had to resolve that day.

Often this stuff goes more smoothly where the developers (I mean, it's not as though if you're going to drop one of the two groups of people it's going to be them going) manage production and there aren't people with separate job titles and the resulting friction between them.

Sorry. There must be great sysadmins out there struggling with terrible developers, I'm sure of it. I just haven't seen it.

Post reply on HN