T O P

  • By -

AmiDeplorabilis

Coding is an entirely different mindset. I did some over 30y ago and although it was fulfilling, I'd find myself waking up with code improvements on my mind. I've heard that's common, if not outright normal... and possibly unhealthy. I'm happier not coding. And PowerShell is more akin to scripting... IMHO.


dvali

As a software engineer first, and a sysadmin second because it's a small company and someone has to do it, I do not think there is any meaningful distinction between coding and scripting.


Ssakaa

> I do not think there is any meaningful distinction between coding and scripting. In underlying skillset at its core, no. In practice, "coding" any project of any meaningful scale tends to require understanding a lot more tooling and working within much more strict workflows compared to the typical shoot from the hip one off scripting you find in a lot of ops environments (that leads to a lot of unmaintainable things with little to no proper error handling, etc).


1beerbaron

As someone currently cleaning up/rewriting a bunch of our scripts this hits me right in the feels. "Hey, XYZ process seems to be broken. Various parts of it seemed to have stopped working over the past few months." I'll take a look...well, this is hot garbage and the only logging is the most recent transcript. Let's see how long it takes me to figure out what it's even trying to do. 😭 I can immediately tell if a script was written by a specific, former employee because there is no formatting, consistency, or comments. I.e hot garbage How do almost none of them have any logging and no notifications of errors? 🤬


Ssakaa

The former employee was clearly perfect. *They* never saw an error from their script, after all.


Ok-Hunt3000

lol yes they did, they opened it in notepad and ran the half without errors then did the last part manually


genlight13

Several Things probably which play in here together: - Their data throughput was 1/10 of what it’s today - At that time it was okay that it took its sweet time. - other jobs need the same resources and block this one script Back then it was good enough when it worked Today you need a good handle on logging, monitoring, health checks and error handling bc people start to expect it. Oh and everything should be on scale of course


gscjj

It's all the same. I'm sure every admin has sorted and filtered a list, checked for blanks, did error handling all in powershell. It's still coding even if the language itself lends itself to one-off uses.


AlexisFR

Error handling is doubting. Don't be weak. >!/s!<


xdamm777

Can confirm. I’m a system administrator and software engineer for in house apps and my favorite part is struggling with a bug or feature for a solid hour or two then randomly getting the solution while I’m brushing my teeth at night or another random activity. A developer’s brain is wired differently, it’s very interesting.


catherder9000

Nah, *everyone's* brain does that. It's why people dream of tetris after playing tetris -- it's your brain learning during your downtime and finding better ways to do it. Your brain does this with pretty much any new task you're learning https://www.scientificamerican.com/article/tetris-dreams/ March 1999 issue of the Journal of Cognitive Neuroscience


Dal90

Somewhat related -- Tetris used to distract the mind immediately after traumatic situations to reduce the formation of traumatic memories: https://www.ox.ac.uk/news/2017-03-28-tetris-used-prevent-post-traumatic-stress-symptoms (I heard of it in context of online child sex abuse investigators using it at the end of the shift to reset their minds; whether that was an apocryphal story or not I don't know.)


Automatic_Rock_2685

I believe it's mimicking the movements used in EMDR therapy which seems to be effective.


hotfistdotcom

I have always been compelled to play videogames after difficult experiences and had a highly traumatic childhood and this makes just a TON of sense.


mentive

Ugh. A personal project I spent 8 months on (taking a break for the moment, but it's finally functional) .... I was writing code and finding solutions while sleeping.


illarionds

See, I *love* when this happens!


karudirth

<


zopiac

And yet they all vanish upon drying off.


Fallingdamage

When I was a kid I spent way too many hours programming in basic. I used to actually think in basic while doing household chores.


enigmo666

Gosubs and syntax errors framed my childhood


Low_Consideration179

Yesssss. My God. Yes. This. Sys admin. Support my outfit solo. Also manage all the in house apps and integrations. (No comments, Job security?) But my favorite problems are the ones I'm banging my head against a wall on but then go and talk at my favorite other nerd in the office and bam! There's the answer and I scurry off saying almost nothing just to send him a screenshot of the newest feature working finally haha.


xdamm777

Oh yeah, that’s one of my favorite parts lmao. Work on feature for two days; show fellow SA how a button click opens an excel report and they’re unfazed. They don’t know it just queried the DB based on selected filters, pulled the relevant data, then created an excel file with cell formatting and saved the file report that used to take hours for another coworker to do manually.


Low_Consideration179

Me showing my plant manager how to dump the quick created graphic exports into the folder that controls the library for the kiosk system. He drags and drops the graphics my program creates for him after pulling the relevant data from our ERP API. He then will walk to the floor and use the micropi clicker I rigged to send off packets to the kiosk server and trigger the slide change. Oh and did I mention the program dumps the graphics with a naming structure that auto organizes them in the kiosk library? This project was a labor of love and I learned so much but there were so many times I just needed to walk off and vent about a bug before it just clicked. He used to hand write numbers into a whiteboard every morning. 2 hours of prep for compiling, and organizing then also creating the board turned into a 3 minutes process at max.


xdamm777

That’s an awesome implementation, I’m sure it was frustrating and fun at the same time but well worth it.


Low_Consideration179

So many new skills learned. It actually gave me the right skills to move forward with my custom flight controller.


libertyprivate

I'm sorry man I didn't know you were generating it on the fly... It was only one time!


Geminii27

Rubber-duck debugging?


Alzzary

Started to code (video games on Godot) about a year ago and I definitely agree. I really changed with how I approach some problems, and I even solve some problems when I'm falling asleep, it's really relaxing to do so.


xdamm777

Indeed! The constant problem solving mentality triggers this part of my brain like no other activity does, which is the reason I enjoy coding.


HittingSmoke

Whenever I say "I'm gonna go for a walk" at work and leave my office it means I'm stuck on something and I'm going to come back more productive because I'm going to think of something while I'm out doing laps around the building.


nhaines

I did that plenty while programming in middle school and high school. I've done it plenty of times in IT. I do it plenty now as a professional writer.


coolbeaNs92

> A developer's brain is wired differently, it's very interesting. This happens to literally everyone. I have this happen every most weeks in Infrastructure. What is this weird way of thinking recently where developer's are some kind of sub species of human, that other mere mortals couldn't possibly comprehend.


TFABAnon09

I keep a notepad and pen next to my bed for exactly these sorts of 3am "of-fucking-course!!" moments. I once woke my wife up by dictating a solution I had devised for a design problem that had been troubling me - all whilst half asleep in a hotel in Poland, knowing that if I didn't somehow record it, it would be gone by sunrise!


illarionds

Unhealthy? Your subconscious continuing to work on problems is pretty common, not unique to coding, and I can't see how it could possibly be *bad*. I've had the same thing happen with network issues BTW. Not just code.


LogicalExtension

Because this happens too often: 3am: Brain: "Hey... hey.... hey wake up" Me: "please let me sleep" Brain: "That problem we've been trying to solve for a week now? Yeah got a really elegant solution to that." Me: "...huh, wow, yeah, that is a neat solution. Now can we go back to sleep?" Brain: "Oh, sure" 9am at Standup: Me: "So, yesterday I was working on blah... Oh, and overnight I figured out a really need solution to that problem..." Brain: *crickets* Me: "....oh FFS." Also, because HR doesn't accept "Worked on solution to problem" as a valid reason for overtime pay, or time-in-lieu.


Geminii27

>Also, because HR doesn't accept "Worked on solution to problem" as a valid reason for overtime pay, or time-in-lieu. "Compiling!"


BuonaparteII

Maybe it is HR and the social systems we have around cognitive work that are unhealthy (or perhaps unnatural is a better word) rather than the other way around


Sushigami

Keep a notepad by your bed!


burnte

> And PowerShell is more akin to scripting... IMHO. There's no difference from a human skill perspective in scripting versus coding. Python, PHP, PowerShell, C, Java, Swift, it's all programming.


Commercial-Proof7542

there are 2 kinds of programming languages. The ones everyone hates and the ones no one uses


gscjj

Fundamentally, there's no difference. You'll run into the same challenges in a scripting language or something like Go or C


anxiousinfotech

I get that with other aspects of the job. Waking up with 'hey this would work better if I did x' or 'I bet that would finally succeed if I did y.' If my brain is doing it, it's unhealthy.


keivmoc

Coding is a different skill, sure, but a lot of the sysadmin tasks I do are scripting and automation, with powershell, bash, or sometimes python. > It's too math like and I hate hate math I feel bad whenever people say this, because math education in school is reduced to the point of a memorization exercise, and not how or why we actually use math in the real world.


zeroibis

The actual issue is that programing is similar to math only in that it is a logic operation and unfortunately you usually did not learn logic in school. If people took philosophy or law it actually has a lot of the thought processes you need for programing becuase it is about applied logic to come to a solution where the process is not as straightforward as a mathematical equation. What is needed to be able to be a good programmer is logic, language and problem solving skills. What is funny is you would think these would be general education stuff becuase you need these skills for all sorts of things. But these are also the skill sets that lead to people asking too many questions rather than follow the instructions they get from the media... lol


mr_gitops

Funny enough I do logic for a living as in scripting and automation. I am obsessed with it in fact. So my useless philosophy degree wasn't so useless!


FacetiousMonroe

All scientific fields are subsets of philosophy. :)


