I'm a sysadmin and become pretty good at ASP.NET development and .NET in general.

Is there a chance that my .NET skills may be a disadvantage to me? What would the pointy-haired-boss think?

The problem crossed my mind when our "developers" are not permitted administrative access to back end systems. I'm not sure if this is because of separation of duties, risk of data theft /loss, SOX controls, or anything else.

What do you think?

  • 3
    Were you hired to do syadmin stuff and development stuff? If not, why would your boss even know/care about your .NET ability? Don't go poking around in the developer's production work and I'm sure you won't have any issues. Have a read of Kyle's recent blog post on the subject. – jscott Aug 28 '10 at 20:37

There is no chance, in my own humble opinion, that .NET skills will be bad for you. Quite the contrary. If you have familiarity with the .NET framework then you're much better equipped to utilize Powershell to its fullest extent which will do nothing but help you with sysadmin related automation tasks.

The pointy haired boss should realize that you can utilize .NET to automate the crap out of your Windows environment.

Also, having developer experience helps you to understand how systems are put together. It is a huge benefit to know as much of the whole picture as you can. I'm a sysadmin / developer / dba and knowing the backend side of things is a tremendous benefit for my development projects and vice-versa.

  • 2
    +1 I find that having development experience (regardless of how much) really helps me in my job as a sysadmin. Dev knowledge comes into it's own when attempting to troubleshoot a problem seen in production with in-house written company software. Also helps you get along with your development buddies better :) – rmyates Aug 28 '10 at 21:49
  • 1
    +1 for mentioning PowerShell. PowerShell is basically scripted .NET, and is highly useful for sysadmins. That alone is a good reason to know .NET, and your other reasons are good points as well. – nhinkle Aug 29 '10 at 0:22

Having non-sysadmin experience and skills is a great asset to any sysadmin position - Because it gives you a deeper appreciation of the underlying operation of your systems and how they serve your business. You're also better positioned to converse properly with programmers, and anticipate/cater for their needs. This works both ways, too - Programmers with system administration experience are often much better to work with than programmers who have no understanding of the sysadmin role and practices.

There's a caveat, though. When bringing programming ability into a sysadmin job it becomes quite easy to take the 'I have a hammer and this looks like a nail' approach. You'll find problems where your first thought is 'I could write a quick app to solve this'. But that's a problem, because:

  • What you create is likely to be unmaintainable by your successors, as your programming ability doesn't fit into the 'standard' set of abilities that a sysadmin would possess or is likely to want to pick up in any depth. This poses a problem for the business (even if they don't realize it) because they'll either struggle when finding a successor (would have to find another sysadmin with .net programming experience, which is quite a specific requirement) or they'll fill the position with a sysadmin with no .net experience, and your apps will fester or become a liability.
  • You'll become distracted by the coding, and your focus slips away from system administration. They're very different workloads, requiring different approaches, and it's impossible to perform at your fullest in either capacity if you're trying to wear both hats.
  • Coding gives you the ability to solve a million problems in a million ways, but the majority of sysadmin issues you come across will have a 'best practice' solution already available, or require some other solution that's not based around writing your own code. To give an example - I've come across logon scripts compiled into an .exe, because the sysadmin that implemented it knew C++ better than they knew VBS.

Anyways, my core point is that a sysadmin with programming experience is an asset as long as they don't try to solve all their sysadmin problems with code.


Knowing an additional skill should never be considered a bad thing. Indeed, having an understanding of a broad set of skills will make you a better employee.


The skill is never bad to a person.

If you know .NET and your employer has an allergy to it, you can always hide your knowledge.
But if yoг don't know it and it is required, you are certainly out of any luck.


Your devs are not allowed admin access to the server for one simple reason: They'll screw it up.

Your job is to make sure its running right, logged, locked down, secure, organised. A Developer's job in such a place is to make it work. Making it work right isn't usually high on their list in those circumstances when they do get access.

My advice is not to pretend to be a developer (especially when you use the term in quotes like that), they will be better at their job then you are at their job - you'll be ignoring the disciplines they have that you don't - a developer won't write down every step and every file installed, but they will be much more rigorous in the internal structure of the code. So choose which role you want and focus on that, pushing the other role down to a 'I know enough to understand the challenges' type attitude.

(and yes, I generalise, but you get the gist - different attitudes are required for the 2 different roles)


Alexander Pope (An Essay on Criticism, 1709) summed things up nicely:

A little learning is a dangerous thing; drink deep, or taste not the Pierian spring: there shallow draughts intoxicate the brain, and drinking largely sobers us again.

As long as you acknowledge your limitations it should be an asset in your current job. Knowing something of the development process will help you understand why the developer thinks he needs access to the production server and you should be able to communicate why it's a bad idea.

Coming from the other side (a developer who knows a little about systems administration) it helps to know how and why systems are configured the way they are - that way you understand why the sys admin doesn't want you on the production server.

Not the answer you're looking for? Browse other questions tagged or ask your own question.