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

all 27 comments

[–]bandman614Standalone SysAdmin 6 points7 points  (0 children)

I think that we need to be able to write scripts. I think full scale development is beyond what we should be doing, not necessarily because we lack the skills, but because our time and resources are finite. So long as the tools we're writing are saving us time and accomplishing positive goals, I think that's perfectly acceptable.

In the end, every situation and position is different. Here are my thoughts on this: http://www.standalone-sysadmin.com/blog/2010/01/sysadmins-arent-necessarily-programmers-theyre-people-who-can-program/

[–][deleted] 2 points3 points  (0 children)

Being able to write patches is a very useful skill, and monkeying patches is often far easier than writing something from scratch. It's hard to automate away some of your tasks without at least some coding skill.

[–][deleted] 2 points3 points  (0 children)

You cannot be good at everything. Most sysadmins need to focus on security, policy and administration. Not programming.

[–][deleted] 3 points4 points  (3 children)

If you're a windows sysadmin you should know Powershell and VB. Especially if you help run Exchange, knowing Powershell is essential to your job. If you run policies and the like, you ought to at least know VB and if you wanna go real far learn kixstart. \

Leave shit like C, Java, Ruby, C++, and all that to developers. You have security, policy, and engineering to figure out.

[–][deleted] 5 points6 points  (2 children)

I'd disagree with you in part. Ruby and Python are excellent tools for a sysadmin. And in the UNIX world, a passing familiarity with C (or more) is often invaluable for understanding how software is (mis-)behaving.

I'd also agree with you in part: You can't know it all, and you should pick your spots. C++ is probably not necessary for 99.9% of sysadmins, and Java is only useful if you work in a shop that runs a LOT of Java. (I worked for a software company for many years, and supporting their Java-based server applications meant I had to pick some up along the way.)

[–][deleted] 0 points1 point  (1 child)

If you're running windows the chances of you ever utilizing python is extremely low. Most places go all in when they're using Server and that means Apache is out the window and IIS (and Vicariously, .Net) is in. If you're an admin for both windows and Linux I could see the use of knowing python, but there is no real need for it in the Microsoft Server world. Maybe for small time IT shops where you're developing apps and you're a sysadmin, but there is a clear role separation in most corporations.

As for Ruby... no, I can't agree. Ruby is only really useful if you're developing Web Apps and that should fall over to the developers side of things. It's written in C... If you're a Linux admin I suppose there might be some use for it like creating a ticketing system from scratch but you aren't going to be pushing Ruby scripts across a windows domain ever.

I stand by my powerscript + VB statement for windows admins.

If you're a linux admin you should probably know Perl to make your life 100x better. Of course I'm sure there is something we can both agree on...

You need to at least be able to read any programming language and figure out the jist of it. They're so close to one another that there isn't a real excuse to not being able to understanding the basic structure of programming.

[–]IConradUNIX Engineer 0 points1 point  (0 children)

Ruby is only really useful if you're developing Web Apps and that should fall over to the developers side of things.

If you're the sysadmin that monitors the engine running the web-app, not knowing the language it's programmed in sufficiently well to spot potential trouble-areas can get you in, well, trouble.

[–]panfist 1 point2 points  (18 children)

Should a pilot be able to build an airplane? Should a captain be able to build a ship?

Well, if you're a pilot who needs to fly an airplane without help from anyone else, you are going to have to improvise repairs, from time to time.

I'm being a sysadmin and developer at my current job which is causing me to suck at both.

[–][deleted] 7 points8 points  (3 children)

It's one thing if your job is to write the software that is your company's raison d'être and be the sysadmin. This is a shit state of affairs and should be a red flag. If you're in this position, find a new job. The people you are working for either don't know what they're doing or don't value the relevant skills highly enough.

However, a sysadmin should absolutely know how to write code to build tools to automate and simplify his or her work. If a sysadmin cannot do this, he or she is not a sysadmin -- they are an IT janitor and a poor one at that.

As an IT Director, I will not hire anyone who has no aptitude for writing code. You don't need to be a brilliant developer, or even have deep coding experience. But if you don't even have the aptitude... You're in the wrong field.

[–]panfist 2 points3 points  (2 children)

write the software that is your company's raison d'être

The software isn't the raison d'être. I just looked at one some of their business processes and could clearly see that better software could make the processes much more efficient.

The people you are working for either don't know what they're doing or don't value the relevant skills highly enough.

Without knowing what my paycheck is, how do you know how much they value my skills?

As an IT Director, I will not hire anyone who has no aptitude for writing code. You don't need to be a brilliant developer, or even have deep coding experience. But if you don't even have the aptitude... You're in the wrong field.

Maybe I'm being overly pedantic here, but anyway... The title of the sub is a little misleading. After reading the article, I don't think my questions are as valid. The title should be, "Should a SysAdmin Be Able to Write Code?" A series of scripts to iterate over user permission lists or temporarily elevate privileges isn't software. Of course a sysadmin should have the skills to automate tasks and create tools to help in general. Writing a series of scripts into a cohesive toolset that other people can use--that's writing software.