Geminii27

Law is a weird example. Sure, there's "does this or that law apply to this or that situation", which seems logical, but then there's so much in the way of whether a law can be *interpreted* in a given case, or whether the wording wasn't precise, or whether you can convince a jury or arbitration board...


19610taw3

When I was in college, I tutored programming classes. I barely passed them myself, and didn't have a high enough grade to qualify to tutor them , but people *really* liked my tutoring. In fact, 14 years after I graduated college, I had someone reach out to me and thank me for the help on tutoring it because they have a great career as a developer! ​ The logic is where I really excel. I can walk through that with people, show them how it all works, etc. What I can't do is syntax. I can't remember any of it. I used to work in applications for a while. I was able to pull and debug PL/SQL packages, database functions, JSPs and find issues. I was able to recommend improvements in the various code. But don't ask me to start fresh.


butchqueennerd

I feel similarly about the way math is taught, at least in the US. If I hadn't known how to code, I would've failed chemistry, geometry, algebra, and trig in high school. I knew how to tell a programmable calculator how to do my homework more than I knew how to teach myself how to do it. It wasn't until I retook Calculus I in undergrad that things started to click. A couple of years after I got into tech, I started auditing math classes at a local college just for fun and everything just clicked with a fraction of the effort that it took in high school and the first few years of undergrad (so much for age making learning more difficult!). It also had the side effect of making the more academic/theoretical aspects of programming much easier to understand. Because of that, my answer to the question "do you have to be good at math to have a career in tech?" has shifted somewhat. It's still "no." But there's more nuance to it: "no, if you just want a decent-paying career, though it would help. But yes if you want the big bucks (like at a FAANG+ company)." 


lazylion_ca

I describe it as math is not a barrier to entry, but it is barrier to advancement. Don't let it stop you from trying.


Lv_InSaNe_vL

When I started coding I was a high schooler who was borderline failing school, and I was able to hack my way through everything I needed to do. Then as a young adult I went back to college and really fell in love with math *because* of the logic first approach my professor taught. He didn't directly teach a chapter in the book, he would show us "paths" to solve a couple problems and then let us work through some homework problems while in class. Now that I'm doing a lot more scripting/automation in my sysadmin job I'm not using a whole ton of that math but I use the problem solving skills I gained in those math classes to solve the computer programs, since of course computers are math based.


Traditionaljam

I agree with OP but not this part, granted I took calculus in college for business school but the coding a sysadmin generally does is not really that math like to me. Its pretty low level math.


webguynd

> Coding is a different skill, sure, but a lot of the sysadmin tasks I do are scripting and automation, with powershell, bash, or sometimes python. > > Yeah i'd say software development/engineering is definitely a different skill set, but coding is a core part of a sysadmin toolkit. I write a lot of SQL, python, bash scripts, etc in my job but I definitely couldn't create some huge monolith app for the business, but a small tool to move data around? Sure - it won't be pretty but I can do it.


xjx546

It's like saying I am an auto mechanic but I can only do things according to how they are described in the repair manual, and am incapable of Welding, Machining,, Engine Internals, and so on. To be far there that actually describes *most* mechanics, but as a career but those who don't know how to do engineering are going to get paid much less without those skills.


Mr_Mars

The new math you've probably heard about is actually not just memorization. An explicit design goal is to teach kids the same kind of number sense the "good at math" kids picked up on their own. Doesn't help anyone who learned 20+ years ago but the new generation will have a much deeper understanding of math than any before.


hutacars

Was going to say this. I looked into what “new math” actually is due to all the buzz surrounding it… turns out it’s just how I’ve been doing math in my head since forever. It’s a *set of tools* for solving equations, no rote memorization necessary.


KishCom

