views:

399

answers:

7
+3  Q: 

From admin to dev

Recently a friend of mine had gone from a high level NOC position to a developer. Before that he was just doing the help desk stuff. He has no degree, only the usual MIS/networking certifications and as far as I know only tinkers with code on the weekends. I can see where in some scenarios having a good understanding of configurations, packets, users, OU's, etc would be extremely beneficial to a developer.

My question is this, how many full time developers started off this way? Even how many people dual wield the responsibility of developer/systems administrator/network administration?

+2  A: 

It's quite common in small companies. I did that for some time - developing the software we sold to customers, keeping the network going, and adding features to the database as needed for a manufacturing company of fewer than 20 people.

You wear many hats in a small business.

But I started off programming microcontrollers in high school, so I can't claim this is where I started.

It is very helpful to have a working knowledge of all these systems as a developer.

Adam Davis
+1  A: 

I'm here. Although I've been tinkering with code since I was a child, my first full-time job was being a system administrator, a DBA and other related roles. Afterwards I worked full time job as a developer, and now I'm both a developer and a security researcher. Also, I managed to complete M.Sc in CS. I believe that such transitions are possible, and very beneficial, as you get a wider view on your field of work.

Moshe
+5  A: 

I'm sure that this is a fairly common scenario. I've spent 12 years in I.T. and I find that as time goes on, the real income comes from being a specialist (DBA, coder, etc.) as opposed to a generalist (network admin, helpdesk).

It's actually the path that my career is taking. I'm not quite a full-time DBA or developer but that's where I'm heading.

I'm also willing to bet that the people skills I've picked up along the way (helpdesk support, network admin, systems analyst) will help me in my DBA/Developer career. Skills I don't feel I would have gotten had I jumped right in to a coding career.

GregD
People skills are a must. Not enough programmers make a point to communicate effectively.
notnot
+4  A: 

Indeed. I think developers should know the platform they are building software for. If a dev has worked as sysadmin before, he will know how to integreate his software well. Some Windows-Desktop-App related "integration smells" that come to my mind:

  • App does not run unter normal-user privileges (run on properly secured enterprise desktops? oops!)
  • App requires write permissions to all kind of system folders (security? oops!)
  • App stores user settings in 'nonstandard' locations like %programfiles% (backup? permissions? oops!)
  • App does not provide silent-installable setups (deployment? oops!)

Etc..

A real sysadmin would never write software that has one of the above integration smells. Really.

driAn
1+ - could add the dreaded "this app rolls its own user account database and have no idea what authenticating with external directories is good for" problem ^^
Oskar Duveborn
oh yea.. indeed
driAn
+2  A: 

The overlap of developers and admins happens quite a bit. Our last admin developed on the side just so he'd have a better understanding of what he was helping support. When he left I became the admin just because I tinkered with admin stuff on the side to know how my software was being supported.

A broad understanding with a few focuses is what I'd say is best for any technical professional. Then with a bit of study you can change to meet whatever need may arise.

Ryan
+2  A: 

I've seen it more the other way where a programmer also "admins" the servers and sometimes network. I've definitely been in that position.

I would think it can easily go the other way as well where an admin can start programming systems, but from my experience it's not as common. Whenever I ask a server admin or network person "do you program too?" most of the time the answer is "no".

I think it might be easier for programmers to cross the line because when you are programming a system unless you always have an admin available you need to be able to set up your own environment and that usually includes setting up a server.

metanaito
+2  A: 

I started off as a NOC operator, eventually working my way up to a senior network engineer position. During the last 2-3 years of my tenure at my previous company, I picked up a fondness for programming and started teaching myself everything I could on my own time. Around 2005, I left said company for a small startup and still work there today as as the admin and primary developer.

The one challenge I impose upon myself is to not make admin changes at the drop of a hat to satisfy programming challenges. I must force myself to code in a way that any application I make can be redeployed elsewhere with minimal privileges, despite the fact that I can do pretty much anything I want with our own servers. It's a fine line between performing both duties well and performing one duty badly due to the needs of the other.

Chris