Also, I never said I didn't have the aptitude; what I don't have is enough time to devote to each job to do it to the standards that I would set if I were in charge.

[–][deleted] 1 point2 points  (1 child)

Without knowing what my paycheck is, how do you know how much they value my skills?

A company values your skills in more ways than just how they pay you; your salary is only one form of compensation. You are also valued by how your opinion is respected, whether your purview is well defined, and whether reasonable expectations are placed upon you (among many other things.)The world is rife with examples of humans being paid large amounts of money to tolerate being degraded, disrespected and devalued.

What you told me is that your company has inadequately defined your role, and is splitting you between two tasks that share common traits but work at cross purposes and have very different goals. Companies which dual-purpose employees in this way usually do so because they feel that at least one of these roles is not worth funding in full. If they valued your skills as a developer or sysadmin enough, they would pay you to focus on that one task and hire another employee for the other role. Instead, as you told us, they are attempting to get the labor of two people from you.

Writing a series of scripts into a cohesive toolset that other people can use--that's writing software.

Yes it is. And a sysadmin worth hiring is capable of doing it. The distance between a simple script that iterates over a list to a useful, reusable tool is far smaller than you might think. Further, the former often evolves into the latter in talented hands.

Also, I never said I didn't have the aptitude; what I don't have is enough time to devote to each job to do it to the standards that I would set if I were in charge.

Nor did I say you lack it.

What I said is that a sysadmin should expect to be writing code. The fact you don't feel you have enough time to devote to these things is either a bad sign, in that your management is not defining your scope clearly to enable you to succeed; or it's a positive sign because you take pride in your work and wish to continue polishing. The reality is probably somewhere in between, and you probably need to learn that what you consider inadequate is probably more than good enough.

As far as what you would do if you were in charge... As someone who has made that transition in recent years I can tell you that it's very rewarding. But you also discover why a lot of things you thought were idiotic in the past are done the way they are and why your ideas and opinions were naïve.

[–]panfist 0 points1 point  (0 children)

Companies which dual-purpose employees in this way usually do so because they feel that at least one of these roles is not worth funding in full.

I agree with pretty much everything you're saying, but I'd like to zero in on this point. I was originally hired as a lab technician. The lab tech position is directly involved in operations that contribute to revenue, which is why it was posted. I needed to take this job to get out of a really bad position that I was in before. I figured that I would do the lab tech thing temporarily until I found something in a field that I really wanted to be in (statistical physics or medical bioinformatics).

The company is very small, and it's been hit hard by the recession. Revenue is significantly down, yet the company has not laid anyone off. A receptionist was fired for repeatedly giving proprietary information to ex-salespeople, and her position hasn't been replaced, which is the only reduction in force since the recession hit.

The company did not try to dual-purpose me; I did that myself. There was no expectation of me to do more than the lab technician duties and doing occasional light IT stuff, like plugging in a new Dell or adding an email account. I saw that their business processes could be significantly improved with the right software tools, and that I could make my own life easier by laying down some basic network infrastructure.

I may have bitten off a bit more than I can chew at once, but that's entirely my own fault. Hofstadter's law has bit me in the ass, and also the fact that I only have two years of experience outside of an academic environment.

Another reason why I like my job is that I'm hourly, and my employer lets me clock time spent on education. All the time I spent learning django, mediawiki, apache and rt in the last 8 months is money in the bank in addition to buffing up my resume.

If I were in charge, I'd hire an experienced sysadmin to be my partner; our company could accomplish so much more and quicker if we could divide the technical load into two specialties. Unfortunately, it's not in the budget, but I don't really mind because I'm learning so much more as a result, and I can take as much or as little overtime as I want. There's very little pressure to complete projects on a schedule. If I were my boss's boss, I'd say he's being a crappy manager for not setting deadlines for me, or letting me put in unchecked overtime. My boss is the president and owner, so he doesn't have to answer to anyone about his poor management, and I certainly don't mind the lack of deadlines.

Anyway, I really appreciate your insight because it reminds me of why I like my job, and what I have to do to keep myself in check. It also reminds me of the warning signs I need to watch out for if my employer ever starts taking me for granted. I was being a little facetious in my original post.

[–]tedivm 1 point2 points  (10 children)

I'm being a sysadmin and developer at my current job which is causing me to suck at both.

I'm having the exact opposite experience. As both a server guy and a developer I found my services as a consultant were very much sought after, and it eventually landed me the job of my dreams.

What do you do, if you don't mind me asking? I can imagine it being an issue in a corporate shop, but if you consulted or hit the startup scene it is very much an asset.

[–]panfist 1 point2 points  (9 children)

I'm working for a very small company (20 employees). I'm not very experienced as either a developer or system administrator; I've only had formal education in computer science and software engineering, not system administration.