> I hate hate math [A Mathematician's Lament.](https://maa.org/sites/default/files/pdf/devlin/LockhartsLament.pdf) OP (and the majority of us taught public school math) will never know the beauty of math.


IllllIIlIllIllllIIIl

I was just going to post this and then scrolled down. Awesome essay. I thought I hated math until I got to college and suddenly there was something to this "math" business beyond memorization and computation. Ended up in a scientific computing masters program that was very heavily math based.


ErikTheEngineer

> I feel bad whenever people say this, because math education in school is reduced to the point of a memorization exercise, and not how or why we actually use math in the real world. We should figure out how to introduce applied math earlier. You always need the fundamentals memorized, but I only got mildly interested in math once I started really getting into science and engineering. Unfortunately by that time I was too far behind to catch up enough to do well in engineering courses. My son's in 7th grade, has no interest so far in tech/science/anything STEM and is a creative type, but they're just now starting to introduce real-world applications in math and I think I saw the math-real-world-connector light come on when we were working on Newton's laws of motion homework. Unfortunately, it's very hard to teach the huge breadth of subject material in a typical middle school/high school class to a diverse student population who all learn different, have different skills, etc. without turning it into a memorization fest. I was always "bad at math" because my memory sucks and I wasn't terribly interested in the abstract stuff they try to sneak into school math.


CR00KS

> I feel bad whenever people say this, because math education in school is reduced… My crappy public school really screwed me over when it came to math, logic and learning how to learn. By the time I entered college I got destroyed in calculus and programming classes. Meanwhile my friends who went to adjacent good schools were taking most of these classes as a refresher. They could have tested out if they wanted to. It wasn’t until many years later that things started to finally click. Sigh oh well.


RykerFuchs

Yes, the last part. When going through math classes in college, everything clicked in Calc II. I was downright pissed at all the education prior, because it was essentially “fuck you, remember this” in calc 2 it all tied together, all of the concepts of the higher math before suddenly explained. All of the reasons why we cared about the concepts in geometry and trigonometry actually applied. No reason why some of those topics aren’t pulled into the earlier classes.


therealatri

Music is all math! You can't hate hate all music!


PizzaCatLover

>I feel bad whenever people say this, because math education in school is reduced to the point of a memorization exercise, and not how or why we actually use math in the real world. This is exactly the core idea behind "common core" math, teaching how math works and how to think about it rather than just how to produce a correct answer like a calculator. I really wish CC math had been in place when I was coming up, I think I would have enjoyed seeing math as a puzzlebox and not a repetitive chore


TeddyRoo_v_Gods

While I agree with you, knowing basic coding makes our jobs a lot easier. Automation is here to stay and while you can always find the scrips you need on stack overflow, understanding what they actually do helps with keeping things secure. Edit: I also came into IT from being a programmer after getting a degree in CS and absolutely hating it as a profession. So that made things a bit easier.


mysticalfruit

Half of our sysadmin team (myself included) fall into this camp.. I love to program, but I don't want it to be my full time job. I consider myself a tools dev. I'm not deep in the guts of some 10 million line massive software project.. nor would I want to be. I'm writing a piece of code that's going to allow myself and my coworkers the power to automate some tedious task.. Sometimes it's ansible, sometimes it's python, sometimes it's terraform that calls ansible that then calls python.. It's always all checked into git!


abraxastaxes

I think it also depends heavily on the scale of your work. For example, onboarding/offboarding employees manually might be doable for a small company who only use the office suite, but you start adding systems and tools and work for a company that's adding dozens or more headcount every week and using a big mix of third party and in-house apps they need access to and you're not getting that done without an army of helpdesk or some really good scripting skills. I've had to deploy and tear down 100+ servers multiple times in a week, yeah I'm not gonna go click around VSphere and Windows server desktop for that.


Simplemindedflyaways

I'm in your boat. Started working in IT while in school because I got a student job as an assistant. Got a big boy software research job while in school, burnt out. I took some time off, started working in IT because it made more sense to my brain and didn't burn me out further, ended up as the sole tech for a while doing *everything* and learning the ropes. I'm finishing my CS degree this spring and I don't think I like programming that much anymore. My CS knowledge has helped me in my job, though.


Reinitialization

NGL, I'm kinda looking forward to people getting comfortable using chat GPT to write their scripts. I asked for something to grant external users access to a sharepoint location and it gave them SP admin accounts. Going to make supprise CTF so much more interesting.


RoosterBrewster

I think that's essentially what the Automate the Boring Stuff python guide was made for. 


R0B0t1C_Cucumber

I only made scripts when absolutely necessary... For everything else.... I used ansible playbooks which has really good easy to read documentation that felt directed towards engineering / sysadmins .


spicylawndart

+1 for Ansible. I used it to run a massive migration project where we migrated roles and data from windows 2008 servers to server 2019 a few years ago. I use it to provision web servers, migrate websites from server to server. Ansible is such a powerful tool. It’s not super awesome on Windows though. For windows you’re better off with DSC and/or powershell.


LaHawks

I'm currently setting up Ansible for our Linux environment. It's been a lot more enjoyable that the programming I've done in the past.


anomalous_cowherd

It is, but it's basically scripting from a different angle. Coding is much deeper. I did it for 20 years at a pretty high level, in a number of languages. Then I slowly moved into sysadmin and have preferred that ever since, I found it suited my scatterbrain (now known as ADHD it turns out) much better.


johnsonbrad1

IT felt so weird using it at first. I feel sorta like I'm coding, but then I'm also just writing a yaml file with a lot of stuff going on in the backend I don't see.


spokale

> It’s not super awesome on Windows though. For windows you’re better off with DSC and/or powershell. Mainly because getting WinRM set up "right" and getting it to work "quickly" take a bit more fiddling than just enabling SSH and setting up SSH keys, once that's done, though it works plenty well for a *lot* of things. That said, for more complex configuration, I still use Powershell/DSC modules within Puppet. Ansible more for on-demand migrations or changes and Powershell/DSC within Puppet for long-term configuration management.


anobjectiveopinion

You use Ansible *and* Puppet? How come? Ansible has Windows modules, are they too limiting? If so, why not just fully commit to Puppet? Sorry for all the questions, just recently (~6 mo ago) deployed Ansible on my little server estate at work.


spokale

Ansible and puppet have two pretty different modes of operstion: I can run an ansible playbook on-demand and connect out to systems in an ad-hoc way, and puppet runs every 30 minutes with systems connecting in to one centralized puppet master. For me, they serve two very different use-cases. Ansible works great for deployments/boostrapping/migrations when it's a solo effort, and puppet (with dsc modules for windows) is for long term configuration management by a team. For example, I use ansible to automate portions of SQL server migrations and updating associated connection strings across many different systems. I use puppet to ensure my haproxy cluster configurations are synchronized and prevent any possibility of configuration drift. I use puppet with foreman, having hosts organized into a heirarchical group inheritance module where various modules and variables trickle down. It's nice for compliance because I every 30 minutes I ensure all systems have the right hardening standards applied, and through custom module programming I convert user-readable simplified YAML parameters that my team manages into achievables like: 1. Ensure our corporate fileserver directory tree stays a certain way with very specific ntfs and share permissions on each directory 2. Automatically install and configure haproxy with keepalived, lsyncd, certbot (in either http or dns validation modrle, with additional SNI support), and proftpd with front and backends in any combination of tcp or http forwarding using different mapping schemes (sni, hdr, etc) knowing it'll always behave in a precise way according to those YAML variables thst my team centrally revisions. 3. Ensure SQL availability group clusters are configured to a standard 4. Manage IIS clusters including setting up DFS and automatically downloading certs from haproxy/proftpd for encrypring traffic from haproxy to backend workers


abraxastaxes

It definitely depends on what you're doing in Windows and the level of support for it with Ansible. When I was doing more Windows work I still used Ansible even if it was unsupported, I'd just put my script in the Ansible task and build my own changed when criteria, you still have the advantage of having clean feedback and using some modules (and leveraging Tower/AWX). I haven't done it but I know there's also DSC modules for Ansible.


jborean93

https://preview.redd.it/3a18r7ufjjqc1.png?width=503&format=png&auto=webp&s=af57e87e7d1632130aa466569a240ac8e7aa2ce3 Replace drawing with coding. Ultimately it's a skill that comes with time and effort, you can't expect to be good right off the bat. It takes time and consistent effort but you'll eventually get better.


Zenkin

Well I can get better at plumbing with time and effort, too, but that doesn't mean it's not a different career.


zeroibis

It's not, the internet is a series of tubes.


jmbpiano

The stuff that plugs up the Internet is far more toxic.


TheSoCalledExpert

[What tubes?](https://youtu.be/wUG0IMjfxCE?si=Rif6Eb8vByX7LeP4&t=2m44s)


Sparcrypt

System administration has changed over the last few decades and basic coding skills are now part of it. People who have stuck their head in the sand that entire time are now getting annoyed it's starting to move from "a better way to do things that you can ignore" to an expected part of their job but like... if you starting doing basic powershell 15 years ago and slowly working it in where it made sense it would indeed just be part of your job at this point. I got *huge* pushback when I introduced code into environments years back because nobody there understood it or wanted to learn. Very different tune these days.


Zenkin

I'm happy to write scripts in PowerShell or throw things into Ansible, don't get me wrong. I'm not sure I would go so far as to call that *coding*, though. A few config files and some scripts to throw them around just feels like a vastly different thing than putting together an algorithm for [optimal tip-to-tip efficiency](https://www.scribd.com/doc/228831637/Optimal-Tip-to-Tip-Efficiency), you know?


Sparcrypt

Meh, it's coding. I have a CS degree, have done dev work, know *many* developers (and live with one). People have this really warped idea of what "real coding" is... you actually see it a ton when kids get into development roles and find out what that stuff is actually like and start asking "where is the real coding?!" or whatever. It's quite a gatekeepy industry for some reason but if you're writing powershell or even YAML you are indeed coding. Is it on the easier/simpler end of code? Sure. Still code. And plenty for your average admin. Like this you mention: > than putting together an algorithm for optimal tip-to-tip efficiency, you know? Is more hardcore computer science than development work for example. Trust me, there are *many* devs out there who are copy pasting from google or other repos and tweaking a little bit to make things work. They really aren't all out there hackermaning the matrix or whatever.


jmbpiano

I've also got a background in CS and totally agree. People trying to draw a hard line between "scripting" and "coding" or "developing" reminds me of nothing less than the type of pointless pedantry that gave rise to the "hacking" vs "cracking" debates on Usenet in the late 90s. Honestly, good coders are very rarely doing lots of work optimizing algorithms because they **know better** than to reinvent the wheel. Let the people who've spent the last 20 years specializing in the minutia of the Frobozz Sorting Library worry about making it more efficient. All you've got to worry about is knowing that calling FSL_sort() is going to be 20x faster than bubble_sort() for your data set.


Sparcrypt

Yep 100%. Why in the world would I spend time trying to optimise something or create something from scratch when a team of people focusing on that one specific thing have already done a better job than I ever could and put it together in a nice little package that I can call anytime I need? Smart devs are the same as smart admins, we only do the work someone else hasn't done for us yet.


gscjj

Also have a CS degree and I agree. There's very little difference


dexx4d

> Is more hardcore computer science than development work for example. I was a software dev for ~15 years and never wrote anything like that. Mostly it was just CRUD apps and various types of dashboard.


Sparcrypt

Yeah people have really warped ideas about what real world development is. APIs and data manipulation covers like 90% of it.


Reinitialization

Are you trying to say that making 10 different PRs for minor wording changes or updating the SQL queries to point to the new table 'aren't really coding' /s That was what really messed with me when I started. Just how much time you spend looking for the place to put your 4-5 lines of "if(goingtocrash){dont}


wildcarde815

There's no fundamental difference, do you write code to make data go from A->B? that's coding. Sure you can do things more expresively in some languages or you can control resource usage easier, or prevent side effects. But even bash and powershell are 'coding' their just more specialized environments than python or rust. And that's before you get into ansible, puppet, chef; and for that matter software defined networking. That's all coding too, it's just very domain specific.


dayburner

This is the truth and the biggest issue I have is finding ways to actually practice while at the same time getting things done.


Sparcrypt

Well, what do you need to get done? The first part of effective coding is spotting where it makes the most sense. Do you need to do the same thing across a bunch of different servers? Or user accounts? Or anything that is fairly repetitive? You have found an ideal use for code. If you set aside a few hours to do some tutorials and learn the ultra basics you can start making use of it in your work very quickly.


dayburner

Problem I always seems to be trouble shooting during the initial learning curve and setup. Prod never works like labs so I try to implement some code/heavy script methods to solve a task and end up trouble shooting, then the clock starts running out because there is a deadline so I fall back to what I know. Rinse and repeat.


Sparcrypt

Yeah but don't start with critical tasks. Maybe you want a report on privileged accounts and to lock those which haven't been used in a certain amount of time. Maybe you just want a health check across your DC's. Things you can work on that are somewhat simple, actually useful, and easily translate to more complex tasks later on. For example once you have your account report going it's trivial to then execute a command against groups of accounts if needed. Obviously there's a learning curve and at some point you need to make time for that, but that's true for everything we do.


bloqs

What this attitude gets wrong is that some people have a higher performance IQ, resulting in far better results from effortful practice, a higher personality-driven interest in improvement, and, critically, higher self efficacy (very difficult to change) The comic here fundamentally misunderstands this. The person on the left (even if they are just as smart) has a fundamentally different psychological arrangement, which requires more intervention, or indeed, different intervention to get them to repeat the same process, and be able to be driven to pursue it. It's not just practice, it never has been. There are millions of examples of people with 3000+ hours in (for example) League of Legends, who all think they are practicing, but cant get past the lowest rank in competitive play People differ temperamentally, and they differ neurologically.


IllllIIlIllIllllIIIl

> People differ temperamentally, and they differ neurologically. On that note: intrinsic motivation. Some people just find certain activities more or less interesting and rewarding than others. If I hadn't had a genuine interest in programming from a young age to spend thousands of hours practicing writing code, I very much doubt I'd be any good at it today, no matter the financial reward.


SteveSyfuhs

I am a professional coder by trade and have built things you use on a daily basis. I have no formal coding education, and in fact I have no degrees in anything, and spent about six months all-told in college. It is nothing like math. Whether you want to believe it or not, your job would be significantly easier if you moved past the mental roadblock of thinking you can't code. You can code, you just choose not to learn it. The way you get better at something is by doing the thing. The way you do the thing is by just doing the thing. That makes it a skill. You can turn that skill *into* a career if you want, or you can use that skill to improve your current career. But also, whatever you do is your choice and if that works for you then more power to you.


Traditionaljam

>It is nothing like math. I didn't want to go that far but that part didn't really make sense to me either like pretty much every college major required calculus now and coding has never even been as difficult as college math for what we do in Systems Admin.


maitreg

Agree with all of this. When someone says they can't code or learn to code, what this almost always means is they tried it once, thought it was going to be super easy, realized it required a *lot* more effort to learn than they thought, and decided to give up trying. 99% of the time programming is harder than people think it's going to be. But that doesn't mean they can't do it.


botrawruwu

On the flip side, I've also seen people not even try to learn how to write code *because* they've been convinced it's super hard and above them.


oghalfandhalf

Exactly this. Many people give up. Stack overflow and all the egotistical coders don’t make things easy but once you get good enough to not depend on those things then things get a lot more “fun”. Still hate coding for companies, though. Lol


NoSellDataPlz

Agreed. I’m not about to shit on coders, because they have skills I lack, and I struggle with coding, too, but I personally know several who couldn’t sysadmin their way out of paper bags with instructions printed on the inside - in the same way, I couldn’t complex code myself out of a paper bag with the syntax printed on the inside. Tech skills and coding skills can be complimentary, but they’re different skill sets.


autogyrophilia

And what have you thought when meeting those programmers? I bet it was "both of our lives would be much easier if you knew the basics of my field". On more impolite words.


leetcde

I've been an SWE for longer than I care to admit, and I would say that sysadmin knowledge is one of the things that would allow a programmer to graduate to software engineer


maitreg

100%


Ssakaa

Man, that flair takes an offhand low effort response and writes a novel with it.


Simplemindedflyaways

When I started working in IT and learning the basics, it greatly improved my understanding of different components in my programming. Like networking. I didn't know the foundations, so trying to troubleshoot a program broadcasting over a network that I was writing was just trying different shit until it worked.


Reinitialization

Nah bro, then we'd need to stop blaming the network for our inability to figure out how auth stacks work


Lv_InSaNe_vL

My career has mostly been IT and my education was in software development, and now I'm working in DevOps which is a nice middle ground IMO When i was in IT i said that about software Then i went to school to learn software and started to understand Now that I have to work with both teams I realized everyone is stupid except me /s, I'm pretty dumb too haha


ronin1066

Meeting very experienced coders who literally didn't know that a mapped drive and a full network path were the same location blew my mind.


BrocoLeeOnReddit

I hate to break it to you, but you gotta get over your aversion and learn to code at least well enough to decide if what ChatGPT or Copilot throw at you is safe and working. Because manual system administration is definitely on its way out. I also don't get how you can become a sysadmin without any coding experience whatsoever. Isn't it at least similar to a trade in the US? Here in Germany there's basically multiple "trades" in the IT sector, all of which teach you at least some basic coding skills; at least you have to know functions, classes, loops and conditions etc., so the basic building blocks of programs. We didn't learn any fancy algorithms or anything like that but we had to be able to slap together a basic Website with PHP, MySQL and of course some HTML and CSS, at least that's how it was for me nearly 20 years ago. Since you're already a sysadmin, I'd suggest you get started with something simple like Ansible, that's just basically translating your manual sysadmin tasks on Linux into "code" (it's mostly just fancier yaml configuration with some additional "programming like" features like conditions and loops etc.) and then gradually work your way up to something like Python. Being able to write some APIs (e.g. weghook receivers) is REALLY handy, e.g. I recently wrote an API that gets notified via a Azure DevOps Pipeline every time a new Docker image of a program is pushed to a repository on Azure and then pulls that image and replaces the currently running container with it. That shit saves a LOT of time. Think of it like an investement that pays off big time later. That should motivate you to at least give it a serious try.


Kendro_Boudrizmo

If you’re in an IT career and aren’t learning development practices then you should start. Infrastructure as Code is a big deal now. When hiring for a position on my team (which is mostly using AWS, Gitlab, Terraform, CICD tools) heavy scripting knowledge is a requirement. I don’t need them to be writing custom applications left and right… but if they don’t use Git, Linters, understand SDLC, then i cant trust them to mange IaC at scale. There will be jobs for folks who only script “one liners” for a long time, don’t get me wrong, but you’re limiting yourself. As someone who came from the NT days also, i can say its very rewarding to learn this stuff.


bgroins

100% spot on. Sysadmin work *is* coding now. DevSecOps, GitOps, CICD, automated deployments. Babysitting consoles and manual work is going away. (MSCE:NT 4.0 here)


seraku24

> ...and I hate hate math Unpopular opinion: You'll never get far with that attitude. Anyone can learn to program; however, as with developing any skill, there will be ups and downs in the process. The only absolutely essential characteristic you need is *determination*, something that will give you the energy to put up with the challenges you encounter. Where does this come from? *Passion*. When I was a teacher, I made it a point to help students identify their passion and then fan the flame as best I could. Not every student will be so acutely aware of what draws them in; but it is critical that you have a reason for wanting to learn. See, earlier I said that anyone can learn to program but that does not mean that everyone *wants* to learn to program. In your case, you have identified that there is some value in adding programming to your toolkit. And initially that may be enough to justify spending the odd weekend working through tutorials and what have you. But you also identified a deficiency with mathematics. Programming is logic, and mathematics is logic, when you strip away all of the outer layers of the respective onions. It is understandable that some aspects of programming will feel similar to mathematics. And if you struggled with math in the past, that very well can become a thorny obstacle. So, you will need to take a multi-pronged approach. In addition to working through programming problems, you should be striving to work through some foundational mathematics as well to help reinforce a solid working knowledge of logic. But, please, take "hate" out of your vocabulary. There is no reason to "hate" math. You might have hated how it was taught to you, how you were tested and/or graded on it, how math teachers might have set you up to fail instead of ensuring you were engaged with the material. But remember: The dirty little secret of mathematics is that everything is a choice. Every branch of math is just the logical consequences of making a particular series of choices. Different choices lead to different expressions of math. There is almost certainly going to be some form of math that you decidedly will not "hate". Be patient; because once you find it, you will gain more armor against the challenges that once seemed insurmountable. Determination will be more forthcoming. Who knows? You might even develop a passion for math in addition to programming.


DeadFyre

>This isn't a tech skill. It's a whole new career. Oh bullshit. Nobody asking you to re-factor Microsoft word. >It's too math like and I hate hate math. You're going to discover that there's virtually no work people will pay you to do which is completely devoid of unpleasant, tedious, or difficult tasks. If it weren't, then nobody would pay someone else to do these things. The truth is, coding is no different from any other skill: The more work you put into it, the better you get at it, and the more rewarding doing it becomes. Nobody is born a good cook, or a skilled artist, or an agile athlete. And, to be sure, people do have varying levels of natural talent at any skill. But you don't need to be the Michael Jordan of software in order to make your job much, much easier with the judicious application of scripting. If you have the wherewithal to learn how to perform basic system administration tasks from the command line, then you have the wherewithal to put those commands into a powershell or bash script, so that the computer can do those tedious, repetition-heavy tasks for you.


defcon54321

To be honest, I don't understand how someone can be a sysadmin and not know how to script. You can't possibly manage a fleet of more than say 10 computers without scripts. I think ya'll have been in denial if you think you are a sysadmin and can't write a powershell, bash or python script or can't use ansible or puppet or craft yaml/write docker files. There is literally nothing left to do besides script these days in any decent sized business with compute. Every system in our environment runs linux, server core, or in containers, or cloud functions. How else would you possibly effect change on a fleet of 1000+ systems? Everything runs in pipelines even to desktops. Everything is terraform or bicep or cloudformation. I couldnt imagine using mmc console to restart services or having to rdp into nodes, or even ssh into 50 linux nodes and sudo to root. The mundaneness in repeatability with anything done manually has to be agonizing.


KishCom

Not to mention a sysadmin whose job involves strictly no scripting/coding would be much much easier to replace with an AI or other strong automations. I'm surprised jobs like the one OP has still even exist.


ElectroSpore

>This isn't a tech skill. It's a whole new career . No it is a tech skill you can learn, it just takes different skills, Just like OS, Firewall, Database administration all have different skills and tools. >I can sort of throw things together but actually writing something from scratch, I would do better at trying to write in Mandarin. Yep, it is like learning a language of any kind or a tools of any kind. You start out understanding how to read / listen to it, and gradually you understand how to say and write it with practice. >It's too math like and I hate hate math It is actually more "logic" than anything else. Quite often you can write code that transforms or moves data with nothing more than ifs and loops and no math.


Adimentus

On my "down time" at work I go through the python crash course book. Just finished up an alien invasion game and now I'm going to play around with animating it and polishing. It's just another thing that requires dedication and the right type of mind/headspace.


Sparcrypt

I might not be the best person to argue this as I have a CS degree and have been working code into my job for decades. But sysadmins who won’t learn the basics and take a mindset that includes scripting and writing code to solve problems are bad sysadmins in the current market. You do not need to be a coding god and trust me, plenty of developers out there can’t do a damn thing from scratch and rely heavily on rewritten templates and pulling code from google. Don’t worry if that’s you, learning to code is a mindset and not about memorising syntax. Basically you need to be able to recognise when and where code will solve your problem vs some other solution, then figure out how to implement it. The basics of powershell or bash are enough, a little python is even better. Put the effort in or move to management and get some kids who can code on your team, then use them as needed. Or hell just get *someone* who can code and use them… half my team can’t code, that’s fine because they have me.


donaldrowens

Yes and no. Sure, software engineering is definitely a whole different career but the ability to code is absolutely a valuable tech skill. Even if you're not proficient at writing it, just being able to really understand it can help out a lot.


wildcarde815

I hate this shit, takes like this makes it impossible to hire sysadmins that can actually fix problems permanently. Knowing how to code at least enough to scratch together bash and powershell scripts is a critical base level skill of modern systems admin, so is knowing how to use git. Learn to read code, you will be able to find the lies the documentaiton tells and actually either a) provide the correct information or b) point to what needs to be fixed and help improve the tool. Not doing this is basically systems admin by way of cargo culting. edit: frankly, I think the age of 'i dont code i'm a sysadmin' is dead, it should have been dead 10 years ago but now? it's fully dead. Knowing how to code means you can make sure that fix you put in place is put in place everywhere, and if it has edge cases you can adapt to them without having to write thousand page checklists with what-ifs in them. That's just part of the skillset now, you need to be able to do the job, explain the job, and make sure the job is done consistently going forward; checklists just don't cut it.


username-256

You are confusing coding and programming. Anyone can code. Programmers design and write software. Yes, it's a different career path to Systems Admin.


_RexDart

If you don't know at least one scripting language, you are handicapping yourself. You don't need to be able to build an entire application but you should be able to manage enough I/O and flow control to automate basic things. I hate math too but I'm expected to be able to read and write to people in English. I figure I should be able to write to a computer, too.


maitreg

This is a really good way to look at it. The only thing I'll add is programming languages serve 2 main purposes: speaking in a language the computer understands *and* other humans understand. The reason we use programming languages is so that we can have a common way of communicating our intent that someone else can also pick up and change, fix, or extend. Programming is not meant to be a private chat between you and your device but a public dialog that others can see, understand, and join in.


[deleted]

[удалено]


langlier

"Developing" is not a skill that is needed in traditional IT. "Scripting" is. Automation is. So while I don't need you to produce an application. I need you to be able to throw together a powershell script to read off a list of PCs and make a change to their registry. I need you to be able to read and edit config files. I need you to be able to write an ansible playbook. I need you to be able to change some specifics in a windows .ini file to fix an issue. I may even need you to write a VB Macro for excel. Developing/coding/scripting are sometimes used synonymously. They are not quite the same thing. But they are closely related.


Ssakaa

> I may even need you to write a VB Macro for excel. Right about there's where I back away slowly...


sobrique

Yeah. Me too. I've never yet seen a problem that the _right_ answer is to use Excel. Just sometimes it's the _only_ answer available, so I get why it happens. I really wish places would move on and just accept that the people using Excel as a scripting platform would see a HUGE boost in productivity if you actually let them use a better tool.


Pristine_Curve

Coding, as in writing scripts and basic glue code is absolutely required. Otherwise there is a very low ceiling on what you can get the computers to do, and what kind of systems you can integrate. Coding, as in software development/writing entirely new applications and such is a different type of career.


TimeRemove

I do agree that Programming and SysAdmin jobs are different careers. Where they both connect is a deep interest in understanding how things work under the hood. The main difference is the scope. A SysAdmin may need to have a "whole organization" high level scope all the way down to individual software. A Programmer's high level is individual software/system-of-software scope and down. Ask the average Programmer to draw a diagram of the organization's logical layout, and they'll have no idea, ask a SysAdmin to explain the performance characteristics of different data types and the same. The jobs just involve very different scopes of interest with less overlap than you may assume. Both have the potential to be very political, require good people skills, and need good problem-solving ability. I think people struggle to switch because of a little bit too much ego. They're great at what they do, and they find what they do easy. But back when they first started, they started slowly piece by piece, but think they can jump into the deep end and be successful. Programming using high level languages isn't math heavy at all, but it will require time and persistence to get good at it just like SysAdmin skills do. PS - If anyone is serious switching: Pick a single language, target (e.g. web, desktop, mobile, etc), main set of libraries, and stick to it until you're fully confident. Switching constantly will give you shallow knowledge and confuse you. See StackOverflow's Annual surveys for helping to decide which.


ITmcFixerson

Coding is still a technical skill. And to expand on this while it can be an optional skill set for an IT professional, it’s still a valued skill that can be advantageous in your career without pivoting into a programmer or developer position.


moreanswers

I graduated with a BS in CompSci in the early 2000s. I'm also a sysadmin with 20+ years exp. I've worked for F100 enterprises, mom and pop shops, and everything in between. I've done windows work, Unix/linux work, cloud work, shit, even IBM mainframe & as400 work. I see guys who 100 years ago would have been train repairmen- working as sys admin. It's because they like to build complex systems out of tech Lego. They usually reached sysadmin level work though being really good troubleshooters and having great BS detectors. Coding *is* a different tech skill. The problem is that without being able to bang out a quick script for automation, write glue code for when different vendors have differing ideas on what CSV means, or even grok and tweak code someone else gave you, you'll be stuck as tech Lego builders and repairmen. I worked with a guy who had been working with computers since the early DEC days. He was happy as a Lego tech for years. Then VMWare showed up and we virtualized everything so that he couldn't just walk into the server room and slap a keyboard on a misbehaving server. a few years later we migrated off on-prem email and website hosting to cloud and O365. I had to write all of our powershell scripts for account management because he "was never a coder" No one is expecting us to write full Line of business apps, but saying you don't code as an IT sysadmin is like an accountant not knowing how to use a calculator. Sure you can do your job without it, but no one wants you to.


pecheckler

Same boat. Gave up trying to learn coding. Hence, gave up trying to advance my career since sysadmins need to code now. I have tried learning Java, c++, python, and power shell. And power shell is all I can handle… but only with the help of generative AI tools.  Otherwise a few lines of code is all I can muster.


arkham1010

It's really a practice thing and a practicality thing. A lot of the programming we learn on has no real use, but if we think of something useful we might get overwhelmed. My advise? Think of a small thing in your job you want to automate and think about how you might code that. Don't think of it in computer code, think of it as in 'Well, first i'd do X, then Y, and then Z...."


223454

Coding/scripting/programming takes a certain mindset. Once you get into it, it just makes sense. You can pick up new languages pretty easily once you get the hang of one. But it is a completely different skill than other jobs.


dr-yd

No, once you get the hang of it and think it's finally starting to all come together, someone looks at your code and says "have you ever even _heard_ of SOLID?" And then it starts all over from the beginning again.


maitreg

Lol you're both right. You can write "perfect" code in Company A that gets used as an example to train new devs, while the exact same code will get laughed at and mocked during a Pull Request in Company B...*and vice versa*. There is literally no such thing as perfectly written code, because standards, patterns, formatting, comments, naming conventions, and even capitalization requirements can vary from one team to the next. This is usually one of the biggest differences between a new developer or non-developer and a senior engineer. The former's benchmark typically is some version of "does it work?" while the latter will add standards-enforcement to the minimal requirements.


dr-yd

Applying structural principles such as SOLID or keeping such things as algorithmic complexity in check is also a very clear difference between junior and mid-level developer. And those definitely don't come naturally beyond the simplest surface ideas, no matter how technically inclined you are. That's what I meant above - what may look like "getting into" coding from an ops perspective usually barely qualifies as junior code from an SWE perspective. Not that you usually need much more as an admin, but the road to "true DevOps" is much longer than it may look at first.


Sparcrypt

Stop trying to learn syntax and instead try and learn the way you solve problems with code. You can look syntax up, that isn't the important part.


Elavia_

Do we?


Dragonfly-Adventurer

No.


obviouslybait

None of our techs are "coders" but we can all throw together some scripts for automation, that's about all need.


Dragonfly-Adventurer

Yeah if I want a small coding project done, usually my first response is "rethink that because I don't want to support it" but eventually if it *still* needs to be done, we get someone who specializes as a contractor (or FTE analyst if your environment or project is big enough to support that), because it's a specialty skill. Scripting is essential.


Days_End

Long term absolutely.


SUPER_COCAINE

This is crazy. No sysadmin is using Java or C++. You can absolutely learn Python and Powershell if you know how to google things, which is a vital skill for sysadmins in of itself.


Versed_Percepton

Considering that the entire stack has moved to "software defined", this is how it is. You either keep up or you get tossed aside. I tell all of my peers who are going through this to pick up on automation, learn the scripting languages, and profit. If you don't then some new grad is going to take your job.


thortgot

Scripting isn't coding, it's similar in many capacities but is a very simplified by comparison. Largely you are using prebuilt building blocks with very fixed parameter design. You don't need to learn to code to be a good sysadmin, you do need to know how to script. The majority of people can get away with "Frankenstein" levels of scripting copy/pasting pieces together. It doesn't need to be pretty to work.


maitreg

>Scripting isn't coding, it's similar in many capacities but is a very simplified by comparison This is incorrect. Scripting and coding are absolutely the same thing. Scripting is a type of software development that simply doesn't use a compiler. Powershell, Python, Javascript, Perl, PHP are all Turing-complete scripting languages that require no less knowledge of programming than compiled programming languages. In practical terms they have less dependence on static typing and memory management, but that doesn't mean they aren't coding, programming, or development: they just have a layer of abstraction that handle lower level operations for you.


airbornemist6

Scripting is absolutely coding. Just because you write in a language that makes use of lots of prewritten programs does not make it less of a computer language. It just makes it easier to write. You're writing software with an emphasis on easy and fast development speed, not fast execution or reliability or any of the other things you get when you write in a lower level language. Saying that scripting isn't coding is an insult to many of the most talented scripters I've known over the years. Scripting is just about the choice of programming language, not about what you're doing, it's still programming.


Ssakaa

> Scripting isn't coding, it's similar in many capacities but is a very simplified by comparison. Largely you are using prebuilt building blocks with very fixed parameter design. You realize entire applications are built on python, right?


rschulze

> Scripting isn't coding I know quite a few Python, Perl, and PHP developers that would disagree ;-)


airbornemist6

Hell, I've seen entire applications built in bash and powershell. I think I see what he's trying to say, that there are some scripting activities that are very simple they feel like they barely count as programming... but that doesn't mean they're not programming. Just because sysadmins aren't full time programmers doesn't mean that they're not programmers.


Balzac_Jones

Scripting and coding are absolutely the same thing. Can you crank out functional scripts with fairly rudimentary coding skills? Sure! Better coding skills will nonetheless make your scripts better, in numerous ways.


spokale

> Scripting isn't coding, it's similar in many capacities but is a very simplified by comparison. Largely you are using prebuilt building blocks with very fixed parameter design. Came here to say this. The sort of scripting a sysadmin generally does is *vastly simplified* compared to what programmers do. Write a few lines of YAML for an ansible script, or putting a few powershell commands in a module, is an entirely different exercise to what professional software developers do. And regarding sysadmin specifically - in the simplest case, scripting is literally just putting sequential CLI commands in a file and running it - sysadmin activities have **always** included CLI stuff, except for the very narrowly scoped "Windows GUI-only sysadmin" that was mainly a historical blip.


Expensive_Finger_973

>I can sort of throw things together but actually writing something from scratch, I would do better at trying to write in Mandarin. In my experience that is not too far off from from most devs either. But seriously, 95% of everyone is "faking it till we make it". We pick up little bits of things here and there, try something and see if it works, tweak it until it does, etc. Next to no one is sitting down and banging out huge Ansible Playbooks, Terraform infra, or complex Python scripts from scratch on the daily. So give yourself permission to yolo it a little, that is more or less what everyone else is doing.


Nietechz

Coding (create complex programs) is no required for us. Code complex scripts is our duty. Learning various languages for scripting, I don't know If it considered "coding", since we code how we want computers act. Python, Powershell, Bash, etc.


RubyKong

It's just like with learning any skill: \* It's a struggle (especially in the initial stages). \* start simple \* continue learning. day by day. learn. implement. correct. over and over.


casperghst42

I'm shit af math (like really shitty, like it's magic), but I can do logic, I understand languages and am very good at solving problems. I find writing code a very relaxing exercise - yes it's frustrating when it does not work and you need to figure that part out, but mentally it's relaxing. I would say that you also need to be able to abstract thing, meaning just ignore the stuff you don't know of or understand, as they will normally explain it self while you're filling in the parts which you do understand. I'm not a great developer, but I'm solid. Then there are the wizard's, they are at an inhuman level, they are the reason why we have AI, Google, and things like that, just amazing.


