4 ms·
I'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 abou
by nokya 10y ago
I'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 difference between costs of data storage per storage medium
3) the concepts of network round-trips
4) and hardware bandwidths
5) how to install and configure a web server on a workstation
6) how DNS works
7) how AD authentication works
8) what ORM frameworks do
9) how to write a raw database query (not necessarily sql)
10) the difference between navigating through database records on a database server vs. an application server vs. a client,
11) HOW TO INSTALL THEIR OWN WORKSTATION AND TROUBLESHOOT IT!!!
N) etc. and those are just the topics that I can immediately remember.
As I see it, it's not about "they should". For me it's about understanding how many devs deal with such a level of ignorance on the systems they interact with, on a daily basis. This situation hurt my feelings everytime it happened and I struggled to accept it. I am not a sysadmin nor a developer but my daily work is insanely improved by my (even basic) understanding of how my workstation works and how to manage it.
- Aloha 10y agoI've worked with all kinds - from windows devs who can't figure out how to install visual studio - to people who understand Windows, Linux, and macOS - as well as basic system administration for each platform. The people who are most successful at rapidly developing good high quality software are more in the later group. Would you trust a RF engineer who couldn't troubleshoot his own radio designs? why would you troubleshoot a software engineer who can't troubleshoot his own software as deployed in a real world environment?
- 0xC0DECAFE2020 10y agoI recently questioned someone about this very subject. They wanted to hire a "CSS expert" because the "developer" didn't have a grasp of css after having developed the project in JS/HTML. I was so confused as to how that's possible.
- aegnor 10y agoThere's a large gap between basic understanding of CSS and actually creating good CSS. Personally I avoid touching CSS as much as possible.
- sbov 10y agoI suck at CSS and do a lot of js/html, but most of my work is on the back end. I can do ok with CSS but it will definitely take me longer than someone who knows what they're doing. Usually we contract out the design/CSS for a few pages and I adopt that for the rest of the website.
- 3minus1 10y agoCSS is not consistent and complete like a programming language. As someone else mentioned, doing things the correct way in CSS (responsive, cross-browser) is actually very hard, and often requires memorizing weird hacks.
- bpchaps 10y agoIn fairness to the folk who can't install Visual Studio - it's a genuine pain in the butt. Last time I tried, half of the download links were absolutely non-functional. Their documentation didn't help much, either, since they pointed to the non-functioning links. I got a lot of shit for that one, but felt completely vindicated when it happened to someone else a year later.
- eropple 10y ago`choco install VisualStudio2015Professional`. ;) After all--we're all developers. Automate!
- BinaryIdiot 10y ago> In fairness to the folk who can't install Visual Studio - it's a genuine pain in the butt. It takes a while but I've never found it to be a pain in the butt and I've used it, off and on, since version 6 in the late 90s. If the install errors out it gives you an error message, you google for it, figure out what the problem is (most common messages are easy to find solutions for), fix the problem, reinstall, done.
- mattmanser 10y agoThen you were lucky. I remember on the first day of a new job being given a folder containing all the MSDN subscription disks in the mid-2000s and being told to install visual studio. I'd only ever used notepad as an editor before. This is a massive stack of DVDs with multiple disks, but worse there are a bunch of cds listing different versions of a thing called "visual studio". After 15 minutes of struggling and surreptitious googling because I didn't want to look stupid on my new job, a colleague walked by, went "oh", picked out the right disk and said "that's the one you need". And I had to do the same for multiple new starters. Even today when you have to install something from MSDN, you search for "Office" and get a bunch of irrelevant language packs listed at the top which is definitely not what you want, then also have to know what x86 and x64 means, something a novice will not know, and know what "SP" means and that "SP2" is better than "SP1".
- kriro 10y agoI feel the same. Someone who isn't willing to investigate issues with their own work machine or spending some time configuring it is more likely than not to be less of a continuous learner (imo). Looking at it short term a well paid developer troubleshooting all issues on their work laptop could be seen as a waste of resources but for me software development is a beautiful craft. I also wouldn't trust a carpenter who can't obsess over wood or tools. If I overhear two developers comparing notes on their tmux setup somewhere I mentally upgrade them into the interesting category right away.
- deleted 10y ago[deleted]
- BurningFrog 10y agoI'm a quite good programmer who is a pretty terrible sys admin. Of your 11 points, I understand 1-10 quite well, but I'm not great at 11. I think the skill sets are quite different, despite the fact that a lot of people have both. I was never really that "into computers", but I have a burning passion for building large software systems fast and well. Metaphor: I love to travel to exotic locations across the planet. That doesn't mean I'm also interested in building airplane engines. To be clear, I'm not bragging. It would be great if I was good at this stuff.
- vacri 10y agoI don't think the OP is talking about low-level OS stuff like perhaps a flaky hard drive, but about installing the things that turn a vanilla machine into your working environment, plus being able to sort out things when something goes wrong with that environment. If you're in IDE Foo all day every day, you should know your tool enough to fix it when it goes wrong. I've not had them myself, but I have talked to other sysadmins who've had devs that couldn't install their own IDE. These people weren't seniors, admittedly, but they were still drawing pay...
- tajen 10y ago> the difference between virtual memory and physical memory For my defense (I'm a dev), OSes don't make it clear. Mac OS becomes extremely slow when I load a big virtual machine and yet displays "Swap 450Kb, 500Mb RAM free". Or with a sole text editor open after a long session it may say "Swap 750Mb". In both cases my logic tells me the swap and free memory should display the opposite, so I can't match my knowledge with the OS behaviour. Then comes Java which adds another layer of memory limitations. > how many devs deal with such a level of ignorance I can talk because I was 4 years ignorant, then met the right teams. It's impossible to learn and gain trust in your learnings if you start ignorant, and ignorant devs know it. We constantly need help and don't understand how ticking a weird checkbox in Eclipse makes the compilation different: Without directly executing the original command line, you can't learn anything, and architects in those kinds of companies give you too many proxy tools ("SDK") that you can't improve. You're on an old 14" screen anyway. Also, Windows is so inconsistent and weird that you just assume sysadmin is for people from another planet. My skills only took off 4 years later when I installed Linux, then Mac, and was thrown in open-source libs. It was so easy, in retrospect, and I'm so happy having been in the right context.
- base698 10y agoIt's more than just swap. Second answer has more detail: http://stackoverflow.com/questions/4970421/whats-the-difference-between-virtual-memory-and-swap-space http://stackoverflow.com/questions/4970421/whats-the-differe... Udacity has a pretty good OS summary course. I had personally forgotten what a TLB was until I watched watched it.
- pjc50 10y agoThe 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.
- fnj 10y agoBut most of the outstanding ones are renaissance people.
- jsymolon 10y ago> The list of things to learn is endless. yes, however there are items that are more important (ACLs, AD, Security, OID ... etc) that are a little more important than the new shiny JS framework. I'd rather burn brain cells learning Haskell than trying to understand why so much effort is being spent on JS.
- JamesBarney 10y agoI've been a consultant on large projects and the vast majority of money that I've seen flushed down the toilet was on 1) Building the wrong piece of software/end-users not having enough influence on what get's built. 2) Lack of delegation, having people make technological/feature decisions about a product they only spend 5% of their time thinking about. 3) Organizational incentives not aligned correctly. 4) Not following software engineering principles that were discovered in the 70's(they also don't follow any software engineering principles discovered since then, but I'll give them a pass)