4 ms·
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 h
by danenania 10y ago
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 nobody has time to learn everything, and there's way too much to learn. Time given to learning more about sys admin issues is time lost to other potentially valuable knowledge.
It's a good area to learn about, and it is essential to being a strong backend developer, but through good architecture and management practices, there are still plenty of ways to make very high value contributions for a developer who hasn't spent much time focusing on sys admin.
- eropple 10y agoI 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.)
- danenania 10y agoI would consider that sort of thing to be part of the required basic knowledge to be a competent frontend dev, so if you want to call that sys admin, then sure, there's a bit of it involved. If it's on your side of the fence then yes, it's your responsibility. I'm not sure how many actual sys admins would consider configuring webpack to be 'sys admin knowledge', but there is a spectrum and it's true that there are some ABCs that everyone needs to know, particularly when there are security implications. Still, it's a pretty far cry from unix, web servers, and databases.
- eropple 10y agoYou might consider it basic. I would have, insofar as I considered it pretty obvious even when I hadn't written a line of frontend code in five years, and webpack etc. weren't even on my radar then. ;) But my experience has led me to believe that it's not. I think that's kind of the point of devops, though, is that something like a build system is a cross-cutting concern, that architectural decisions for an application need to involve people across the stack. Classifying somebody as "a sysadmin" is the problem in the first place, which is why I caveated my post as heavily as I did. My experience is that your "devops" or "sysadmin" people functionally become the "junk drawer programmer" who are relied upon for all sorts of weird stuff. I've been at jobs (and at clients) where I had to teach senior backend devs how to use VisualVM or what the implications of using Kafka and CQRS are. I've been at gigs like the aforementioned where I had to explain the ramifications of webpack to people knowledgeable and capable enough to make React dance. And so my definition is probably necessarily more broad...but it's also stuff I've had to do in practice, so, enh. And, 'cause fair is fair, I think a "sysadmin" who couldn't step in and write production-quality code (allowing for a little ramp-up) is probably an endangered species over the next ten years, too.
- dozzie 10y ago> [...] frontend developers don't necessarily need a lot of ops knowledge if the team has a good separation of concerns. If there is a sysadmin in your development team and this sysadmin has something to say about system's architecture and development workflow, then OK, you don't need any of your programmers to be a decent sysadmin. Otherwise, you need to get the sysadmin. > But nobody has time to learn everything, and there's way too much to learn. Time given to learning more about sys admin issues is time lost to other potentially valuable knowledge. And then we have Homebrew, which I constantly hear is atrocious and breaks software on updates (incorrectly managed dependencies), and its developers don't understand the necessity of using cryptography for transporting packages. We also have this whole idiocy of deploying software in production by recompiling it with `pip install', `rbenv install', and `npm install'. And then we also have incorrectly built RPM and DEB packages published by software developers (InfluxDB and ElasticSearch are common offenders, Riemann being another one when I checked long time ago). And mind you, I don't use MacOS, I don't develop web applications, and I package and host additional software myself, so how big are these issues when they got my attention? What was it again with your valuable developer's learning time?
- wpietri 10y ago> but through good architecture and management practices, there are still plenty of ways to make very high value contributions for a developer who hasn't spent much time focusing on sys admin. Huh. Hands up everybody who is working at a place with good architecture and management practices? Knowledge of and experience with the direct downstream and upstream of one's work is different than general knowledge. It can in theory be made up for by high-ceremony processes and strongly controlled interactions. But in practice that mostly doesn't work in software development. Front-end developers don't need much server ops knowledge because that's not generally the direct upstream or downstream for them. But the principle still applies; they will be better if they have experience with their upstream and downstream.