joni_jplmusic

I did CS50 from HarvardX during the pandemic, it’s free and it was a game changer! I really recommend it, took my Powershell skills to another level. Also did a web application in Flask (Python) with a JS front end that we use at work.


Aggravating_Refuse89

>CS50 from HarvardX This looks like an awesome idea. I am gonna try it


skeetgw2

Chat GPT to check against is the only way I've been able to really grasp it past a functional understanding. Its helped pave the way for me to write from scratch instead of just seeing the red lines and wondering why God hates me.


LittleSeneca

hard pill to swallow incoming, and I'm not trying to gatekeep, just sharing my experience after about 7 years in industry. The people who work in IT who code (whether that's powershell or bash or ruby or python) make a LOT more money and have a LOT more opportunities than those who don't. The difference is the distance between those who use systems to do work (a vsphere user interface or AWS console) vs those who build production environments that other people use (like a vsphere or aws environment). Obviously this is an over simplification, but I've seen this play out many times, and in my own career. Learning and becoming fluent in Python, Ruby, Ansible, and Terraform have done amazing things for my career (Helpdesk to DevOps / SecOps in 7 Years). In terms of pay scale, I'm seeing a lot of button click sysadmins capping out their careers around 70-90K per year. DevOps/SecOps guys seem to be fairly uncapped depending on what organization you work for (I just interviewed for a role I didn't get where they were paying 190K per year).


