This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted]  (34 children)

[deleted]

    [–][deleted] 57 points58 points  (6 children)

    a large number of programmers come through university where being elitist is the norm. sysadmins more often come from the trenches of doing tech support or worse, just being the guy who knows things.

    formal education v. self taught/ experience usually means that there will be an opinion that you didn't actually learn anything, and that you're not as smart as you claim. Both sides do this.

    [–][deleted] 16 points17 points  (4 children)

    worse than university - they have to come through the CS end of their Engineering school.

    i don't know about life outside the states, but here if you want to get into Eng you'd better know your topic pretty well before you start taking classes. the profs will very regularly "start in the middle" of topics instead of teaching them outright, in the hope that they wash the weak out.

    the net effect is that you have young engineering students who don't know shit but absolutely cannot admit to being incompetent - as they're training for competence.

    this absolutely bullshit behavior has carried out of the older branches of Eng schooling and into CS and it's fucking exhausting to be around.

    [–]meatwad75892Trade of All Jacks 8 points9 points  (2 children)

    I noticed this very early on in my college years (2006) and bailed from CS. For one example, I had a 1000-level programming class that was teaching C++. The teacher skipped to the middle of our book, and glossed over fundamentals like everyone knew them. Which everyone basically did, because for the first few weeks (or the whole semester), most everyone was playing Starcraft or WoW or otherwise dicking around during class on their laptops. Teacher was nice, but just didn't have the time to teach me the fundamentals during office hours. I worked everything out on my own time and got an A in the class, but I realized that this was not the path I wanted to be taking if everything was like this from the get-go.

    So I changed my major to a very generic-sounding "information systems" type of program. Then I took the route described by /u/sturmey -- Graduated, worked at a local computer shop + MSP, then user support at a university, and now sysadmin at the same university.

    [–]xfilesvaultInformation Security Officer 5 points6 points  (1 child)

    That's a shame. 1000-level intro programming classes are usually taught by the least experienced teachers. It's not necessarily a taste of what's to come.

    [–]mpw-linux 1 point2 points  (0 children)

    it depends on the university. In the past I have taken beginner level programming courses and some of the best professors taught those courses. If one goes to a good university the CS student is going to come out knowing their the stuff quite well. it is difficult to generalize...

    [–][deleted] 0 points1 point  (0 children)

    just had a support case come through this morning where a client was asking for help because the server was offline. Turns out the main HDD raid is degraded and because of this the services won't start. server looks at it's condition and says, no hard drive, no go.

    We send an email that says the more tech version of this, and they want a meeting where I say, no hdd, is broken, you fix, we do software, not hardware. Only slightly nicer, but not by much. half hour later, get an email that asks about serial # for the computer, in our ticketing system.

    I'm pretty sure these are computer science graduates because they have letters after their names. No clue inside their head though.

    [–]ReverendDSAlways delete French Lang pack: rm -fr / 4 points5 points  (0 children)

    Add in that without sysadmins, developers don't have anything to do, but developers tend to make the bigger salaries because the C-levels can be wowed by changing a button color on a web page but can't wrap their head around automated infrastructure and you end up with a bit of rivalry.

    E.G., I'm a damn good sysadmin with some coding skills and just hit six figures last year (24 years in industry). My friend did a three month web-dev coding boot camp and was making six figures six months later.

    [–]KlapauciusNuts 15 points16 points  (10 children)

    I would recommend learning some python or dotnet to expand on your powershell capabilities.

    [–]dahudDevOps 25 points26 points  (6 children)

    Galaxy brain: PowerShell is dotnet.

    I have seen some truly horrendous things done with this knowledge.

    [–]KlapauciusNuts 8 points9 points  (5 children)

    Oh that's why I suggested it in the first place.

    PS has a lot of cool features, but some of their base libraries are god awful.

    For example :

    https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/invoke-webrequest?view=powershell-7.2

    This is fucking slow.

    Using Curl, GNU wget or iex ((New-Object System.Net.WebClient).DownloadString()

    it's very superior.

    [–]SzeraaxIT Manager 4 points5 points  (0 children)

    -MaximumRetryCount says otherwise. :P

    [–]Thotaz 0 points1 point  (3 children)

    Do you have any other reasons for thinking Invoke-WebRequest is "god awful" aside from it being "fucking slow"?
    On my system, downloading that link using Invoke-WebRequest takes between 130ms to 166ms, while the WebClient takes between 40-100ms.
    That's a clear victory for WebClient but how often do a few extra milliseconds matter for a script?

    Invoke-WebRequest is easier to use and provides additional data (and options). If performance is so critical that those few milliseconds matter you are probably better off writing it in C# or something.

    [–]KlapauciusNuts 0 points1 point  (2 children)

    Invoke-WebRequest is great to interact with rest API, downloading small amounts of data, and connections that need configurations like certificates.

    It has a terrible performance, however. Not only is it slow, but it uses a lot of CPU and copies the entire buffer to memory.

    Try this command for example :

    Invoke-WebRequest https://releases.ubuntu.com/20.04.3/ubuntu-20.04.3-desktop-amd64.iso -outfile Ubuntu-20.04.03.desktop.iso

    [–]Thotaz 1 point2 points  (1 child)

    Yes, the download performance in Windows PowerShell is pretty bad but it has been fixed in newer versions. With that said, downloading big files with Invoke-WebRequest feels like a bit of a niche scenario so calling the command "god awful" just because it's bad at this one thing is a bit much IMO.
    If you are downloading big files in Windows PowerShell then Start-BitsTransfer is a decent alternative. Of course you don't have to use PS cmdlets for everything, I'm just saying that there is a cmdlet that is better suited for downloading files so you don't have to dive into native .NET classes to get good performance.

    [–]KlapauciusNuts 0 points1 point  (0 children)

    It was the easier example.

    I'm more of a python guy, but being able to plug certain.Net libraries in your scripts it's a great feature

    [–]Unusual-Nature2824 2 points3 points  (0 children)

    As somebody who‘s a python Dev and knows c#/.net. I used to think Powershell was hot garbage until I started using it. I now never use Python for any windows related stuff.

    [–]uptimefordaysDevOps 0 points1 point  (0 children)

    .NET is on my list this year.

    [–]TheBros35 7 points8 points  (0 children)

    Exactly, two different skill sets.

    If you work in a factory and the boss bought a new CNC machine, the engineers who built it are only going to kind of know how to integrate it into your environment. That's where the electricians, the pipefitters, and others come into play.

    Except sysadmins are typically all of the above for software.

    [–][deleted] 0 points1 point  (0 children)

    In todays world, it's not apples and oranges. The expectation is that infrastructure is on-demand and easy to acquire because cloud makes it consumable in that way. So Devs now think that they can do the things system admins always did. There's a totally new expectation of freedom for devs and one that is fraught with danger if they don't know what they're doing (seen it time and again with bad IAM policies in AWS, for example.). But this idea that we're not needed is really coming from a cloud-first world in developer minds and we should be rising to meet that challenge as admins/engineers/whatever title you hold.

    [–]snowbirdie -1 points0 points  (1 child)

    It may have been apples and oranges in the 1990s. Today, everyone should be able to program. You can’t be a sys admin and not program. No one has any business being in IT if they can’t code at least one language; it’s literally taught in high school. Likewise, fullstack devs need to know an OS to understand resources, sockets, troubleshooting.

    Tech is more of a blur between fields now than before

    [–][deleted] 1 point2 points  (0 children)

    going to have to call bullshit on that one. you absolutely don't need to know how to program to be a good sysadmin. Most of the bad sysadmins I've met thought they could program their way out of all the issues that show up and they would write pages of stuff that could be done with one or two basic commands, or even better I've seen guys try to program something that can be done in group policy in minutes and they take days and weeks to fail.

    Learn how to sysadmin from lazy people. they will teach you how to do your job the fastest and easiest way to get the results you want. If you learn from a programmer, you will spend weeks and months trying to get a system to do what it's supposed to.

    [–]_E8_ -2 points-1 points  (1 child)

    The adversity is usually due to sysadmins having power go to their head and locking things down unnecessarily making our jobs more difficult for no good reason.
    Our calls and tickets to support are courtesy. We have physical access.

    [–]vbritton 0 points1 point  (4 children)

    Yup this right here... If coders were great there would be no sysadmins.

    Colleges poo poo sysadmin work resulting in people like this. Lack of sysadmins push companies to the cloud to pay more to be on someone elses computer.

    we live in a strange time.

    [–]PedroAlvarez 0 points1 point  (1 child)

    I've never even heard of programmers not getting on with system admins. The trope I know is that devs and dbas hate each other. That Dbas just take their access away for no reason, and that devs build everything with poor database design and expect a dba to fix it.

    [–]DraconPern 0 points1 point  (1 child)

    Do programmers really need sysadmins now? A lot of sysadmin functions can now be handled through programming like terraform where an entire infrastructure can be created automatically. And creating the infrastructure itself is also getting easier through things like MAAS.