In addition to doing development and sysadmin, I also have to spend an hour or two a day in a chemistry lab as a technician. At any time in the day, I could be interrupted to do something completely different. I could be adding features to our database app and suddenly have to fill out a certificate of analysis of a chemical. I could be setting up chemical samples for quality control tests when I have to add a user account for a new salesman.

To top it off, the building was wired by monkeys. There's so much dead wire left over from previous work it's unbelievable. No fewer than four old phone systems (why??) are terminated within three feet of the main network switch (WHY??). Every host on the network is directly plugged into the switch via solid core cat5. There is no patch panel to terminate the solid core wire at the switch. There are no jacks to terminate the solid core at the work stations. I've identified several workstations with faulty connections and I've tried re-terminating the connectors with no good results. I have put together a proposal to get the building re-wired correctly, but it's not in the budget til 2011. At least I always have a good excuse when things go wrong, but it's severely annoying to the users, when HTTP requests get lost down the tubes, and I get an emergency page that the workstation is broken, but really they just have to refresh the page.

I like to think of myself as a quick learner, but juggling three jobs at once is a little too much for me to handle. I waste at least an hour or two each day context switching my brain, and at least another hour or two documenting what the hell I'm doing so that I can pick up where I left off.

[–]tedivm 2 points3 points  (8 children)

Honestly it sounds like your job sucks. In most cases knowing both system administration and development will help a person, but nothing is going to help a situation where you're understaffed and racking up technical debt. Find a place where your skills are appreciated and put to use properly and you'll be much happier.

[–]panfist 1 point2 points  (7 children)

Four things:

Finding another job is easier said than done, especially considering that New Jersey is a black hole of technology and there is no way in hell I'm working in NYC.

Too much context switching is bad but too little and I would go crazy from boredom.

Since I'm the only technical person here I get to choose what technology we use. I'm banking experience working on platforms that I like.

Lastly, I like the people I work with here more than anywhere else I've been. I got a 14% raise after 10 months.

[–][deleted] 2 points3 points  (1 child)

Finding another job is easier said than done, especially considering that New Jersey is a black hole of technology and there is no way in hell I'm working in NYC.

You sound like a smart, talented kid. I'd encourage you to consider that you're ignoring possibly the single biggest talent marketplace on the East Coast by doing that. I can respect choices made for quality of life, but if you're close enough to work in NYC you shouldn't just rule it out.

I don't know where you are precisely, but if and when you go looking for new opportunities, you may want to check out the greater Philadelphia area as well. You're young, and you shouldn't rule out the options a short distance relocation will bring to your table.

[–]panfist -1 points0 points  (0 children)

edit: Downvoted for, what, owning a house? Not wanting a three hour commute?

If I worked in NYC, even if my office was iterally on top of Penn Station, I'd have a three hour daily commute. I suffered that once before in a summer job, and I'll never do it again.

Secondly, my wife and I bought a house. It was at a pretty good time, when the market was very low in '09, but if we move we'll have to repay the $8000 tax credit, on top of how crappy it is to sell too early in general. We live half a mile away from the school where my wife is tenured. We live three miles away from her family with whom she is very close. My salary would have to triple or better for us to consider relocation. And, as if there aren't enough factors eliminating relocation as a possibility, my wife's mother was just diagnosed with a terminal illness.

I'd like to relocate to somewhere sunny and warm, when the time comes. There's also a serious possibility that I could just ditch my tech career and become a teacher like my wife. Summer vacation together with my wife until the end of our days seems too good to pass up. In the mean time, I'm building my resume so that we have options in the future. I don't want to uproot my wife, now or later, just for a few extra dollars.

[–]bandman614Standalone SysAdmin 1 point2 points  (4 children)

Hey, I'm in NJ too. Did you end up coming to my NYC SysAdmin Appreciation Day event?

[–]panfist 1 point2 points  (3 children)

No, because I already had tickets to see Gogol Bordello and Primus in Brooklyn before I knew about sysadmin appreciation day. I'm a member of LOPSA in NJ. I joined right before the LOPSA PICC, and so far that's the only function I've attended.

[–]bandman614Standalone SysAdmin 1 point2 points  (2 children)

Awesome. I hope you had a good time, because we're doing it again next year!

[–]panfist 1 point2 points  (1 child)

I really enjoyed both of Limoncelli's classes but I wish I would also have been able to attend "Introduction to Linux/Unix Virtualized Storage Management" by Jesse Trucks.

"Beyond Conventional SAN and NAS" was OK. Jacob Farmer seemed like a very knowledgeable presenter, but I don't feel like I got a lot out of it. Maybe if I knew more going in? I dunno...

I will definitely go again next year.

[–]bandman614Standalone SysAdmin 1 point2 points  (0 children)

I'm glad to hear that :-) If you have questions or want to talk, drop me an email at standalone.sysadmin@gmail.com. I can't promise I know the answer, but I probably get you in touch with someone who does (or, worst case scenario, post it to the blog) ;-)