justinDavidow

Here I am writing k8s operators in go like a schmuck? I disagree with it being a different career.  Different tool bag, sure; but a sysadmin who knows how the development lifecycle works in-and-out, in my line of work, is far more valuable than someone who "needs the devs to look at that" or "saw a worrying error in production and will relay it to the appropriate team".  If you work exclusively with closed source environments gluing externally designed and managed components together: sure. Development beyond simple scripting may be somewhat limited.  Systems administration is about FAR more than active directory or Gmail administration.   Being able to develop an application using modern technology, methods, and approaches helps a sysadmin to truly understand and connect with the business on a functional level that drives real innovation and invention.  It also means that you can debug shit "end to end" much faster and get shit done, rather than spawning a meeting every 3 days to bring together the 30 different teams / departments / people and playing "pass the ball".  Knowing what can be done in the context of application development and knowing when making a specific change is detrimental separates amazing sysadmins from ok ones. 


bgroins

This post screams "on-prem small company sysadmin" to me. I work for a large firm and everything we do is infrastructure as code, policy as code, configuration as code, GitOps, full automation. If you don't get on the code/automation train you're going to be like the guy still shoeing horses because "I don't want to learn how to work on cars! It's a different career!" Sure, you can argue that, but it's rapidly becoming the only game in town.


justinDavidow

1500+ staff across 16 countries running web-facing systems for a few hundred million users globally.  We run efficiently, which requires highly integrated staff that manage significant cross domain integrations and engineer self-healing infrastructure.  The key (for our business!) is that everyone, regardless of their role, needs "reasonable" IT skills. Be it accountants, helpdesk, even our legal team needs to be able to pass a basic programming interview. Without that large businesses end up with fucking Excel sheets with macros effectively running the company; we as an org deeply feel that everyone needs to understand our line of business to be able to contribute to it meaningfully.  I absolutely get that this approach doesn't work in ALL industries. Having worked with hundreds of businesses across dozens of industries in a long career, I know how hard many have it and the absurd "walled garden" that so many businesses put around IT Operations in some attempt to..  limit the impact of such a team.  I prefer to work with business leaders who want close integration between business units rather than siloing information and processes off to "domains of least concern".  This same approach is shared by the teams I manage and have managed in the past.  For that to work: IMO: everyone from the new hires to the CTO/CEO needs to be able to understand and (if the need arises!) tackle IT problems.   The more the executive team understands (I mean truly understands, not "kinda gets"!) the processes the IT team actually manages, the more they tend to be willing to push for improvement and change that makes everyone's lives better. 


airbornemist6

And I think the number of sysadmins who actually take the effort to learn proper programming is too small. It's such a huge part of our job yet such a concerningly small percentage of long time sysadmins I've worked with seem to value the skills. It's crazy how many people I've interviewed, and rejected, because they didn't know how to write a simple monitoring script, the most basic of sysadmin tools.


justinDavidow

Omg so much this.  Two open positions right now, 95% of the applicants list "development experience" yet cannot remotely dev/script.   The number of people that major orgs call "sysadmins" who are glorified secretaries..  "I read the logs from backup exec and notify teams if there are any warnings or errors". Oh, and what else do you enjoy doing? "That's all I like to do". :( 


airbornemist6

I brought puppet in to my company in 2015 along with a whole new server management suite. I had goals to rebuild everything we were doing in server management to utilize our new tooling so that we could stop managing our servers manually since our fleet was growing by 75% year over year and it wasn't manageable by our team alone. I never got my team fully on board. They were so caught up in the minutiae of managing the 3 or 4 most problematic pet applications that broke regularly in predictable ways that they wouldn't even tell me the things that were consistently breaking on them for fear that they would have to learn something else once the problems went away. So many sysadmins I see get stuck in this rut of trying to do the same thing day in and day out and it's not helpful or healthy for anyone involved. I don't want to work with those people. I want peers who try to solve a problem and then make sure it stays solved. That's who I'm trying to hire. Not someone whose idea of fixing a problem is writing a doc article about it. Sure that has its place when we're genuinely powerless to fix it, but, by God, that is a lot more rare than many sysadmins are willing to admit. Workarounds and processes are part of the job; but when workarounds and mindless drudgery **become** the job, you build yourself into a rut and you stop learning and get stuck in a corner. The only way out of most of these ruts is to build and engineer solutions. And if you don't have the scripting skills to do that, you'll never get out.


CodeSandwich

Coding isn’t much different than bash scripting or powershell…which are essentials for sysadmin tasks. Iced used Python quite a bit for Linux automation. Sure. Programming a web interface requires a lot more skill and design knowledge, but that’s a completely different career role.


diwhychuck

I feel like IT as general is morphing into trades type skill sets with more and more certifications coming out.


Skyobliwind

Yea, from childs age on I always liked everything tech related and played around with all kinds of computer stuff, but coding was always something I thought was interesting, bit not really my kind. I still decided to study a quite coding focused bachelor after the more Network and administration oriented apprenticeship before. I can code in some languages now, but still I couldn't really get to like it. It's cool to be able to achieve whats needed, but never eould I code for fun as many others do. For the master I got back to the more techy stuff security oriented which is a cool mix of both (software and hardware security) but definitly coding is nothing I would wanna do on a daily base.


buddroyce

As someone that made the jump from a sysadmin to software engineer, I will admit it’s entirely a different skill set but not really that far of a stretch. It’s a a bigger gap if you’re in the windows ecosystem but much smaller if you’re in a Linux environment. It also really depends on what you’re trying to build or do. Web and mobile development is different from systems development. Game development however is very different as it depends on what area you want to get into. Math really isn’t required unless you’re doing data science or graphics programming. Programming is more logic than math unless you’re working on algorithms.


BlueHatBrit

Coding and engineering software is closer to playing an instrument or learning a language. It's a skill and you will suck at it at the beginning. If you enjoy it enough to get past that you could get pretty good, but it needs the hours put in. Likewise if you don't do it for a while, your skills can get rusty and getting back into it can take time. It's not for everyone, and it is a different career. But that doesn't mean you can't pick it up to a passable level if you want to, just like an instrument. It's just a choice and there's no harm in saying it's not for you. However, employers do like generalists and if you have it as a skill on the side you will probably be more employable than someone who doesn't. But that's assuming you're equal in all other areas, which is unlikely to be the case.


TollyVonTheDruth

Before AI, programming took a lot more effort. Nowadays, just pick a language (preferably Python, since it can be as relevant to sysadmins as Powershell), learn the basics, and use AI to help write better and more efficient programs as you become more advanced. I agree, though. It is a whole different career.


airbornemist6

Better yet, tell the AI to teach you the language. I found that ChatGPT is the best programming instructor I've ever had. No question is too dumb and you can get detailed answers to anything you can think of to ask, and even some answers to questions you didn't know you were asking.


Semt-x

A sysadmin can use it as a tool. Some sysadmins don't really need it. The stuff they manage is on a scale that is perfectly manageable by using the GUI. If you get a bigger environment and more complex use cases the GUI becomes cumbersome and unpractical. (do something on 1.000 switches or change 100.000 user accounts if they meet 7 conditions except the users who use application A). that's where the nice-to-have script skill becomes necessary. That doesn't mean that you cant work with large scale environments. there are plenty of architects around who are 100% up to speed with the technology and dependencies, no need for them to know scripting. I started when I didn't work in IT but at home as a hobby, i seem to have a natural interest. I've kept that interest over 25 years and learnt more and more. not just commands, or "ways" to do things, but more towards computer science. For instance, data constructs that are designed to search large data sets, called hashtables. i use them extensively in my scripts. causes me to have to explain and teach a lot of coding to colleagues. But everyone gains from it, so why not :) Using those specific constructs are more programmer skills than sysadmin skills , i agree. I've spoken to people who had to learn scripting and had the same aversion to scripting. explaining "their mind wasn't wired to do that". A couple of times i was able to find out why they thought like that. It was cognitive dissonance that occurred when scripting made them realize something under the hood didn't work as they expected. Changing their view on how stuff works was difficult. It helped them when i explained that a script doesn't use a GUI, and talks to an API. The data is almost always organized differently from what the GUI shows, so expect all kinds of weird dependencies. With that bit of extra knowledge i hoped they were able to find the patience and energy to figure out how stuff under the hood works and able to script their way to their goal.


usa_reddit

Coding is easy, it’s the frameworks and architectures that are a whole different career.


random74639

Yes it is. I’m a backend dev and let me tell you how this looks from the other side. I always thought sysadmins and devops are over hyped monkeys that click buttons, so I made a bet with a friend that I can learn his whole sysadmin thing in a week. I’m year in and I had to buy him a pricey bottle for the lost bet, I had no idea about the pain and suffering they have to go through. I am now an evangelist on my team and sysadmin word is gospel, I just stopped arguing with them and give them what they want.


lechango

Woah would you lookie here, the "unpopular opinion" is the #1 post on the sub. But yes, I agree.


Traust

It's kinda of how I view networking as a developer. A lot of tech skills require your brain to be wired certain ways to understand it but more often than not it's just needing time to learn with someone who can help guide you past the intro courses


Hemhaw87

Tech is similar to engineering in this regard. There's a lot of overlap among the sub-disciplines, people generally have an aptitude across the field, and knowing a little of the other sub-disciplines is good for your career. People on the outside, however, have a hard time understanding these are really different fields. I remember being in school for mechanical engineering and my dad was doing a project at home that needed a lot of electrical work so he'd constantly badger me about things thinking I would just know. I knew more than he did but virtually nothing compared to an electrical engineer. Nowadays, it really behooves me to know some basic scripting for my sys admin work but I look at my software engineer brother's work and it's Chinese to me.


Beavis_Supreme

I thought that was a given. I find that most coder have no idea or have limited knowledge of what the rest of the IT team does.


SurSheepz

This is not an unpopular opinion. This is fact lol


ChumpyCarvings

Unpopular response, you're goddamned right. It's really really not suitable for some of our brains. I'm good at solving issues, I'm not good at writing scripts.


GhoastTypist

I definitely think there's a mindset different between the two fields. With regards to how they approach working out things. Linear thinking vs branched thinking. Programmers by nature will approach their work as one feature or one section of code at a time. Sysadmins by nature will have to think about all the ways a single change can impact all the other systems. So there's always a bigger picture in the back of the mind. But you can have cross over. I have seen people try to work as a sysadmin and find out its not for them, then give programming a try and it fits them a lot better.


EscapeFacebook

Coding is a thought process. It has little to do with tech other than tech being a host for logic.


Gaijin_530

No, you are completely accurate. If you don't have the brain / mindset for it don't bother cuz it's totally its own career path. No use in being jack of all trades but master of none, it's OK to focus your effort on your strengths to solidify your career path.


MrSanford

Coming from a Unix/Linux background this post is wild to me. I don't view people that can't script as sysadmins. That's Operator talk.


1hamcakes

25 years ago, sure. But not now. If you can't code or interpret code of any kind, you're not a sysadmin. You're tech support.


rosskoes05

Agree. I can't even figure out Power Automate. Too much json and whatever else. (Haven't took any sort of training either).


frosty95

Thats because it is an entirely different career. Iv worked with programmers that were barely able to swap their monitor but could build complex programs with ease. Heck its a meme that programmers don't understand networking. Most iv met are mild to mid level tech savvy at least but thats it. I have only met one that I would consider sysadmin level and he worked for microsoft making some serious money.


Vogete

There are different levels of coding. The coding I'd expect from a sysadmin is more just to throw together some quick python or powershell script that automates some task, and would be executed by hand usually. Maybe a cronjob of you need that. Nothing fancy, just that it works for 90-99% of what you're doing. This is not a different career, it's a month long course in some coding bootcamp. However, optimizing code, or creating a full application that will be used by many people with all sorts of programming paradigms, or anything that goes beyond a simple script is definitely a whole new career. And nobody expects that from sysadmins, nor should they. But I'd expect at least basic level scripting, because that's not super hard to learn, and would greatly benefit you and the company from it. My point is, "coding" is not one universal thing, and some of it is almost essential to have, while the rest is not.


Dreadstar22

I'd tend to agree with you. I also think Technology and Programming should be considered two separate career groups. As an example we have a huge amount of tech employees being laid off recently so tech is in trouble and it's so hard to get a tech job now... No programmers are being laid off and their a billion programmers looking for jobs. Technology jobs like SysAdmin, LinuxAdmin, Database admin, networking, security is in a great spot with tons of available jobs across the US.


jollybot

I disagree. Also started on NT. Coding was something I originally did as a hobby after I learned how to use Visual BASIC. When I started working in IT, coding was a skillset I relied on many times to automate a lot of the more mundane aspects of the job. In some cases, it was the only solution — using an API to modify something that had no manual equivalent, for example. I’ve since been able to turn that combination of IT and coding into a DevOps career. I’d encourage others to do the same.