Slashdot Mirror


The Rise and Rise of IT Administrators

maffstephens writes "Have you noticed how difficult it's become to develop software? Not because software is more complex, but because there seems to be an army of administrators standing in your way - sys admins, network admins, database admins, runtime admins - the list is endless. They should be there to help us, to make our lives easier, but the reality is often very different. This thought-provoking article from Software Reality is all about the emerging culture of spiteful, dog-in-the-manger prevention amongst corporate IT administrators. Software development has become so inefficient as a result, it's no wonder so many companies are outsourcing."

131 of 686 comments (clear)

  1. We Need Less Planning and More Coding by sleeeper · · Score: 4, Interesting
    The most important point the article makes is that the people running the systems are no longer current/former developers.

    Because these "adminstrators" know little to nothing about development, I spend hours in meetings working on stifling buzz-word compliant "Enterprise Architecture" plans. If we all just sat down and coded first, our productivity would soar.

    In the time it takes to argue about how we might want to do something, I could literally have implemented betas of each ideas considered.

    1. Re:We Need Less Planning and More Coding by Anonymous Coward · · Score: 5, Funny
      We Need Less Planning and More Coding

      Sounds like how they wrote Windows ME.

    2. Re:We Need Less Planning and More Coding by antarctican · · Score: 4, Insightful

      If we all just sat down and coded first, our productivity would soar.

      Umm, first you say the problem with these administrators is their not developers, then you say we should just sit down and code?

      Any good developer who paid attention in their software engineering course would know the further down the development cycle you get when you discover a problem with your specifications the more expensive it becomes to repair the problem.

      Make prototypes I can see, show the basic functionality and flow of the software. But before developing any large software project one must design the specifications and requirements.

      Any developer who doesn't understand this would fall into the same boat as these "non-developer administrators" in my opinion. Go pick up a software engineering book and re-read it. And make sure it's not eXtreme Programming, that book is how Windows-like disasters are made.

    3. Re:We Need Less Planning and More Coding by rah1420 · · Score: 3, Insightful

      The further along through the development cycle you are, the harder (and more expensive) the change is. Sitting down and coding is a foolish way to think that productivity gains will happen. It'll simply cause ill-thought out and badly interoperating enterprise systems.

      And despite your sniff at "enterprise architecture" let's keep one thing in mind; both the coding and the planning are there not as an end in itself, but as a means for the enterprise to make more money so that you can continue to code. If you're not doing anything useful for the enterprise, then it has a way of meting out retribution (in the form of closed companies and layoffs.)

      --
      Mit der Dummheit kämpfen Götter selbst vergebens.
    4. Re:We Need Less Planning and More Coding by Daniel+Dvorkin · · Score: 4, Interesting

      OTOH, there's the problem that most developers got into that line of work because they want to, you know, develop. And most administrators ... etc.

      The solution, IMO, is for the developers to do exactly as much administration is needed (not nearly as much as most PHB's seem to believe) as a perhaps unpleasant but necessary ancillary duty of their job. Like cleaning out the coffeemaker at least once a week. ;) And for the wannabe administrators who don't know jack shit about anything useful to go find a job that makes use of their natural level of talent ... like, say, slinging burgers at McDonald's.

      Unfortunately, in the real world, we're never going to get rid of the PHB's and their sycophants. (As satisfying as the idea of them having to trade in their suits for fast-food uniforms may be.) So developers will keep doing what the author of the article describes: working around the bullshit to actually get things done.

      About the best piece of advice I can give anyone who's caught in a nightmare scenario where there's just too much bullshit to make the above practical is: look for a job at a smaller company. I've been working for a small business, with less PHB bullshit than probably 99% of the corporate development world as a whole, for about five years now, and I love it. You don't get the security you do with $Fortune_500_company_here, granted, and that does bother me sometimes. But the joy of actually being able to go into work and do my job more than makes up for it.

      --
      The correlation between ignorance of statistics and using "correlation is not causation" as an argument is close to 1.
    5. Re:We Need Less Planning and More Coding by sleeeper · · Score: 3, Interesting
      I agree that marching off to program with no planning would be silly. But I am a big believer in pathfinding programming, where you spend no more than a day building just enough of an application to illustrate the underlying design and/or interface.

      Then, come back and demontrate your idea to the larger group, with the expectation that more than likley you will throw the whole thing away.

      After a basic model has been developed that makes sense, only then sit down in meeting to flesh out the spec.

    6. Re:We Need Less Planning and More Coding by antarctican · · Score: 5, Interesting

      I agree that marching off to program with no planning would be silly. But I am a big believer in pathfinding programming, where you spend no more than a day building just enough of an application to illustrate the underlying design and/or interface.

      Then, come back and demontrate your idea to the larger group, with the expectation that more than likley you will throw the whole thing away.

      After a basic model has been developed that makes sense, only then sit down in meeting to flesh out the spec.


      And that's what I meant by prototypes, yes they're very useful, I just wrote one yesterday. I wrote a small proof of concept about some enhancements to Psort and on Monday I'll sit down and do it right - determining how to write the code without jamming it in with a shoe horn.

      And prototypes should be thrown away, most likely they're done with very poor quality. I recall one of my old profs when teaching us this made us write out prototype in a different language from what he wanted the final product in to "force us to not reuse it." Perhaps that's a bit extreme, but it illustrated the point. :)

    7. Re:We Need Less Planning and More Coding by Fractal+Dice · · Score: 3, Insightful

      Speaking as one of the wannabe's who's already managed as if he was already flipping burgers, I would like to drop-kick all the wannabe coders who have passed through in the past few years.

      What most coders don't understand is that I have to support several thousand workstations and servers. Every few weeks, some application appears on the network that I've never seen and never heard of. I have no idea what it does or what resources it needs. It has no documentation nor any interface the likes of which I've ever seen. All I know is that I have an irate user on the phone who needs it to work now, ten other users in queue calling about ten other apps or scripts and all they know is that the developer said to call the helpline if there were any problems before leaving to the next shiny project.

      If anything is going to be used on the network, I want it to be rock-solid, have a consistant interface (and ascii data dumps for crying out loud - I'm so tired of trying to perl together obscurely formatted excel spreadsheets "dumped" from databases to be used by HPUX users), be well documented (including how to diagnose its failures not just a list of what cool stuff it theoretically does). I want there to be a plan for how it is going to be deployed, how it is going to be supported and how to uninstall it when it's discovered to be full of unrepairable security holes.

      Personally, I feel like too many coders and developers and planners who complain about admins are just the next generation of people who didn't want to add comments to their code.

      (OK, I feel better now)

    8. Re:We Need Less Planning and More Coding by love2hateMS · · Score: 2, Interesting

      What a ridiculous statement. Every administrator in my company is a current or former programmer. We also KNOW how systems interact. Developers are usually fresh-out-of-school know-it-alls who do NOT know the big picture, and have never worked a day in a real business with millions of dollars on the line.

      I have had developers insist that the the database user for their application needs super-user privileges. I have had developers make code changes on a production box without testing, and then destroy a day's worth of data. I have had developers mix up their version control and give us old releases to deploy, which is a really BAD thing in a Ecommerce application. I've said it before and I'll say it again, programming is not difficult. Any moron can do programming. It is not calculus. It is not brain surgery. Most programming in the business world is very simple and repetitive.

      Good administrators have been there before. The fact that they may have programmed in C or C++ and not in Java does not mean they don't know what they are talking about. Programmers are the fast food workers of the tech industry (sorry, but it's true). Good programmers are very rare, and I love when I get to work with them, but I don't trust most of them as far as I can throw them. They only know the latest trendy programming language, they don't know the legacy systems they are dealing with, they don't even understand the database schema they are programming against.

    9. Re:We Need Less Planning and More Coding by Qzukk · · Score: 4, Insightful

      Any good developer who paid attention in their software engineering course would know the further down the development cycle you get when you discover a problem with your specifications the more expensive it becomes to repair the problem.

      And every developer with experience knows that if you took your client, beat their head against the wall for weeks, then finally cracked it open with a mallet, you're not going to get a specification to pop out. Even with the prototypes for demonstration purposes, if your boss/contract/whoever (how often are YOU in a position to do this) clamp down on the specifications at some point in the development cycle, your development cycle will never leave the "chasing new specifications" stage.

      Of course, its even worse when you're doing an in-house project and your boss is the one who decides that it needs to reach a "stable" point... but, "Oh, by the way, we haven't used it for two months because the address on the bills it prints is a quarter inch off from the window on the envelope. We really need to work on this billing part of the system." Thanks a lot, boss!

      --
      If I have been able to see further than others, it is because I bought a pair of binoculars.
    10. Re:We Need Less Planning and More Coding by dslbrian · · Score: 2, Insightful

      So developers will keep doing what the author of the article describes: working around the bullshit to actually get things done.

      This is exactly on target. Other replies here are bashing your comment, but this is definitely true. Frankly if we didn't circumvent the red-tape bullshit at my company, we would cease being productive.

      The bottom line is that to be efficient and productive you need to operate under the radar of the IT overlords who have this obsessive vision of making all of the computers in the company 100% identical. The truth is that the needs of my group are NOT the same as the needs of every other group in the company. If I need a certain tool, and IT doesn't support it, I will do whatever it takes to get it, install it, and use it.

      Don't believe me? well our group is in the rather fortunate position of being in a different city than the rest of the company. Since we are only a handful of people, and since we (thankfully) report to essentially the top of the food chain (directly to executive staff), we get to operate in semi-autonomous mode. Officially we are under the IT overlords thumb. However the reality is that we do our own system admin, despite the fact that it goes totally against the corporate rule. If we need another tool, we just go get it. If we need another machine, we acquire it - one way or the other. We don't expect support from the "mothership" because we know there is essentially no one there who has a clue.

      Bottom line, productivity skyrocketed. We are beating time-to-market against every other group in the company. We are going to beat the time-to-revenue record of any previous product (ie. making the most money from the product in the shortest amount of time since the project started).

      If the IT overlords would understand that their purpose is to give whatever is needed as soon as its needed, to facilitate and accelerate project development, instead of giving red tape and bullshit because they don't want to do any real work, the rest of the company would be better off also.

    11. Re:We Need Less Planning and More Coding by susano_otter · · Score: 4, Insightful
      Now that being said my biggest issue is not with the regular network admin guy but with all those new fangled deployment admins and security admins. Even in this sour economy some companies still seem to have too much cash on their hands.

      Funny you should mention that. Every single insecure, unstable, unscalable, unmaintainable project in my datacenter got here precisely because there was no "deployment admin" (or equivalent role) involved in the planning process.

      I wouldn't dream of telling you how your code works internally, but if I find out that you have everything running as root in your lab because it's easier that way... well, I'm sorry, but there's no way in hell you're getting that design into my production datacenter. I spend enough time trying to fix poor architectures after the fact as it is, without having a whole new craptastic one-off shoved down my throat by some PHB who blessed the damn thing three months ago and is too busy being smug about his fait accompli to hear me explain how thoroughly fucked up his decision was.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

  2. In all areas by ScottCanto · · Score: 4, Interesting

    The high school I attend is completely saturated with technology, but only half of it works half the time. We suffer from horrible ineffiency due for the most part to our ITs/admins who got put in a job they have no idea how to do. They can't contend with all they have before them and thus adopt a horrible attitude. Nobody wants to talk to them or be around them, and nothing gets done.

    1. Re:In all areas by g0hare · · Score: 3, Insightful

      Wonder how much it pays to be an admin in your school? Probably not much.

      --
      Vote Quimby!
    2. Re:In all areas by DrEldarion · · Score: 3, Funny

      The computer tech at my high school was so incredibly incompetent. We eventually found out why - he had a degree in ART.

    3. Re:In all areas by BinaryJono · · Score: 5, Interesting

      ditto on that.

      i just got word that my ex-school district is purchasing PDAs for every student enrolled in middle school and high school. when i was in 6th grade, i could barely keep track of my lunch money, nonetheless a PDA. id hate to see the rate of these things get broken/stolen/lost.

      in addition, the IT admins for our 2000+ high school didnt know what puTTY was and kept removing it from my personal storage folder out of fear of what it was. not to mention they stored their win2k domain password as one of the usernames (in the format "adminPASSWORD") in case they happened to forget it somehow.

      on the bright side, if im ever desparate for a job, i know one place i can go for sure. :)

    4. Re:In all areas by Verteiron · · Score: 3, Informative

      If it's like most of Dell's school stuff, doing just about anything to it BESIDES reimaging voids the warranty. And the school can't afford that. While it's certainly possible that the school IT people don't know their ass from an open port, it may be that their hands are tied by the school as far as what they can do to repair a machine.

      --
      End of lesson. You may press the button.
    5. Re:In all areas by proj_2501 · · Score: 3, Insightful

      that means nothing. many computer professionals studied other subjects in school. in fact, one soul i know who helped design games such as baldur's gate and icewind dale and fallout 2 went to school and studied INTERNATIONAL RELATIONS.

    6. Re:In all areas by Lifewish · · Score: 3, Insightful

      Our school's sysadmins were crap. No really. The secretarial server - with all the confidential student and teacher data - had the unicode bug and they refused to fix it, can't remember why. Eventually, a friend and I got bored of seeing all our personal details on show (unencrypted SIMS) and went round and fixed it in 2 minutes.

      Our head of department once gave me a lecture over playing Flash games online cos they "could be virus-infected". If there's a way that this is possible, someone please tell me.

      There was no defence against a simple promiscuous sniff, let alone ARP cache poisoning. This was a relief as, when the Head of IT "reconfigured" the email server to run on the wrong port, then left for a day's conference, one of my friends was able to reroute the school's mail via his laptop and send it on to the new port.

      School IT staff are only in it cos they can't get jobs elsewhere...

      --
      For the love of God, please learn to spell "ridiculous"!!!
    7. Re:In all areas by saintlupus · · Score: 2, Interesting

      I doubt it. Schools are known for overpaying their administrators while underpaying the teachers and giving their students a shoddy education.

      You're probably a troll. If not, you don't work for a school, I can tell you that.

      After I got laid off when Verizon moved their DSL support call center to Canada, I interviewed for a job with a public school district here in Buffalo. Being one of the chief technicians and administrators for a full district of eight or nine schools paid right around $30k per year with shitty benefits.

      Administrators, like school superintendents and such, make decent money. Support staff are the only people in education who get fucked over worse than faculty.

      --saint

    8. Re:In all areas by AKnightCowboy · · Score: 3, Insightful
      in addition, the IT admins for our 2000+ high school didnt know what puTTY was and kept removing it from my personal storage folder out of fear of what it was. not to mention they stored their win2k domain password as one of the usernames (in the format "adminPASSWORD") in case they happened to forget it somehow.

      See the problem with these people though is that they are idiots. You get that in any field. They were probably ex-teachers who took 2 or 3 courses on learning Microsoft Office and suddenly got thrust into the job of being the network administrator. At least, that's how it was 15 years ago when I was in school. The Basic programming teacher was also the LAN admin. He wrote his passwords under the keyboard so we could conveniently install software without his knowledge.

    9. Re:In all areas by crawling_chaos · · Score: 2, Insightful
      Our head of department once gave me a lecture over playing Flash games online cos they "could be virus-infected". If there's a way that this is possible, someone please tell me.

      You mean like this? The vulnerability has been patched, but that doesn't mean the architecture isn't vulnerable to viruses anymore. Not to say that the administrator in question is the most brilliant guy in the world, but at least he stayed tuned in to his virus warnings.

      --
      You can only drink 30 or 40 glasses of beer a day, no matter how rich you are.
      -- Colonel Adolphus Busch
    10. Re:In all areas by Dwonis · · Score: 2, Insightful
      Our head of department once gave me a lecture over playing Flash games online cos they "could be virus-infected". If there's a way that this is possible, someone please tell me.

      As someone else pointed out, tou could have a vulnerability in the Flash player.

      However, my attitude toward running a Windows environment is that it (Windows) really can't be relied upon to be secure, stable, or virus free, so you pretty much have to use disk-imaging software like Norton Ghost regularly anyway. In other words, my answer to "what if it has a virus?" is:

      "So what?" Any Windows-based network architecture which is fatally vulnerable to virus infection is inherently flawed and should be replaced as soon as possible.

  3. Nothing against prgrammers by NetNinja · · Score: 3, Interesting

    I have nothing against programmers. We have two of them and they are a delight to work with, except when they start breaching security protocols because it makes thier life eaiser to transport data or they are given Carte Blanch over servers to do with they want. Trying to clean up after thier mess is a nightmare in most cases.

    1. Re:Nothing against prgrammers by TheRealFixer · · Score: 2, Insightful

      I have to agree with the above completely. Too many developers know absolutely nothing about how the systems they want access to actually work. Schools are pumping out developers who are just plain coders, who don't know, and don't care, how the domain is setup, or how our print server is administered, or how a cluster works. And many of them have no care about security protocols. In a health organization, security protocols have now become a Big Deal.

      Cleaning up after code monkeys who wreck a production server is not fun.

  4. Outsourcing by eadz · · Score: 3, Insightful

    Companies are outsourcing development becasue it can be cheaper, faster and better. Not becasue sys admins are in the way of developers.

    1. Re:Outsourcing by paranoic · · Score: 4, Funny
      Sorry, you don't get all three: cheaper, faster and better.

      You only get to pick 2.

    2. Re:Outsourcing by xdroop · · Score: 2, Funny
      Sorry, you don't get all three: cheaper, faster and better.

      You only get to pick 2.

      Actually, you pick two -- but you tell us which one you really want. We try for the second one.

      --
      you should read everything on the internet as if it had "but I'm probably talking out of my ass" appended to it.
  5. Developers by Joe+U · · Score: 5, Insightful

    Developers, Developers, Developers, Developers...
    (That's all I hear these days, thank you Steve Ballmer)

    As a sysadmin, the Devs need to learn how to play nice and keep the system stable. As a developer, I want total access to everything.

    Solution? Developer network off the main network. If they blow it up, it's their fault and they fix it. Sounds good in theory. I think programs like Ghost will play a big role in this type of setup.

    1. Re:Developers by ayden · · Score: 5, Funny

      Solution? Developer network off the main network. If they blow it up, it's their fault and they fix it. Sounds good in theory. I think programs like Ghost will play a big role in this type of setup.

      Yeah, we do that, but we in IT still end up supporting the people who can't be bothered to figure out who actually runs the development network. The development network is behind a firewall and we don't allow pings through (MS-Blaster and Lovesan containment). They run everything on their side of the firewall, DNS, domain controllers, AntiVirus (more frequently disabled or not installed), security patches (NEVER!) etc.

      Just before Thanksgiving, I got a call from one developer saying he couldn't reach the FTP server. My call back went something like this:

      IT: Can you describe the problem?

      DEV: I can't reach the corporate external FTP server. I can't ping it, either.

      IT: Pings are disabled between subnets and VLANS for antivirus reasons. How exactly are you trying to get to the FTP server?

      DEV: I go into Internet Explorer and type FTP in the location bar.

      IT: Can you get to the FTP server from the command line?

      DEV: You mean with ping?

      IT: No, by using FTP. Ping is blocked by the firewall and on the routers.

      DEV: Uhh.....

      IT: Open a command prompt. Type nslookup ...

      DEV: You mean ping?

      IT: No, type nslookup ftp.

      DEV: It came back with Non-existent domain.

      IT: Right. What does it say is your DNS server?

      DEV: Develop. It's our Primary Domain Controller.

      IT: Let's try using the IP address type ftp xxx.xxx.xxx.xxx.

      DEV: Hey, I got a login prompt. Let me try this in Internet Explorer. OK it works.

      IT: Do you know who administers the PDC/DNS server you're connected to?

      DEV: I think IT does.

      IT: No, we don't. It's part of the development network. You have a name resolution problem. Try contacting the system's administrator and have them correct the name resolution problem.

      DEV: But shouldn't I be able to ping the FTP server?

      IT: (Stunned silence) ... No, pings are blocked between subnets, VLANS and from behind firewalls to block MS-Blaster and Lovesan. Even when if you could resolve the FTP server name, ping will not work...

      --
      "I'm The Bounty Bear. I will find him anywhere. I'm searching."
    2. Re:Developers by SoSueMe · · Score: 3, Insightful
      Since I've never been a sysadmin, I can safely say all SAs morons who have a God complex. They get a couple of passwords and they think they rule the earth.

      Since you've never been a sysadmin, you really don't know what you're talking about, do you?

      Sysadmins not only attempt to keep systems up and running, they also have to ensure compliance with the company's security policy, acceptable usage policy, touble-shoot user calls when an individual can't access a website (not the corp. site), configure a multitude of disparate hardware to play nice with shoddily developed software, cater to management whims, concoct solutions when things go TU, etc...

      I've done it.

      Now I am a Test Lead in a Gov't software development environment and trying to help the Dev team understand that their apps aren't going to make it out the door without some semblance of compliance is the biggest battle I have on all projects.

      Just a little bit of understanding of the constraints we all have to work within would make things incredibly more efficient.
    3. Re:Developers by Pedersen · · Score: 2, Funny
      They can't get through their heads that developers generally know more about the systems they develop on than them.


      He said to the SA who has had to explain how the new operator works in C++ to a C++ developer, and has had to explain how to set an environment variable in Windows NT to another C++ developer. Would you like me to continue?

      --

      GPL made simple: What was my stuff is now our stuff. If you improve our stuff, please keep it our stuff.
  6. power corrupts by fulana_lover · · Score: 4, Insightful

    absolutely. i work in a f500 corporation and as the dev manager i spend half my time convincing the program manager to convince the IT guys to let our stuff trickle out. i can totally see the IT managers point, that his job is to keep everything up all the time and if everything is changing underneath him, he can't do that! i am at least happy we have our own sandbox (which we manage, the IT folks will only swap out hardware, apply security patches, or format, nothing else), and we hand over new software releases on a quarterly basis. I don't think there really is any other way to do it, can't have random groups deploying software to production servers, i don't think the CEO or CIO would want to hear the finger pointing blame game when something goes wrong. gotta be a better way tho...

  7. Outsiders can see the flaws better, so outsource by wackybrit · · Score: 2, Interesting

    I've noticed that in-house development is harder too, but I blame a few different things. Politics and the work climate. Nowadays, admins know they can lose their job at the drop of a hat, and as such, they're getting a lot more defensive. Particularly with programmers whose systems might make their jobs a whole lot easier, making them more replaceable!

    When you outsource coding, this problem is highlighted more, meaning management can finally do something. In-house programmers are more likely to sit around playing Solitaire and twiddling thumbs when they get a frosty reception from the admins. Freelancers and external people need to show progress before they get their paycheck, so they aren't scared to call out the BS within an organization, or grass up sloppy admins to their bosses.

    This is why I'm a freelance programmer. I get to work for lots of different clients, but I also get to see the internal politics from a higher level. I can tell management about the BS going on at the lower levels, and look like I'm doing my job while I'm at it (because I am).

  8. Excuse me? by antarctican · · Score: 4, Informative

    We're a cancer?

    I think it's more that the software development cycle is becoming move evolved, as happened to engineering a few decades ago. The days of slapping things together and getting it out the door are gone, and good thing, we all see what occurred at Microsoft when quality wasn't a top priority. Buggy software with huge security holes.

    IF we want the public to trust software and computers more we have to develop a more "engineering" like mentality. Otherwise the public will think rebooting your computer three times a day is normal and acceptable.

    I say this from the point of few as both a system administrator and developer. There were times in my old company I would highly object to certain courses of action because they might have compromised security. This forced the developers to go back and rethink things. However the developer side of me usually had a better suggestion anyhow.

    Which brings us to the next point, part of the developer "get it out the door" mentality involves a lack of understanding by said developers of how systems work. They learn their C++ or Java in school, but they fail to learn how the underlaying OS and hardware work. IT training has become job training rather then creating computer scientists. Perhaps things would flow better if all invlved better understood the fundamentals of computers.

    I for one am not said to see the development cycle slow down. Far too many times have I see bosses go, "Just get it done, we'll worry about cleaning it up later." Do you want the software controlling your car or the X-ray machine at the hospital being managed by such a manager? I certainly don't.

    1. Re:Excuse me? by ShadowDrake · · Score: 2, Insightful

      >IF we want the public to trust software and computers more we have to develop a more "engineering" like mentality.

      if engineering was like software engineering, you'd go into an architect's office, and say "great job on that suspension bridge. Whip up a motorcar engine for a universe where an electron is +5 charge"

      --
      It's just like a fascist dictatorship, without the punctual rail service!
  9. Declare independance by raider_red · · Score: 5, Interesting

    I work for a government agency in the U.S., and as you can imagine, it's saturated with sysadmins who watch over security, resource allocations, etc. Our solution was to build our own network infrastructure. We purchased two servers, cross-trained about six of us to work as admins on those servers, and completely bypassed the regular admins. The result is that we're one of the most productive organizations in our industry, because we were willing to put in a little extra effort to get around the problem.

    --
    It's good to use your head, but not as a battering ram.
  10. Have you ever stopped to think ... by nbvb · · Score: 5, Insightful

    I'm not defending all the admins, because there ARE a lot of clueless ones out there, but have you ever stopped to think that we're here as subject matter experts?

    I'm a UNIX system administrator. My responsibility is to ensure my systems perform well. This includes actual performance statistics (I/O, CPU, memory), security, reliability, scalability.

    It also means I need to scale up the hardware as applications grow. I need to keep tabs on what my systems are doing, and why.

    I'm the "guy who gets in your way" because my responsibility is to the system, not to you.

    I don't work for you. I work for the systems. They are my "customers" if you will.

    Sure, I slow you down when I tell you "No, your app can't run as root."

    I slow you down when I make you diagram your database so we can lay out the I/O correctly.

    I slow you down when I make you tell me what you're doing with shared memory so I can tune my kernel.

    I slow you down when I ask for projections over the next year so I can plan the hardware and scale appropriately.

    I slow you down when I shut off telnet, ftp, r services, and every other plaintext protocol. You b*tch and moan because your expect script from 1994 needs to be rewritten, but too bad.

    I slow you down when I ask for a detailed list of which ports your application uses, who they communicate with, and what IP blocks I need to permit access from.

    Yep, I'm in your way.

    That's my job.

    And if you don't like it, well, too bad. I *DON'T* ask you why you're using C instead of Java. That's not my business.

    I'm a systems subject matter expert. I don't pretend to be a code expert.

    Your a coding expert. Don't pretend to be a systems expert.

    Let me do my job, and I'll let you do yours. We need to work *together* and understand the interactions between your code and my systems.

    Systems are NOT simple. They're very complex; you need to understand all the interactions here, from the kernel through the disk management (whether it be VxVM, LVM, or whathaveyou), through the network drives, through the firmware, through the HBA drivers...

    Let me do my job. Yep, it'll "slow you down" a bit, but in the end, we'll actually have a complete SYSTEM that functions. Code, OS, hardware.

    So you can't roll things out in an hour anymore. At least it works now.

    1. Re:Have you ever stopped to think ... by juuri · · Score: 4, Interesting

      A common misconception amoung admins is that your responsibility is to the system or that the system is your customer. Unfortunately that isn't correct, you need to take a step back. Your customer is the "availability of the application/utility provided by the system".

      With that said, many programmers have no idea what is really involved with keeping up highly available large scale apps across entire corporations. As an admin you are responsible for tons of applications and functions being readily accessible, in many cases 24 hours a day. Just like you don't argue with the way they implement low level aspects of their code they should respect your decisions and choices when it comes to systems, networks and security.

      The linked article sounds like a case of having inept admins and assuming the rest of the world works like that. It was also typical in someone assuming they know what is best across every strata of a corporation.

      --
      --- I do not moderate.
    2. Re:Have you ever stopped to think ... by nbvb · · Score: 3, Insightful

      Quite frankly, when people ask my what my objective is, it's a very simple one:

      "Don't get paged."

      My customer is the system, my objective is the availability of said system.

      Like you said, most developers have no idea really what goes on behind the scenes. They don't understand why building a cluster is difficult, let alone what quorum is, failure fencing algorithms and the like.

      They have no idea why it's perfectly OK for a cluster node to shut itself down, given the right circumstances ...

      But I digress ...

      The article sounds like a guy who's never worked in a real enterprise shop, and is upset because they didn't give him admin rights on his PC ... :)

    3. Re:Have you ever stopped to think ... by Sanity · · Score: 4, Insightful
      I'm the "guy who gets in your way" because my responsibility is to the system, not to you.
      No, the system is a tool, not an end in itself. Your responsibility is towards users of the system.

      I can't believe that even needs to be explained.

    4. Re:Have you ever stopped to think ... by Lemmy+Caution · · Score: 3, Funny

      No. The original poster is correct. IT's responsibility is to the shareholders of the corporation for which they work (or the stakeholders of the organization if it isn't a publicly held company, etc.)

      If helping the users helps the bottom line, then you're right. If the users want to do dev work on a production system and threaten the revenue stream, then chopping of the user's genitals and hanging them on the door as a warning to others is the correct thing to do.

    5. Re:Have you ever stopped to think ... by 0WaitState · · Score: 2, Interesting

      I don't work for you. I work for the systems. They are my "customers" if you will.

      Wrong. You work for the company (or organization--judging by your other posts, I suspect you're admining for a university, because you're cheerfully ignoring real-world business imperatives). Sometimes its more important to be first, to recognize revenue, to get "good enough" out there in the hands of users. Business pressures didn't disappear along with the dot.com boom. That doesn't excuse fundamental screw-ups, but your self-righteous tone and implication that developers are incapable of architecting a functional, deployable system appear very self-serving.

      Knocking down straw men and delaying releases to make them more perfect doesn't make money (usually).

      --

      Remain calm! All is well!
    6. Re:Have you ever stopped to think ... by BillsPetMonkey · · Score: 2, Funny

      People like you are absolutely the reason the BOFH stereotype exists. I'm really reeally glad I don't have to work with you.

      --
      "It's not your information. It's information about you" - John Ford, Vice President, Equifax
  11. No, we need more GOOD planning by wackybrit · · Score: 5, Insightful

    I disagree. We need to focus on the quality, not the quantity. We need better planning, not just less of it.

    I've been involved with companies who spend forever planning and twice as long coding, and they still produce crap. Why? Because the design is always done by committee, so no really good ideas get out there, and the design always ends up as a preoptimized mess with a few "management-approved" ideas thrown in.

    I seriously think a small tag-team (2 or 3 people) should be responsible for projects, and they should take in all of the input and recommendations, and produce a solid spec by themselves.. rather than the typical '10 departments sit around a table for 20 meetings and produce a piece of shit' method.

    1. Re:No, we need more GOOD planning by Anonymous Coward · · Score: 5, Insightful

      How do we get to "good planning"?

      In the "new age", where everyone and their brother got into computers because "that's where the money is", there are a number of real problems.

      1) The average skill level has greatly diminished. Thus, "the masses" have to be partitioned narrowly as they cannot, generally, operate on a big picture. So there are far fewer people who can actually plan, as that demands broader skills.

      2) Once you discover the need to partition on narrow skillsets, every partition comes with an automatic presumption of expertise vis a vis all others.

      3) Once you have "experts", you presumably want them to assert that authority. Thus you end up with network "experts", database "experts", web hosting "experts", ad nasium. Each, by definition, opertating in a clueless vacuum due to organizational structure, and the original reality that that structure was created to address the narrowness of skill found in most modern day technology people.

      4) Now that you've accepted a lower skillset per capita, and tanked up your organization with same, you created yourself a self-fulfilling prophecy. Each "expert" will basically refuse to co-operate with any higher functioning integrating authority out of self-preservation. Human nature will refuse to hire, cooperate, or contribute (to the maximum extent possible) to anyone that might threaten their status.

      In "the old days" the model you suggested was pretty much the norm. Execpt there was no need for 10 departments. Generally there were 3, Businss Analysis, Development, and Operations.

      Systems were, generally, "standardized" becuase the universe of potential staff was small and maximalizing technical diversity was not in anyone's best interests. There was no need to compete with your fellow technologies, there were few of them, and they all were in the buisness as a result of a legitimate calling.

      Today, hacks are the norm. There are a number of dubious stratigies employed to remain competative, none of which includes standardization or hiring "the best (and possibly better) people for the job.

      I'm an old-timer, watched it happen. I sit here, unemployed, today becuase I felt it important to hire "the best people", even if they were "better". Net-net, after 10 years, they still have jobs maintaining a system I designed and built for pennies on the dollar, played a role in moving from 80 to 250 million dollars a year, and enabled a host of standardized technologies like TCP and web. See, "we don't need generalists anymore" (they are "disruptive") was the reason everyone who actually contributed true-IP for this company was let go.

      From now one... I'm dumb, er "focused" in Corporate speak, narrowly skilled, and will never hire anyone that's bright enough to span technical disiplines. I'm just sorry I didn't get that message soon enough.

    2. Re:No, we need more GOOD planning by saden1 · · Score: 4, Insightful

      If your implementation doesn't meet requirements your skills aren't worth a damn. To be skilled you have to be able to plan. Planning saves time and is more efficient then hacking away at stuff.

      --

      -----
      One is born into aristocracy, but mediocrity can only be achieved through hard work.
    3. Re:No, we need more GOOD planning by PhotoGuy · · Score: 4, Insightful
      I seriously think a small tag-team (2 or 3 people) should be responsible for projects, and they should take in all of the input and recommendations, and produce a solid spec by themselves.. rather than the typical '10 departments sit around a table for 20 meetings and produce a piece of shit' method.
      I very much agree with this statement. Most successful software projects I've seen always had one visionary behind them (or a very small core of 2 to 3 that work well together), and a great supporting cast. The core had the vision, the design talent, and the autonomy to make the final decision, hopefully with good input and proper execution from the team. (Where things fall apart is where you don't have the leader(s) with the vision, or who generally know what they're doing, or if you try to run the whole shop by committee. Accepting and valuing feedback from talented employees, does not require you run things like a democracy.

      I think the same is true of other areas of society, too. Armies are not led by committees, but by a strict hierarchy of responsibility, with one person responsible for the group below them, as you go up the chain. Not complete democracy, but it's the structure you need when you have to get things done. A good commander will listen to the feedback of his troops, but ultimately make the decision and be responsible for it. I find it a bit ironic that Western culture embraces democracy and distribution of control (in theory), but tends to use an autocratic structure when things are critical.

      --
      Love many, trust a few, do harm to none.
  12. Delicate Balance by orangenormal · · Score: 5, Insightful

    I my office, the IT personnel grant or deny software installation requests (among many other IT-related tasks, but software installation draws a nice example). People usually want software because it would make doing their job easier. Does this mean IT should allow any tool to be installed? If a software request is denied, the requestor will sometimes complain loudly along the lines of "Your job is to make sure I can do mine, not regulate it," to which IT will retort "but if we allow any software, it will result in incompatabilities between departments ultimately reducing productivity and increasing maitenance costs." Both are right; this sometimes results in a bitter relationship, but lets face it, they're keeping checks on each other. A successful development company needs to find a balance between the two.

  13. We need more planning and less coding. by Anonymous Coward · · Score: 2, Insightful

    Because these "adminstrators" know little to nothing about development, I spend hours in meetings

    Because these "coders" know little to nothing about security, I spend hours in meeting trying to drill into them why the firewall is in their best interest, and why they should be using different ports for each protocol.

    If we all just sat down and coded first, our productivity would soar.

    And you end up with Microsoft-like products.

    1. Re:We need more planning and less coding. by sleeeper · · Score: 5, Insightful
      As a developer, I do the intial system administration of the deployed system on a dedicated network, including configuring the firewall.

      This pushes me to take responsibility for having an overall understanding of how the application fits into a larger security context, and that the application works in the real world/under load.

      Only then is the app dumped onto the larger network. I think all developers should do some real-life system adminstration, and system administrators should do some development.

    2. Re:We need more planning and less coding. by nbvb · · Score: 5, Insightful

      Well, there you go.

      My developers tend to want to run their web servers on port 80. I won't let them.

      Why not? Because then they have to have root privs to start/stop the app.

      No dice.

      What's my solution?

      Run the webserver on a high port (I tend to use 8000, but that's arbitrary)

      Put the systems (Yes, each app has to have at least two for redundancy) behind a pair of load balancers. Let the load balancer do the work. While we're at it, make sure the load balancers have SSL accelerators too, so we can offload that from the CPUs...

      Much saner architecture than letting a developer download Apache from Sunfreeware and running it on port 80.

      And then people wonder why we have sysadmins?

    3. Re:We need more planning and less coding. by TheLastUser · · Score: 4, Insightful

      You can't build a meaningful system without understanding all of the parts that go into it. This is why specialization is an anathema to efficiency.

      The ideal project group contains about 3 people, all of them code, all of them plan, all of them test, and all of them administer. The individuals may be responsible for a specific area, say security, but they all know and share in the design.

      The main problem is that technical people don't know enough to serve in more than one capacity, and the formal corporate structures enforce this division, through their arbitrary classification of techs based on which ersatz MS diploma they possess. Administrators think that software development is separate from security administration, when in fact these are just two chapters in the same book. If developers know nothing about security you end up with MS Outlook, if security admins know nothing about software then you still end up with MS Outlook.

      There are only two different job classifications in IT, the Hacker and the User.

    4. Re:We need more planning and less coding. by nbvb · · Score: 2, Interesting

      Bullshit.

      That's *EXACTLY* how I *ARCHITECT* systems.

      Any of our systems with web serving needs, that's how we do it.

      If you don't understand it, that's not my problem.

      It depends on the requirements, yes, but for anything running Apache, Websphere, Tomcat, WebLogic, etc. this is how we've architected highly available solutions, that are (at least nominally) more secure.

      If you're going to question what I've said, go look it up yourself. It's a great architecture, and doesn't require any other inbound access other than port 80.

      (Port 80 --> CSS/SCA --> port 8000 to backend servers.)

      The clients never know they're talking to anything other than 80.

    5. Re:We need more planning and less coding. by nbvb · · Score: 2, Insightful

      Sorry pal, it isn't like that.

      Developers don't need root access. Simple.

      For what? Give me one good reason why.

      It's not a control thing. It's a reliability thing.

      Any downtime is not tolerated. For every minute my production machines are down, we're losing hundreds of thousands of dollars. Really.

      Why should I let anyone except someone who doesn't know exactly what power they wield have it?

      I'm not getting thrown anywhere. My systems, company-wide, had the best availability numbers for the first 11 months of this year. And all of last year.

      That's because I coordinate with my development teams, and we're in sync on any projects going on.

      And if you want to compare us against other customers, Sun came in and did an evaluation of our systems as per our Platinum support agreement. Our RAS profile score was better than *ANYONE* in the United States.

      So yeah, maybe I don't let the developers have free reign, but we also have the best-performing, most available systems around.

    6. Re:We need more planning and less coding. by emoon · · Score: 3, Insightful

      So one should give root access to boxes to people who:
      1) thinks 'password' is a good password
      2) thinks telnet is better than ssh
      3) likes world writable permissions on the deployed code

      I've worked with developers who have said or done these things. These developers also designed code that was inherently insecure and was exceeding hard to secure 'after the fact'.

      At work, *nix dev boxes are locked down almost as tightly production systems. This way, the developers know what kind of permissions their code will have when it is deployed in production.

      I'm sure some of the developers would be more productive with root access. But I doubt the team as a whole would be any more productive.

    7. Re:We need more planning and less coding. by Pig+Hogger · · Score: 5, Insightful
      Developers don't need root access. Simple.
      ...
      Any downtime is not tolerated. For every minute my production machines are down, we're losing hundreds of thousands of dollars. Really.
      You mean you have your developpers work on production machines?

      If idiots could fly, you'd be an ass-tro-nut!!!

    8. Re:We need more planning and less coding. by richieb · · Score: 2, Informative
      Any downtime is not tolerated. For every minute my production machines are down, we're losing hundreds of thousands of dollars. Really.

      I don't think anyone is suggesting that developers should have root on production machines. But on their own development boxes or on test machines?

      --
      ...richie - It is a good day to code.
    9. Re:We need more planning and less coding. by pboulang · · Score: 2, Insightful
      So here is what I think you ended up saying:

      I don't want developers to have access to start and stop port 80 services because I would need to give them root access, I would prefer that there processes were run under a normal user account with less access. Therefore, I force them to use a high port such as 8000.

      You are protecting your organization against one thing: compromise of the target web server. And you know what? That particular machine is generally the least interesting. A bug or "feature" that would allow abnormal access to the backend database which is much more important than the web server itself.

      I think there is an issue to think about here:

      You need to adequately communicate the simple fact that though you are forcing a developer to run a server under formally more limited restrictions which is in their best interests to minimize risk, they are still responsible for unholy code (the kind that lives on forever because it can't get hacked). The "if you don't understand it, that's not my problem" comment is uncalled for and is precisely what this article is all about.. don't be an asshole.

      --

      This comment is guaranteed*

      *not guaranteed

    10. Re:We need more planning and less coding. by Jah-Wren+Ryel · · Score: 4, Insightful

      So yeah, maybe I don't let the developers have free reign, but we also have the best-performing, most available systems around.

      A 600hp car with the keys locked inside isn't good for much other than looking at. Who cares about the uptime of development boxes? If your developers are so incompetent that they can't keep from permanently mucking up their own machines, then your company has other things to worry about.

      Developers don't need root access. Simple.
      For what? Give me one good reason why.


      tcpdump/snoop/ethereal - sometimes watching the packets on the wire is orders of magnitude faster than any other option for debugging a network app.

      OS bugs - they aren't "suppossed" to exist but we all know that doing weird shit to a system can push it off into corner cases that the OS engineers haven't handled so well. Sometimes once in the corner, the only way out is to reboot. Until a patch shows up, letting the developers reboot the system after they dork it up trying to debug their own code is a real time-saver. Especially if they are working 2nd or 3rd shift when finding a sysadmin to reboot the system can be difficult or even painful for all parties (just love gettings those 3am pages to reboot a computer and if the system is classified you have to physically come in to do the reboot).

      That's two reasons. There are more.

      --
      When information is power, privacy is freedom.
    11. Re:We need more planning and less coding. by Kohath · · Score: 2, Insightful

      You need a solution that solves your problem without creating new problems.

      Giving all the programmers root access meets the first test, but fails the second one.

      ---

      I used to be a programmer. I moved to system administration because "not creating new problems" takes time for a programmer. The ones who don't care what new problems they create are "more productive".

    12. Re:We need more planning and less coding. by bolthole · · Score: 4, Informative

      wrong.

      If the app isnt running as root, you dont need root permission to trace system calls.

      Unless your OS sucks or something.

    13. Re:We need more planning and less coding. by susano_otter · · Score: 2, Interesting
      The scenario you describe doesn't scale for shit, you know. I'm on a team of about 300 sysadmins, netadmins, security admins, and DBAs. We support dev, production-test, and production environments for some 800 different projects ranging from "astoundingly trivial" to "major investment". There's no way you could find 300+ people who were all equally and highly competent system, network and security admins, and highly competent DBAs, and skilled programmers. Even if you could, you'd actually need 600 such people, since the first 300 or so wouldn't have enough time or energy to do all the planning and administration and do all the code design and production.

      There's simply not that many rennaissance hackers to staff even our company at our current size--and heaven forbid we grow at all! Let alone enough virtuoso geniuses to staff entire sectors of industry in the manner you describe.

      --

      Any sufficiently well-organized community is indistinguishable from Government.

    14. Re:We need more planning and less coding. by dwighteb · · Score: 2

      I noticed that you completely disregarded the question - why do most developers need root access? I certainly understand this need for kernel/device driver development, but what about the other 95% of developers who are writing end user applications?

    15. Re:We need more planning and less coding. by kashani · · Score: 3, Informative

      snoop,tcpdump,reboot?
      This is why there is sudo.

      kashani

      --
      - Why is the ninja... so deadly?
    16. Re:We need more planning and less coding. by dwighteb · · Score: 3, Insightful

      ahh - good catch. You see, I'm used to the Unix-like-OS world, where developing end user apps does not require root priveleges. I forgot that, in the Windows world, even end user apps need SYSTEM level access - which, of course, promotes good security ... oh wait ... ;)

  14. Arrogant developer crap by flinxmeister · · Score: 5, Insightful

    For too long developers have been held up as the ultimate in computing knowledge, while administration has been seen as some monkeyboy sitting in a computer room swapping tapes out.

    As a result, nearly every end user of a developed system is given attention before system administrators and operators. The secondary result is SA's and operators are left with big piles of innefficient crap to wade through, and much of the pressure of making said piece of crap work. How many folks here have had to work in huge, bloated teams of SA's all to support an ill-concieved and poorly developed (but gee whiz does it look greeeat!) product, getting paged and phoned all night to come in an slap more duct tape? How many people here have had to manage a bunch of boot-camp MCSE's trying to do 400 manual processes an hour because "that's the way it was developed"? How many people here have had to explain to a customer that some piece of code written by a fresh off the MIS degree train VB developer isn't RFC compliant and therefore 45 percent of the people in the world won't be able to interface with it? How many SAs here have had to tune the crap out of boxes and networks because a login page makes 75+ ODBC database calls? How many security consultants have had to go in and basically tell a company that they'll have to repartition and reinstall every server because someone found SQL injection in an app that required superuser privileges?

    The list goes on and on. Administrators aren't there to make life easier for developers, they are there to make things work--and make them work better, more reliably, and more securely. I'd suggest that this whiny ivory tower developer wake up and realize that coporations have gotten smart to the crap he's been turning out and further realized that the people who run the stuff are just as important as the people who write it and use it.

    In short, he needs to learn how to work on a team.

    Developers are smart, but they aren't the top of the computing pyramid. There are many other groups of people that are just as smart in different areas.

    1. Re:Arrogant developer crap by JohnwheeleR · · Score: 2, Insightful

      Developers are at the top of the computing pyramid. IT is a service industry, and developers write the user interfaces and programming logic that serve customers. Your job as an admin is to help us do that.

      Please understand your place. You are basically one level of abstraction away from being an end-user. Your knowledge represents a subset of the average developer's knowledge. We can do your job, and you should be greatful that we have other things to worry about than the 8th grade bullshit you do!

    2. Re:Arrogant developer crap by sql*kitten · · Score: 2, Insightful

      Your knowledge represents a subset of the average developer's knowledge

      +1 Funny or -1 Flamebait, I can't tell.

      No, but seriously, the opposite is true. I've yet to meet a sysadmin who couldn't do some programming, whether it's 150 lines of Korn Shell script or 5000 lines of Python/TK. Inclination is all that really prevents the administrator from being a programmer. A good sysadmin will also understand the system as a whole and how the work it does interacts. In contrast, few developers understand any more than their own little bit of an application, which is but one of many applications the business runs. The developers that do quickly become system architects and stop coding day-to-day, because they're too valuable as "big picture" people to get bogged down in details.

      Developers tend to assume, for example, that they have exclusive use of a machine, whereas an administrator knows that the database is busiest at a certain time of day, that the network is saturated on that segment at another time of day, etc etc. A developer thinks he can rely on a version of a library being there, an administrator knows that that library version has a bug in a function that the developer doesn't use, but another application on the machine does. A developer thinks his app is behind the firewall so he doesn't have to worry about buffer overruns, an administrator has been bitten by that mistake in the past. And so on and so on.

      Frankly, if you have competent system architects, engineers and administrators, coding is no more difficult than data entry. It's this truth, combined with the prima donna attitude of developers, that's driving jobs offshore.

  15. IT Differences by jdhutchins · · Score: 4, Informative

    There are a world of difference from what the normal marketing person, executive, etc needs from a computer and what a programmer needs. Most people don't need much in the way of room to play around, and they shouldn't have that room.

    Programmers are different. I write code, I need to test it. Maybe it needs root to run. You, as the sysadmin controlling my stuff, need to let me do that. In reality, there almost needs to be a different network for programmers, where they have the room that they need to mess with their code and see how it works. Sysadmins need to understand this difference. Programmers don't need root access to the network's servers, but they might need root access to a testing server, and it's the sysadmin's job to make sure that he can have a testing server running on a network.

  16. Nice mindset. Here's the flip side. by SuperBanana · · Score: 5, Insightful
    Have you noticed how difficult it's become to develop software? Not because software is more complex, but because there seems to be an army of administrators standing in your way - sys admins, network admins, database admins, runtime admins - the list is endless

    Nice mindset there; you're a real team player. The reason we are there(network/sysadmin here) is to HELP you.

    However, we're also there to make sure you don't do stupid things. While you say "these IT people get in our way", I point to a laundry list of really, really, REALLY stupid things developers have done at every company I've ever worked for; they just don't THINK about anything besides code, and they get Great Ideas without thinking through the consequences, either technology or business-wise. Some of it is just sheer laziness, and I've been faced with developers who act liked goddamn 5 year old spoiled rotten BRATS- this was particularly bad a few years ago when anyone who knew what "printf()" meant, got a 75k+ job.

    Prime examples of stupid things I've seen: logging into machines using the root account because you're too lazy to use su. Or not allowing you to ssh directly into a system from your home PC without a VPN. Or yelling at you when you use temp tablespace for permanent data. Or not letting you move production functionality to some desktop system underneath your desk. Or using the database admin account for your application, instead of a seperate account?Or not implementing your latest code changes until you're willing to put down on paper that you actually did your job properly and TESTED the damn changes(do you know how many times I've seen developers just push code out without testing? Guess who gets blamed first. Guess who gets PAGED first, at 3am when it crashes. Management doesn't distinguish between a misnamed variable and a "Internal Server Error 500"; they're both production problems, and you're not in charge of production).

    We're part of the team, and we're here to stay. You can either work with us, and clearly communicate to OUR supervisors(not just us) what your needs are...or you can make us the enemy, always try to do things half-assed, and get nothing done. Your choice- but management usually sides with safety, and we're the ones saying "that's not safe", and even if management doesn't side with us- when things blow up, we simply point to the emails we sent saying "that wasn't safe", and let you sweat it out while we restore from backups and clean up your mess.

    Sometimes it's simply not our choice; it's "do it this way, tell Development that". You have no idea how frustrating it can be sometimes for even us- I once worked at a place where root passwords were changed on us sysadmins, and we were told "use sudo". The incompetent assholes a few levels up didn't realize that gee, guess what, if the machine crashes and fsck fails, you need the root password.

  17. Mixed reactions by The+Welcome+Rain · · Score: 2

    On the one hand, I can understand the frustration of developers who have been arbitrarily undercut by surly, inefficient sysadmins. I've been there. A lot. On the other hand, the author of the article mentions at least one case in which he probably deserved to lose: software licensing. I'm glad you can deal with an InstallShield, bud, but that doesn't equate to knowing the terms of a license or how it will affect the company. And the fact that you don't acknowledge this issue suggests that you shouldn't be allowed to make such judgment calls.

    Yes, we developers are a sanguine lot, continually making risky improvements with blithe optimism that they will work and actually improve things. And on occasion we are disastrously wrong -- that's what test systems are for. However, that's no justification for making it impossible to do our jobs.

    After all, it's not as if most sysadmins are competent to pass judgment on our proposed changes. How many times have you heard an admin claim that he went into his line of work because programming was too hard? The odds are that his problem was with thinking things through and designing them carefully. In fact, most sysadmins do not appear to appreciate the basic concepts of scalable design, code reuse, or even revision control. And this is who wants to vet my software changes? No wonder they take all year -- they're too stupid to understand them.

    If you do employ an admin who can do all of these thigns correctly, hold onto him, whatever he costs. Treat him kindly. Make his life as easy as possible. He is a rare specimen.

    --
    Some keywords for the NSA in the Lord of the Rings universe: One Ring bind find Sauron quest Nazgul freedom
  18. Walk a mile in the other guy's shoes? by fw3 · · Score: 4, Insightful
    Jezuz I haven't read such a pile of crud in ages.

    Are there sysadmins who've never coded, not highly skilled at what they do who are a drag to work with? Of course. Sysadmins run the gamut, the best (and probably most productive) have enough coding experience to know and work with the dev side also. The very best can run circles around the average dev imx. Naturally the very best devs are int the same class.

    There are just as many 'developers' who don't have the first idea how to perform adequate testing, let along consider the constraints of running in a production environment let alone writing portable, consistent or maintainable code.

    The author of this article is quick to bitch about a sysadmin losing his working files. Sure it happens. What the hell is with a developer who doesn't bother to keep any working copies of 2 weeks work? (In my own time managing a corp. network I'm pleased to be able to say I had exactly one instance of unrecoverable data loss -- where two users hadn't realized that NFS did not provide pc clients with any form of locking)

    As a distribution maintainer (lunar) I see several OSS packages a week breaking reasonble build schemes or changing thier tarballs, (breaking MD5/PGP checks) without updating version info. So I'm sorry but there are no shortage of sloppy developers out there.

    In my own engineering practice I've found over the years that all work goes better if the people doing it know they'll be held accountable for it over the long haul. Too many devs are allowed to get away with a 'throw it over the wall' mentality, going on to the next project and never having to deal with some of their cruft. Of course the same logic applies to the sysadms, I've seen lots of the behaviors the article rants about it but I gotta say ranting and pointing fingers ain't the solution.

    --
    Linux is Linux, if One need clarify their dist: <Dist>/GNU Linux
    bsds are of course just BSD
  19. Not sure where you're from but... by Necron69 · · Score: 4, Insightful

    I've been one of those evil System and Network administrators for over a decade now. Most of that time has been spent supporting software development labs.

    I don't know what planet you or the author of that article live on, but I've seen a steady increase in the quality of software development and maturity in the development models used in the last decade. This may have slowed our development a bit, but you can see the results in our defect find rates. We're delivering a much better product than we used to.

    Rather than just hacking out some code, doing a perfunctory test, and throwing it over the wall to be released, our developers are actually managed these days and do this cool thing called "planning." Yes, they actually investigate, propose, design, implement, and test code on a schedule. We even have teams dedicated to testing the systems to make sure they work. Oh, the horror!

    In a decent software lab, which I consider mine to be, most of our management is also made up of engineers who rose through the ranks. These people know their stuff and trust the engineers beneath them.

    In my area at least, we've also seen a large increase in the complexity of systems as well. No longer are our engineers programming a lone application to slap on a PC or a server. Our projects are large and distributed across multiple networks and servers. We have to traverse firewalls and worry about security trust domains and lots of other things that nobody cared about a decade ago.

    I think that this increase in complexity of projects is likely responsible for the entire list of negative consequences that the article attributes to 'role fragmentation'. The only one I'd leave out is "de-skilling of the workforce". That may have been true in 2000, but the layoffs of the last few years have forced everyone to do work that was once done by multiple people.

    All of that requires more attention to detail, and requires more effort to get right. I don't see that as good or bad, it simply is. Get used to it and stop whining about having to actually plan something and coordinate with others.

    - Necron69

  20. Not admins, not developers by Monoman · · Score: 5, Interesting

    What I often see is the people who least understand the big picture when it comes to technology are the ones who feel held back.

    The people I see getting mad just don't understand the impact or implications their "simple requests" may have on others.

    "Can't you just open up ports 135-139 in the firewall for everybody"?

    "It works fine on my system, something must be wrong with the server"

    and my all time favorite when people don't have a clue why their system isn't working ...

    "It must be the network"

    They really don't understand how their system works.

    As an admin (LAN, WAN, firewall, server, email, etc... you get the idea) for a med size (3000 users) organization I often have to learn other peoples jobs just to figure out what the heck they are really trying to accomplish. It usually goes something like....

    Customer: "We need ..."

    Me: "Why?"

    Customer: Pick one:
    1) Vendor says so
    2) We tried everything else
    3) Thats what someone else said
    4) ?

    Me: "What are you really trying to do?"

    Customer: "What do you mean?"

    Me: "Don't tell me what you think you need, tell me what you are trying to do?"

    Once I understand what someone is trying to accomplish then I can often work somethign out for them.

    --
    Keep the Classic Slashdot.
  21. What is wrong with outsourcing? by pirhana · · Score: 4, Insightful

    I know I am going to get modded down terribly for this. I dont care. Because this is my sincere opinion. I want to ask these average americans who bitch about outsouring , what is wrong with outsouring ? its part of globalization which is something america initiated, perpetuated and benefited MOSTLY. Giant american multinational corporations went and screwed up virtually every local industries and firms in developing countries. As a result of this american economy benefited a lot(whether it was just for a few rich or not is open to debate). Heavily subsidized american agricultural products resulted in devastation of un-subsidized farmers in the developing countries. All these time, these guys who bitch about outsourcing were happy with these. But when the same trend of globalization continued and resulted in so called "outsourcing" , all hell broke loose !!!. So where were you all when a HELL LOOOOT of farmers and other industry workers in developing countries like india were loosing jobs becoz of globalization ? Or is it that "anything is OK as long as we are at the receiving end" ? Why there is a hypocrisy when its outsouring ?

  22. Re:Lots of admins here by smitty45 · · Score: 4, Insightful

    be careful there. developers don't automatically equal smart, and admins don automatically equal dumb.

    to say any different reveals your ignorance about either field.

  23. They should be there to help us by Sevn · · Score: 5, Funny

    No truer words have been said.

    They need to wake up and understand that us developers are the true brains behind the enterprise. We walk on water. We are GODS I tell you. I can't count the number of times I've had to yell at my sysadmins for making the coffee too strong, not popping grapes in my mouth fast enough, or moving the hand-fans too slowly. The fuckers. It's as if they don't understand that their purpose in life is to serve me. That the entire company exists not as a profit generating entity, but as my personal support system. Heaven forbid I do something smart like suggest or create a decent PROJECT LIFE CYCLE to avoid conflicts with other departments. I'd much rather whine on slashdot. Now I have to go. My 3 o'clock rubdown is coming up and I need at least another 2 hours of slashdot reading time before that. I mean christ, what do they pay me for.

    --
    For every annoying gentoo user, are three even more annoying anti-gentoo crybabies. Take Yosh from #Gimp for example.
    1. Re:They should be there to help us by RustyTaco · · Score: 2, Insightful
      Who makes the products that make the corporation money? Hint: it isn't you sysadmins.
      Hint: It's the engineers and sales people who do no coding at all, but actually do stuff that's directly relevant to the company. Well, unless you work for the 0.0053% of companies that make their money purely from software development. If you're working for the 0.0086% of "solution providers" it's admins providing a reliable "solution" from what the coder monkeys have put out.

      - RustyTaco
  24. Re:Work For Yourself by Harald+Paulsen · · Score: 2, Funny
    The biggest problems with being self-employed is that the manager is an idiot and the employees are lazy shitheads that don't do any work.

    On the positive side: good chance of being employee-of-the-year.

    --
    Harald
  25. Not a rant against administrators... by rob_from_ca · · Score: 2, Insightful

    This article has some of the symptoms right, but it's got the root cause wrong. All of those things mentioned are problems caused by poor quality administrators (or just as often, poor policies that the admins have no control over).

    Just as low quality developers with no sensitivity for production issues cause problems for talented admins, low quality admins with no knowledge of development cause problems for the developers. Talented administrators help your development team build bad-ass production ready apps and don't get in your way.

    Mostly though, it's IT management and corporate higher ups that have created this sprawling bureaucracy, for a variety of reasons. The admins would love to change it, but really have no say.

    As with anything, hire talented people and things will run more smoothly (as long as you don't shackle them with process developed by and for the untalented people :-) ). The best sysadmins are those that understand development and the best developers are those that understand the production environments.

  26. I programmed for 10 years ... by xyote · · Score: 2, Insightful
    Actually more like 16, and then switched to sysadmin (which was supposed to be temporary dammit! WTF is it with the only last job counts as far as skills go). Most progammers have no idea what is involved in system support. It's a major pain, which is why I've been trying to get back into development. Trying to explain to a user why something isn't as simple as when they just fool with their own machine is equivalent to a programmer trying to explain to a non-programmer why a quick and dirty script isn't generally applicable. You have to do error checking, make sure it applies generally not just specific cases, and is thoroughly tested. Same thing with system administration. You have to figure out how to make something work for all users, and above all else test the hell out of it before rolling out the change. Last bit is important because unlike programmers, sysadmin customers know who you are and how to find you if something goes wrong.


    And yeah, there are BOFHs. Even sysadmin run into them themselves if the organization is large enough.

  27. Because Administrators are Responsible by Ridgelift · · Score: 4, Insightful

    Why has the administration been allowed to bloom unnoticed in the software industry when it is having all these negative effects?

    Because Administrators are the ones who have to deal with the most headaches. I quit administrating and switched to development because of the complete lack of control I felt. The bulk of my admin was on Windows NT servers. A bad patch or rogue program caused grief, which I was expected to fix. Because of largely closed-source development environments, that meant flailing around in the dark trying endless shotgun approaches: patch, reboot, test, change, reboot, test, reconfigure, test, blow out OS, reload, test...on and on and on. Meanwhile developers would say "just get my database up and running! I don't care about _your_ problems".

    Unix is the best environment I know for Administrators. It slowly nudges them towards programming because of the close relationship of scripting and automation. Admins grow to become programmers. NT on the other hand, is a completely non-sensical environment because it's prodiminatly adminsitrated through application layers; no programming knowledge required.

    The old addage of freedom and responsibility applies. The more responsibility you have, the more freedom you should have. The less responsibility you have, the less amount of freedom is tolerable. Since a lot of admins work with closed-source products, they do not have the freedom to fix or investigate problems the way their open-source counterparts have, and therefore are given the responsibility without freedom.

    Largely, I agree with the article's points, but I think the blame goes beyond the administrator. I think it belongs squarely in the lap of the commercial software industry. Then answer: open-source.

    1. Re:Because Administrators are Responsible by furry_wookie · · Score: 3, Interesting

      Actually in the UNIX world its true..

      Systems Admins in UNIX are really "Systems Programmers"... because they are constantly developing their own tools, coding their own solutions to administration problems etc..

      The rule is: If you have to do the admin task more than once, then you should automate it... and that automation happens via coding up a utility via Perl, or Pyton, Java or C.

      Windows admins are about 1000x more clueless about software development than UNIX admins, because it's just not something they are exposed to.

      Many UNIX admins tend to have writing code about 20-40% of their job.

      --
      -- Given enough time and money, Microsoft will eventualy invent UNIX.
  28. Complaining about Clearcase? by RalphTWaP · · Score: 2, Interesting
    *ponders*


    ClearCase is another one of those products where the behaviour is not safe. For example, if you find that another person has checked out a file, then you can check it out "unreserved". When you go to check back in a large batch of files, it checks them all back in except for the code that was unreserved (it's that remembering state thing again). So the net effect is that the code under source code control can't compile. CVS is free and has this facility: why should we pay a premium to make our code base unstable?


    This overly general statement kills the article for me. I have the pleasure to use a superbly-maintained clearcase system daily (no, I'm not the administrator, just a happy customer), and must disagree. So I'll do so:

    "ClearCase is another one of those products where the behaviour is not safe." The author has mentioned one other version control system at this point in the article, and specifically states that it was an administration problem which made the system unsafe. Perhaps revision control systems _are_ database systems (yes, yes, they are), and like other complex databases deserve a competant administrator.

    "For example, if you find that another person has checked out a file, then you can check it out 'unreserved'." First, if multiple people are working in a Clearcase environment, and they are working on overlapping or dependent file sets, then they should be working on different branches from a known label point on an integration branch, only use that deviates from this best practice would ever find that a file was checked out by another. In addition, 'unreserved' checkouts require that the file be merged when it is checked in with changes, if the developer can't create the merge properly, they shouldn't have checked the file out in the first place.

    "When you go to check back in a large batch of files...." Why would you have a "large batch of files" checked out to begin with? Correctly structuring your branch structure allows each developer to make multiple check-ins as they work, providing not _just_ named-version tracking, but also fine-grained control (Ever wished you could back out that change you made just the other morning, don't remember what you did before? Use a well implemented version control scheme). Again, blaming what seems to be poor setup and management of your version control system is hardly the answer.

    Certainly, there are complexities to working with a version control system, a system that maintains both position in the directory structure and versions over time deserves competant setup, administration, user-instruction, and users. If those are missing (and it seems that they are in the author's situation), then head back to the luddite's favorite method: "foo.c.1"
  29. Serious attitude problem by visionsofmcskill · · Score: 4, Interesting
    This guy spends most of his time crying about people doing their respective jobs.... if you look closely ... he is essentialy arguing that all these admins should basicly be working FOR him... UNDER him.

    He believes the Database admin should allow him to make any changes whenever he wants them.... who cares if theres a REASON there are naming conventions.... never mind that someone actualy took the time to think about the possibilities of portability, or that there may be software already developed elsewhere that is dependant on those conventions and may need to be portable or cross-aplicable.... never mind how your changes may one day end up going live with a horrid architecture that you "evolved"

    He percieves security and network admins as simply being in his way, and that having his rights restricted is not only an insult, but an offense to his craft. Not minding that security holes can and WILL bring a network to it's knees... expecialy if your a target.... not thinking about the huge potential for corporate espionage, or employee sabatage. Maybe i should just give you full rights to the entire domain?

    He thinks that having the "right" to install whatever he wants whenever he wants without respect to the company policies or threat assesment is a given. That the potential for harm in HIS case is somehow different than from the secrataries.

    Well to you sir i say this..... get your head out of your ass. Unless your specificly developing an application that uses communications systems outside of standard FW blocking.... there is no reason on gods green earth that FW shouldnt be locked down as much as is possible. Have you ever seen what a virus can do to a network? What Blaster or sobig did last summer? while blaster is preventative by those "pesky" vigilant admins, sobig can bring a company to it's knees without even getting infected. My T1 maxed out on incoming sobig eails sent from the web..... because some jack-asses in other companies and home users werent so "strict" about their own security measures. I almost lost my job because management coudltn understand that the problem wasnt even ON our network.

    I have also developed... majoring in computer science and working on several large projects. And box control is somewhat necesary for programmers.... but in the long run.... really isnt. you set up and request a bunch of tools, install them and should be through on that machine. If you want full out control.. your not gonna be on my network, no fucking way... cause salespeople, secrataries and smart-assed "developers" catch nasty viruses and cause serious problems. sometimes i hate laptops.

    He does mention some very solid points, all of them relating to BAD administrators. Admins who dont evaluate the potential benefits of suggestions by their co-workers, admins who fear for their job fruitlessly, admins who think they are god of their systems and allow no flexibility, or admins who arent willing to do something as simple as setting up test-bed networks DMZ'd away.... or on a seperete network entirely. These guys suck, which is why i have three pipelines to the net... so when users need to do things i feel are in-secure, or when we recieve visiting salespeople and/or outside computers.... i can safely give them web access without it touching my network.

    It's called team-work. And the biggest problem with this guy is is he obviously thinks he is the most important part of the company... like everyone should be catering to him.... well guess what? your not that important. And in 90% of buisnesses out there, you barely exist. Most comapnies have a primary need to maintain their systems, and to improve them safely and incrmentaly, because any failure, even one day of outage... will cost far more than your extra time spent dealing with the granted quite annoying delays of a secure and well-managed infrastructure. the day to day cost of my companies development team (fairly large) verses the cost of having any sort of network failing on any particular si

    --
    --Idiots, Every single one of YOU, A flaming mass of conglomerated morons, hey wait a second, isnt that how RAID works?
  30. my reaction by register_ax · · Score: 2, Interesting
    Once upon a time, developers were promoted if they had the stomach for Gantt charts and paperwork. The engineers delivered functionality to the business: there was a clear power hierarchy. If you were lucky, you had an administrator who did exactly what you asked, and kept the systems running without imposing on development.

    This was a time when innovation ran rampant. Every business in the industry was trying to capitalize on a brave insight into how the future would be governed by this "tool". It was a period of risk and reward. The "administration" saw this as the period of growth or the techies were in fact the administration.

    Today it's a very different picture. Your typical IT director in a large corporate is surrounded by an entourage of software administrators. It was interesting listening to a famous British filmmaker (David Putnam) comment on how the gaggle of administrators surrounding Hollywood stars tried to make them as paranoid as possible about needing their administrative skills.

    The time where computers were an innovation in and of themselves are long gone. Computers are now a tool to create innovations rather than being an innovation. This process is like building houses. Sure you have some design, but most of the innovations have to come from new material processes whereas the builders are now the ones that simply follow the rules. Programming has become a commodity where the US doesn't follow well. US based business wants to drive a profit and as a result, doesn't surprise me one bit jobs are going to where it will drive profits higher. The dot-com bust was exemplifying this in some way. They were trying to build a basis on this notion that simply just doesn't hold true. Look at what is now becoming successful (relatively). People in other areas are becoming educated and performing our "textile" work.

    Today's world is "a very different picture", but it isn't the result of managers "lost understanding", only a paradigm shift that proves beneficial to the end result. Emphasis has been dropped.

    And finally to address the situation in development that is still happening in the US, poorly. It isn't just seen in this field, but all. I think the US is largely beauracratic. The US's stance is on innovation where it can drive profits. This is something that happens to all markets to stabilize a product. The New New Thing exemplifies this somewhat. Not that the book, although features Jim Clark, Netscape founder, is not technical, but only works at accentuating Jim Clark's abstract persona. But whatever.

  31. Re:Lots of admins here by smitty45 · · Score: 2

    "Most sysadmins are dumb. So are most programmers."

    no, to say that is to be a bitter pessimistic person.

    saying "If you were technically inclined, you'd be a software engineer, not a fucking administrator." implies that administrators aren't technically inclined, which i took to mean that you're saying admins are dumb. forgive me if that wasn't your point, but it's a popular view taken by developers, as this article supports.

    and to be correct, qualify your statement by saying that most developers/admins *YOU* have met are dumb, which is quite different than making generalized blanket statements.

    the fact is, both jobs are not counter to each other, they are different, plain and simple. if developers see admins as being in their way, then it's the admin, not the admin's position or occupation that makes it that way.

    same goes for admins who view developers as being in their way. in either case, neither is doing there job correctly.

  32. Have you noticed by ignipotentis · · Score: 2, Interesting

    How incompetent most "IT Administrators" are? For the most part, I cannot stand dealing with them. 50% have no clue how to secure anything, and the other 50% are so anal that they themselves can't do work unless they are in the server room itself. Most are all over "specialized" as well as under skilled. In any given organization, there is a Webmaster, Network Administrator, DBA... this list goes on and on; none of whom have any clue what the others are doing on their own network. My favorite quote from a network administrator when I asked him to set up an ftp server temporarily so I can transfer some files was "I'm not a ftp guy, we'll have to find someone who knows what that is."

    --
    Don't waste time... procrastinate now!
    1. Re:Have you noticed by sql*kitten · · Score: 2, Insightful

      My favorite quote from a network administrator when I asked him to set up an ftp server temporarily so I can transfer some files was "I'm not a ftp guy, we'll have to find someone who knows what that is."

      Guess you didn't even stop to consider that maybe he was a Cisco admin, and he meant he needed to find someone who knew what Unix machine the ftp server was on?

      Nope, because clearly, you've no idea what you're talking about.

  33. I think the point is by epseps · · Score: 5, Insightful


    That there is a reason why alot of admins are paranoid about giving anyone , not just developers, control of their box. The case in the article was an extreme example, but I couldn't help but wonder "What did some developer do years ago that completlty hosed everything?"

    The back up situation at the place in the article sounded outrageous. The author had every right to be angry about that.

    As far as the firewalls go..if there is a security breach, the developers would not get sacked and new abused ports are discovered. Users find ways of clogging everythign up with Yahoo! IM going through port 80, outside KaZAa users from Brazil suddenly thing that you have LTR Return of The King hidden somewhere on your network or script kiddies from Korea sudenly decide to scan port 1021 all day long...In other words, there are lots of reasons to change the configuration of a firewall daily (unless disconnected from the outside completlty..but no users want that).

    Like NetNinja said, cleaning up after them is a nightmare, plus the admins are liable for the mess , not the developers. Communication between groups is the key.

  34. Inept developers on par with inept admins by d-rock · · Score: 2, Insightful

    OK, first of all, I work both as a network engineer and a developer. There are great admins out there, just like there are great developers. Likewise, there are horrible admins and horrible developers. I don't think either group has a monopoly on excellence or ineptitude.

    That being said, The two jobs are really intertwined: admins should be contributing to the design stages of software just as developers should be keeping in mind deployment, administration and security factors when they're writing code. Sadly, I've met people on both sides that basically say "not my job" and move on. Those are the ones that cause problems.

    BTW, I don't have a lot of pity for the author. He tries to make a point by saying his roving profile got deleted and it caused him to lose 2 weeks of work. Let me just say in my experience I have never gone that long without a commit. The rule I've always gone with is that if the build isn't broken it gets committed. There's really not an excuse, even in early development phases, to not be comitting often. This just sounds lazy.

    Derek

    --
    Don't Panic...
  35. not excused. by twitter · · Score: 2, Interesting
    The days of slapping things together and getting it out the door are gone, and good thing, we all see what occurred at Microsoft when quality wasn't a top priority. Buggy software with huge security holes.

    You must not have read the article. The gripe list was all about red tape that does nothing for quality. All you do is deride a "get it out the door" mentality that has nothing to do with the legitimate problems the author raises.

    It's funny that you mention Microsoft, because 80% of the list has grown out from the gross inadequacies of their software. Virus checker, heavy comercial source code CVS, bogus restrictions on installing software, idiotic network administration which loses critical path source code and a whole pack of morons that can point to Gatner articles to justify the whole stupid structure. Of course, the "security" you claim is not provided as continued theft of source code from game developers and Microsoft itself demonstrates. At the same time, people using free software tools with competent administration are busy producing superior code for any platform. Big companies are in love with junk software and they are no longer competitive because of it.

    "Just get it done, we'll worry about cleaning it up later." Do you want the software controlling your car or the X-ray machine at the hospital being managed by such a manager? I certainly don't.

    Neither do I. I hope that my x-ray machine has got a free software embeded system in it, rather than some stupid WinCE, "fastest way to the COM" crap on it.

    What I'd like to see from you is a defense of any of the bogus practices the author mentioned. Give me something technical istead of insulting a strawman.

    --

    Friends don't help friends install M$ junk.

  36. Couldn't be more accurate by enjo13 · · Score: 2, Interesting

    I see that the legion of Slashdot Sysadmins gets up earlier than I do:)

    The problem for me is actually not the system administrators. While they often have rather insane network policies and restrictions (that's a whole other Slashdot thread), they don't tend to impact me as a developer.

    The bane of project development are the managers that are 'above' me on the corporate food chain.

    My current job is a perfect example. When I began looking for a job, I purposely avoided big companies due to prior experience. The company I worked for started out quite small (I was the 5th employee I beleive), and was quite succesful. Our design tended to be fairly solid and we could move much faster than our competition was able to. A particularly memorable example occured when both ourselves and our primary competition (~40 employees on the project) began working on an identical feature. We delivered it in 3 months, they took a year.

    Then we where bought up by a medium sized corporation, good benefits and they left us alone to keep doing what we do. That was great. Then we started dealing with larger companies who wanted to use our software. They came by and visited the company and decided to impose their corporate culture on us. Contracts required us to have a project manager, Q&A manager, etc.. The small company grew.

    Now my days are spent rationalizing design decisions to my project manager, keeping the Q&A manager 'in the loop' to prepare for upcoming releases, and basically distracting myself from what I do best... develop software.

    The point being, that the project management functions and Q&A functions where handled very well before the arrival of these new people. Our software was generally solid and delivered months ahead of time. The addition of these extra layers of administrators and managers turned an incredibly efficient company into a horribly inefficent one. We recently missed a delivery date for the first time since I've been here, and now our corporate owners are sending in MORE management to 'fix' the problems that 'they' created. Sick.

    --
    Turn s60 photos into awesome videos with mScrapbook for all S60 3rd edition phones!
  37. Re:Outsiders can see the flaws better, so outsourc by quantum+bit · · Score: 3, Informative

    When you outsource coding, this problem is highlighted more, meaning management can finally do something.

    The only problem is that outsourced programming often times SUCKS. It's usually commissioned by management with little or no input from the people who will end up supporting it.

    I have the unfortunate job of managing a large number of Windows 2000 workstations, but have them locked down so that users can't install random crapware or muck with the system settings.

    Over the years we've had a few custom programs developed on a contract basis by outside companies. Most of them are buggy, slow (Visual Basic crap), and make assumptions they shouldn't. It annoys me to no end when users complain that the software isn't working and it turns out to be that the software is badly designed and is trying to write to files inside of the program directory or modify the HKEY_LOCAL_MACHINE registry hive. I mean you don't see many *NIX programs that demand write access to /usr/bin or /etc... I've even seen this in some commercial software: AutoCAD LT, ACT, etc.

    Fortunately, our in-house developers are pretty clueful and their stuff usually works without a hitch.

  38. The article's author is confused. by FreeLinux · · Score: 5, Insightful

    He has decided that his problems are due to administrators, who are all clueless, and that he would be so much better off if his world was run by developers, that are all knowing.

    The reality is that the authors problems are due to inept individuals and the corporate bureaucracy that keeps these inept individuals in place. The problems are not simply admins vs. developers. This is no different than any other profession.

    There are countless bad administrators out there. Many/most do not deserve the title of Administrator. But, at the same time, there are just as many developers out there that should not be allowed near a keyboard and yet they are forcing new "applications" down end user's throats on a daily basis, "applications" that reduce productivity due to bad design and processing inefficiency, buggy and untested code, and a total lack of understanding of the business process.

    There are far too many inept individuals on both sides of the fence. It is not about admins vs. developers.

    One more thing, the author seems to understand that J2EE is a bad idea so, why does he continue to develop with it?

  39. The Chicken or the Egg? by Shoten · · Score: 3, Insightful

    What the article entirely misses is WHY there's role fragmentation. My girlfriend works in the IT department of a large law firm, and she's tasked with one thing: the implementation, testing, and rollout of a new document management system. And it's a full time job, for months now. Part of it is because they're adopting the latest and greatest version of the product, but part of it is also just simply because the software needs handholding to get it working correctly. There are bugs, nuances, and various sorts of tuning (the web component doesn't work correctly if you keep your browser W3 standards-compliant with regard to number of concurrent connections, for example.) It's not like the admins got together and said, "Let's make this software really manpower-intensive to install so that we'll all have jobs!" The developers have written this stuff that way, although obviously not with that end in mind.

    In the end, if there need to be so many admins, it's because the software demands it, not the other way around. And I tend to think admins are pissy because developers are increasingly giving them crap to administer.

    --

    For your security, this post has been encrypted with ROT-13, twice.
  40. Programmer centric by silas_moeckel · · Score: 2, Informative

    OK first off I do this for a living and am an ex full time programmer. I left programming to leave working at big bussiness's slow pace. Having said that.

    Yes programmers should program more and go to meetings less; they have nothing to add to a meeting outside of thats hard thats imposible etc etc etc let, the one lead programmer or better yet the Systems Arch go to the meeting for the tech side. Yea it's they guys some programmers hate because they are technical and see through the BS while pushing intergration solutions and other non programmer friendly things. Realy the coding aspect is only a very small part of the overall system. Archs need to be versed in a lot of different fields to get there jobs done (I laught when I talk to Architects that only have been inside the programming field fer projects work well without some networking and server hardware) this is so they understand the admins issues with there blessed production gear through the marketing guys that want to be able to use every buzzword known to man to describe the end product. Remember while the sys admins know little about programming, well they are paid to keep the system up and working and protect it with there jobs programmers dont get called in at 4am generaly they do. Programmers like most tech people need an interface to keep there time free and also to represent them tot he other departments given that person and the ability to work with them you can get better products and happier programmers most of the time (granted there will be the enevitable programmer hatred of this person as they come back with the management overridden bad ideas and shrug there shoulders.)

    --
    No sir I dont like it.
  41. The Answer to this Problem by qtp · · Score: 4, Insightful
    is in the first paragraph of the article:

    PC developers doubled up as administrators,

    but it seems that the author missed several of the intervening years that have led to the current situation.

    In the beginning, the developers also were required to administrate the machines they were developing on and for. Shortly after that, as there were more deployments, there were folks who's primary task was system administrator, and they would perform development tasks according to the needs of the organization and in order to make thier own jobs much easier, then came the network administrators, who would also develop software according to the needs of the org, and in order to make thier own jobs much easier. Then it all went to shit as the marketing department realized that there was money to be made, they began asking for needless software with dubious need and poorly thought out devlopment requirements that could be used marketing fodder. The administrators became notorious for (rightly) defending defending thier turf and saying "not on my network. not on my system."

    So the role of developer was born, a person with skill in writiong code with the willingness to write program asked using whatever programing language specified without any objection whatsoever, regardless of the technical merit of the spec, the need for the program, or the overall effect on the system, as long as they were paid. All applications were written in whatever the language of the day happened to be, and fufilled the purpose of whatever the flavor of the month dioctated. What had been elegantly designed systems that specifically fufilled the needs of the user using existing tools (most often transparently) whenever possible, using custom (or community) designed software whenever necessary, and requiring the least amount of system rescources possible, now became incomprehensible morasses of rediculously complex dependancies, multiples of propietary protocols that replicated each others capabilities but were "incompatible" with systems that served the exact same purpose, huge collections of libraries all addressing the same needs and differing only in what would justify the high cost of the (propietary) product, and an absolute disregard for any sense of of efficient and elegant network, system, or application design.

    The design process has been divorced from the persons who use the apps, maintain the systems, and have the best knowledge of the needs of the given organization. Software development is now managed by sales people, marketing divisions, and corporate executives, most of whom have little real knowledge of the IT feild other than what they read in Gartner's artcles, and will accept the advice of a "consultant" before even considering asking one of thier own employees. These are the people who believe that the best developers are teenagers, that ".net" is the "way of the future", and that when a sales person tells him that thier product achieves something never before accomplished, or that it provides capabilities available nowhere else, they believe this.

    Now the developers are crying that they don't have domain administrator rights on the network, or that they cant write to directories that they have no reason to be writing to in the first place. They bitch when the network has been infected by yet another virus, but complain when the administrator strips all VB script attachments from thier emails. They bitch about how much work they have, about thier hours, and about thier pay, but drop to thier knees for any manager that brings them yet another impossible to implement product idea or project that serves very little purpose (other than as something that might sell). They bitch that the admins are fscking around all day without understanding that this means all is well on the network and the admins have done thier jobs well.

    This is the problem in the development world, and it is being addressed by Open Source. True, there may be some job loss a

    --
    Read, L
  42. Seems a bit superficial by FearUncertaintyDoubt · · Score: 3, Insightful
    It sounds like he is facing situations where there are too many administrators for the size of the project. It is very much a matter of balance. If I am developing a system for a 5-workstation small business, I can be network admin, DBA, help desk, developer, and even trainer. It probably would be unnecessarily complex to bring in separate people for each task (though consulting firms love to load up lots of extra people on projects).

    However, there's a real need for administrators, and increasingly so, as the systems get bigger. I'm the lead DBA for a app development staff of 25. Do I get off on holding the keys to the databases? No, but we ran for a long time with developers as sa. The bottom line was that there were a lot more problems than there are now that I locked the dbs down. I also realize that that puts a greater burden on me to not be a bottleneck in the development process.

    That said, the problem is not in the fact that you have administrators, it's that you sometimes forget what your role is. Developers forget this all the time, that they are supposed to be responsive to users. Administrators forget that they are supposed to be responsive to users. Customer service forgets that they are supposed to be responsive to customers. I have to occasionally step back and remind myself of the fact that I am there to support the developers. But to think that this is only something administrators are prone to is to try to single them out as being exceptionally sinister. It's just human nature, and we all have our way of sometimes screwing the people we are supposed to be helping. Contact your local congressman for more details.

    Every day, I spend time configuring the system and developing policies that give the developers the greatest freedom possible while maintaining stability. And in general, the developers appreciate the effort. Why? Because each one knows that, while he is sometimes hindered by my policies, he benefits greatly by everyone else following them. And therein lies the whine of the selfish developer. He wants everyone else to follow the rules to make his life easier, but he doesn't want to follow them himself.

  43. System built by developers by 3ryon · · Score: 3, Insightful

    I inherited support for a corporate document repository a couple of years ago. This system was written in-house, and completely built and managed by the developers.

    Here's a quick idea:
    Server was floor standing in a wiring closet at the location the developers worked in. Not, in a rack at the corporate data center (with redundant power, switches, etc).

    The server had 10 (!) 100BT NICs. They were all teamed and run into a 10/100 hub on the floor that then had one uplink at 10BT.

    Server had a very nice 6 channel RAID controller that was completely unused. Instead the hard drives were connected to the internal SCSI and software RAIDed.

    Moral to this story: Yes, developers and admins should work together, but each should respect the other in their field of expertise. If the admin tells a developer something is a bad idea, they probably have a reason for saying that.

  44. Configuration management: A disapearing role? by Spoing · · Score: 2, Insightful
    I've noticed that 5 years ago, someone was always designated as the CM. Now, nobody is.

    Maybe the problems with keeping development, deployment, and systems administration in sync would be helped by that level of glue.

    The result would be that the fragmented systems administration level would be simplified since they wouldn't have to deal with configuration issues except where they impacted ... well ... systems administration.

    --
    A firewall can not protect you from yourself. Turn off what you do not need. Do not use the firewall to do your work.
  45. Admins do the work Developers Don't Want To. by SoupIsGood+Food · · Score: 2, Informative

    I'm a little touchy on this topic, because I used to be an admin in a cross-platform Unix shop. I was let go when the money got tight, under the exspectation that the developers would take over my position in their spare time.

    Three months after I left, they had to hire two admins to replace me. (One for Sun, HP and Linux, and another who could handle AIX, AS/400 and the mainframe development system.)

    Administrators do a lot more than sit on their ass cruising slashdot. Capacity planning, filling out purchase requests for everything from extra ethernet cords to $85,000 Sun Ultra Enterprise mainframes. When that stuff shows up at the front door, it's the admin who plugs in the patch cables, and OS's, configures and installs in the datacenter the Sun. This is all time developers could be coding.

    What's worse, many of them just didn't have the skill set or the mindset needed to be an admin. Rotating the backup tapes of the NFS server is second nature to an admin, like getting that first cup of coffee in the morning. Yet it wasn't done after I left... not one of those 50 programmers thought to do it. So they lost a month's worth of work. (They also didn't offsite the backups.)

    It took one guy a week to figure out how to change the network configuration on an AIX box... a week he could have used to work on revenue-building product. (He didn't even know about SMIT, but wrote a half-assed startup script using IBM's wonky AIX system commands.)

    This was in a tiny developer... maybe 50-60 coders and QA'ers. The picture changes even more dramatically when you are trying to write software to fit into a huge IT infrastructure.

    The reason why there are so many different kinds of administrators is because there's simply too much for one guy to do. Most developers don't have the mindset or the skillset to manage a 24/7 computing environment, and they sure as hell don't have the time.

    There are =some= developers who can install DB2 on a Windows box and keep it concurrent and compatible with DB2 on the mainframe... or even realize there are serious differences between tthe versions of DB2... the author isn't one of them. Even if it's developed on the PC, it will probably be deployed on Big Iron if the project takes off. Understanding that requires experience and an understanding of how all these marvellous toys are going to be deployed in the enterprise.

    Basically, the problem the author has with his development environment is that it's bog-standard corporate... Microsoft products on personal computers and workgroup servers, and big boxen in the back room running Java.

    While it would be nice if the company would buy you a PC and a database server, gave you a network connection and said "Go to it!", that environment wouldn't produce software that works with everything else in the system, or worse, would introduce instability and dataloss.

    Virii are a problem if you use a microsoft platform, whether you're a 1337 coder god or Larry in Accounting. If you need exceptions to standard corporate practice, that's something your manager should be dealing with the IT staff with. (And the IT staff, admins and their managers, all the way up to the CIO, should plan on and quickly implement exceptions to policy when needed. But that's another rant.)

    SoupIsGood Food

  46. Bad Experience != Administrators Bad by Featureless · · Score: 2, Insightful

    Disclosure: I'm a long-time developer. I have often worn both hats. I have also in the distant past been an administrator.

    I read this guy's article, and I feel his pain. He is clearly suffering in a bad corporate environment.

    What he has done is scapegoat administrators, when what is happening is not a problem with administration, but with senior management.

    When there are too many administrators, when they are not doing their jobs well, when they are deploying bad tools, when they are poor communicators or worse, obnoxious... when, overall, policy is bad, and the work environment is imperilled, look up, my freinds, to the head office. The fish rots from the head.

    The idea that administrators might be a "problem" is novel just because normally in a bad shop with failing senior management you just get bad developers... bad everybody. Because hiring standards are shit, because bad behavior and bad performance doesn't get anyone fired.

    I actually do see specialization as a problem - but as an unavoidable one. As our work has grown in complexity over the years, specialization was inevitable, and we are just seeing the tip of the iceberg. But let me speak from the vantage point of a relatively well-managed shop. Here is what work is like for me.

    We do have an IT group that "runs the desktops," making sure email gets delivered and wrangling windows and fileservers and so forth. They lock down the machines of quite a few people, but they are flexible and friendly - and developers (and anyone else who has a need) get full privileges on their own machines, and even on development servers if necessary.

    Our backups run, consistently, on time, and well.

    We have a Unix ops team (that encompasses our DBA) that is 2nd to none in my experience. They will ride your ass hard for anything you want to do in production - as they should. It's their ass if those machines go down, and that 2nd set of eyes has caught many a terrible thing before it escaped our development and staging environments. When we are testing something for scalability, they are in there with us, unleashing Solaris or Oracle wizardry, literally coaching better code out of developers, and generally making magic happen.

    That in itself is a good snapshot of specialization working as it should - not insular, but aware of what's on the boundaries of what you own, and working as a team.

    We have a complex security architecture that simply works. They don't make semi-montly changes to it, because they did it right the first time. DBA staff is a collaborator in your database design - my god, I can't imagine these people holding _us_ up. Its almost always them waiting for us to carry our leg of the relay race.

    Our long-suffering QA department is strikingly overqualified and polite to a fault when we destroy their schedule and then ask ridiculous feats of endurance from them. Even when they catch some pretty dumb stuff on our part, which they do quite often.

    We use good tools, often open source, but not out of doctrine - our choices won on their merits. Management is ready to throw out anything if it doesn't work. We are platform and vendor agnostic - advocates and zealots get put in their place.

    We are very productive, and although we are far from perfect and are not all of us dream-team members, we do extremely good work. Our company is so spoiled, and I think many who are relatively new have no idea how lucky they are.

    And why is all this? One simple reason. We have a good CTO, and he's hired and promoted middle-management who are good engineers. And that, pretty much, is all it takes.

    The trouble in big companies is that you have absentee management who pick senior technology leadership without any sense of how to gauge talent, and pay no attention to their performance, almost literally until (sometimes even after) it has burned the company down. The old white men are by and large still prime representatives of the previous generation in terms of their ignorance of technology, and every generation's aristocracy has the same habit of being in flight over the Swiss Alps while the house is on fire.

    One man's opinion.

  47. Admins Missing the Point by Bob9113 · · Score: 2, Insightful

    There seem to be a lot of admins here who are missing a point he implies early in the article, and which he does not sufficiently amplify:

    I understand that those DBAs who understand the details of the database engines are worth their weight in gold.

    My impression is that he is not talking about the sort of admin that is likely to be reading Slashdot on a Saturday. He should have repeated this statement in each section, to make it clear that there are good and valuable admins in every sector.

    It is my experience that we are now 60% over-administrated.

    This is also a bit too understated. He implies at a few points earlier in the article that he works for large enterprises. If you've worked in a large enterprise, you know that in such places, the paper-pusher admin to skilled admin ratio is 60/40 on a good day, going downhill, with a gale-force tailwind.

    The people he's attacking are (for example) the sorts that engage in "security by chewing through the wires" - putting a firewall at every major network nexus, shutting down all traffic, and demanding written justification and properly red-tapified authorization for every open port. Don't get me wrong - default deny at the perimeter is a must, and default deny on some nexuses is the right choice. OTOH, for example, a default deny firewall between the developers and the appservers has a very real cost (EG: waiting six days for paper to clear before being able to turn on JMS). He's not even saying this cost can't be justified - he's just saying that cost has to be assessed and charged to the administration budget, and it is currently charged to development:

    the true cost of administration must be accounted for when totalling up the cost of any project.

    The point he's making is not that administration is bad, but that because management has lost it's grasp of development, and because they can grasp the paperwork-and-authorization oriented style of administration, management has given administration more power than is optimal. There's a balance that must be struck between wild-eyed developers and stodgy administrators - safety and speed are both valuable, and they are naturally at odds. In major enterprises, the balance is askew and getting worse, because the practice of software development is evolving so rapidly. Likewise, administrators are quick (and right) to point out that in smaller companies the balance is askew in the other direction.

    I think his main point is that bad admins are a bad thing, and that management often sees bad admins as good admins, because bad admins generate more sturm und drang. "If people are complaining about things being shut down, there must be some security goin' on. If they're not complaining, what did we hire these guys for?"

    So unruffle your feathers - if you're not allowing your developers to host outside accessible websites on their desktops, he's not talking about you.

    OTOH, if you don't know enough SQL to understand a script that has been submitted, and you reject it because it is not indented properly, remain ruffled - you are the problem.

  48. Comments on an ignorant rant by Eskarel · · Score: 2, Insightful
    Ok, firstly I've done some development and some administration work so I know a bit about all of this from both sides.

    1) The list of so called administrators here is ridiculous, you can't include network/system administrators in with package vendors(what ever the hell they're supposed to be) or blame the whole thing on J2EE because it has architecture problems, that's not admins fault. As a side note, forcing developers to do things they don't want to(document code, plan before they start etc) is a necessary evil since most coders including myself don't want to do these things.

    2) The idea of developers doing their own administration is to be honest laughable, if this guy thinks that administration slows down development imagine what it would be like if the people who were supposed to be coding were doing it, even if it didn't take all their time they'd be focusing the results on their needs not on the needs of the secretary next door.

    3)As for getting root permission on anything or being able to install your own software. Being able to code does not make you qualified to run a system even an internal test system(assuming you want it connected to the internet). Even on a windows box giving root access to anyone(even developers) can be a serious nightmare. In my experience fixing the computers of people who know something(ie developers) is much worse than doing it for people who don't since other than the usual crap they don't futz with their pc's much. Supporting a machine with random software and random configuration is hard enough when it isn't mission critical, ask tech support.

    4)As for Roaming profiles, the reason people set them up is because that way, when you hose your machine(which 90% of people will do either because of ignorance or bad luck) they can just roll you out a new one without having to recover the data from your old one.

    That said any system administrator who tells you "it's only two weeks worth of work" under any circumstance beside an act of god(there is no reason you shouldn't be able to get your data back but you can't) should be canned and even under the act of god circumstances they should be apologetic.

  49. incompetence is the only problem by obtuse · · Score: 4, Insightful

    I agree that delivery of a mature stable system is the number one priority. Unfortunately this is often in direct conflict with the expedient goals of developers, who say things like "just give everyone access."

    The only real problem in the article is incompetent administrators and incompetent management. Interestingly there are no incompetent developers in his world.

    Delaying a multi-million dollar project is never okay for a competent admin. Competent management would never allow such a thing to happen either, or such an admin to remain employed. Missing backups should be an instant pink slip too.

    Unfortunately most developers are no more competent than most management and most admins. Most people are mediocre by definition. Paranoid admins are no worse or more common than managers who don't do anything but protect their fiefdom, or developers who know nothing but driving a particular gui.

    In technology we'd all be better off if we understood computer fundamentals better, but we can't all do that. Very few of my developers have any acquaintance with microcontroller programming, but studying that is a part of my understanding of how computers work. Most of them have never touched Unix, or any free tools either as far as they know, but knowing those makes me a better admin.

    Dealing with multiple administrators is a pain. Modern systems are large and complex, and complexity increases exponentially with size. You're going to have to deal with multiple administrators, and modern projects need a project manager.

    I worked in the office of the network architect for a fair sized company, and he spent hours at a time on calls making the network work, sometimes days. He also implemented a VOIP architecture that saved the company hundreds of thousands of dollars in the first year. None of the developers would have been able to do his job. They didn't have the technical expertise, nor would any of them have been willing to troubleshoot the global WAN around the clock.

    One director who wanted the NetArch to make a client's VPN to work right now, threatened to call the CEO because it didn't. Never mind that the client had refused to give us any of the information we had requested (weeks before) to make it work. We had done the best we could, and the final problem turned out to be one with the client's configuration, which we weren't given any information on. One client finally agreed to call their tech support, who pointed out that they needed to use a special acces point coming from NATted environments. Simple for them, impossible for us.

    A friend worked in a company without a dedicated admin. This startup full of brilliant coders got their FTP server cracked, and someone downloaded all of their work. Maybe it was one of their competitors, maybe not.

    Backups are a pain, and none of the development servers I've seen were actually backed up regularly by the developers. These were the same folks who insisted on running Visual Source Safe without licenses, and just didn't have an administrator, so when they had to fix the database or roll back to an earlier version so that people with Macs could use it, they were out of luck. They never bothered to learn to use their tools, so they encountered the same problems over and over again.

    When they wanted firewall holes for AudioGalaxy, or for me to give them software that they were unwilling to buy, or when they opened another virus infected email, I was at fault. When the dev servers failed, even though they existed solely to give the developers total control, it was my fault. When the VP wanted a deleted email back, we had backups though, unlike the development servers maintained by the developers themselves.

    I may sound cranky, but I was always cheerful & respectful of my developers. I knew that they just wanted to do their jobs, and didn't know how things worked.

    The author reports that many developers feel that administrative burdens are halving their development efficiencies. That's meani

    --
    Assembly is the reverse of disassembly.
  50. From Ursula Franklin's "Real World of Technology" by rbrander · · Score: 2, Interesting
    The points I'll try to make have all been made by others, talking about "teamwork" and not "throwing it over the wall", but Professor Franklin's classic, "The Real World of Technology" clarifies the debate a great deal. She describes the difference between "Prescriptive Technologies" in which specialization is by task and "Holistic Technologies", in which specialization is by product.

    Example: In my workplace, several years ago, some of the drafting staff became, over several years, sysadmins. Their job was to make maps. And they made maps with paper and pen. Then with CAD terminals running off a VAX. Then with CAD terminals running off a Intergraph UNIX server. Then with CAD UNIX workstations. Then with Windows NT workstations, but now running far more UNIX boxes than ever: file servers, plot servers, database servers (the maps were now stored in Oracle in a GIS). So they had to become database administrators, too. But they did all this in service of making maps. Specialization by product - and learn any technology you need to, to do it.

    Developers used to be holistic, which is almost synonymous with "craftsman", and in turn with "slow production". They learned Assembler or FORTRAN or C or whatever, as long as it got their app out. They became a (minor) expert in whatever OS these tools were provided on. Now, prescriptive technology has become dominant in IT, with specialization by task: database admins, server admins, web server admins, and various layers and kinds of developers. Prescriptive technologies' endpoint is the Henry Ford assembly line: able to produce products far faster, and with tighter quality controls than all but the finest craftsmen, but less flexibly. (Which is usually bad in early stages of invention and development!)

    Teamwork means a coordination problem and only selfless teamwork - from everybody, admins and SAs and programmers all, can minimize the coordination inefficiencies. (see: Fred Brooks "The Mythical Man-Month", written when mainframe programming had become highly prescriptive - PCs and client/server programming broke up that model for a while, but now it's taken over the new technology as well!)

    I, personally, doubt that as much prescriptive technology as most organizations develop is really needed in development - one poster wrote of being "more like engineering". Well, I'm an engineer as well as an IT guy, and I would remind him of various "skunk works" approaches to physical engineering: shops where the engineers are king, managers are kept in place, creativity runs free, iterative developement is rapid. (Results of that work are developed by NON-skunk-works, more prescriptive, engineering departments into final products.)

    Similarly, I'd advocate most development go in two stages. Brooks again: "Plan to write it twice - you will anyway". The first draft of an app should come out of a "skunk works" where developers control their own servers, network, and software toolset. That prototype can go through the "administrator mill" of more tested, more documented, more approved-products-only process.

    And the sniping about "you aren't the one blamed when it dies at 3AM" can be approached by bringing a more "holistic" attitude to the development team. Make the DEVELOPER responsible for the app, not the administrator. Page HIM at 3AM. You'll find he is suddenly much more eager to work with the administrators to be sure the app works as well on the Official Production Server as it did in the skunk works.

  51. Good points.. but by computerjunkie123 · · Score: 2, Insightful

    This article contains some truths but I think assigns blame incorrectly. The admins are "just doing their job." They were put in these micromanagment roles by the "powers that be." Part of the draconian procedures for backups, roaming profiles, antivirus, etc., are a direct result of using Microsoft products. The sysadmins MUST act this way to protect a shoddy infrastructure. Lastly, the comment about a developer needing specific rights to install software may apply to the author but this is not a universal truth. I worked as lead tech on a development project and was astonished to learn that a lot of programmers know dick about how to actually use a computer. The author accurately targets the symptoms but misses the root cause.

  52. Why Admins are Firm: Dump and Run Deveopers by Proudrooster · · Score: 4, Insightful

    Developers whine about not being able to willy nilly install anything tools they desire, code in the "cool" language of the week, or drag in any middle ware which is fun for them to playwith i.e. (Tomcat, Jaguar).

    The developers then work on their little projects, get them finished, and DUMP IT ON THE ADMINS and RUN AWAY (off to the next exciting project). Yes, the developers are typically able to coble together their cool Java Beans J2EE to .NET using CORBA, XML and exotic middleware, however they don't understand it, nor do they have any desire to feed and care for it. This results in yet another orphaned system that will probably need to be rewritten in just a few years since there will be no one around to understand it. However, nowadays it looks like the next re-write will take place in India.

    Unfortunatly, for the sake of the users and the corporation, the Admin ocassionly has to say, "No". Believe me, I'd like to let everyone install EVERYTHING and play all day and all night. Innovation, innovation, innovation to the extreme. And that security stuff, who needs it. Just turn off all that annoying ActiveX security for the ease of development. We wouldn't want to slow anybody down. Also, disable all the Java security and let applets connect to and from anywhere. Ditch it all, after all the world is a safe place. There aren't any bad people out there creating hostile ActiveX and Java applications, plus the firewall and virus checker will save us, right?

    Systems must function for the sake of the customer and the customer's business. For this to happens, there must exist a well understood development framework and compotent people to manage and maitain the framework. Without this, you are in the wild-wild west of systems and are heading for the land of perpetual system rewrites

    I am an ex-developer admin so I work with my developers to help them logically design their applications and database objects. I even tune their SQL, but I resist letting them go off in "cool" direction of the week, just so they can add a new line to their resume and dump yet another one-off application on me which is guaranteed to misbehave and be nearly impossible to upgrade.

  53. bah! by CAIMLAS · · Score: 2, Insightful

    Everything this guy has to say is invalidated by the fact that he runs a company that offers full-fledged consulting services to - you guessed it - other companies!

    This is like a Ford exec writing about how Chevy sucks. Taken with a grain of salt, it is.

    --
    ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
  54. What a hatchett job... by adam872 · · Score: 3, Insightful

    It sounds like this guy has had some bad experiences and therefore infers that it is the case for all of IT. I must say I'm a bit a affronted by his sweeping generalisation that IT admin is out of control.

    I currently look after a team about 100 developers, testers and technical writers. The situation I walked into was one where each software group had control over hardware budgets, admin, the whole shooting match. Needless to say it was an absolute mess. Permissions were all over the place, NFS and Oracle servers haphazardly brought up, no fault tolerance, poor performance and reliability, the list goes on. I took the approach that my job was to help these folks get software products out the door as efficiently as possible. With that in mind, I sought to make sense of the environment and let the developers write code and the testers test it. They still had some control over day to day stuff, but I manage their total infrastructure for them.

    This involved retiring unneeded systems, consolidating storage and servers, upgrading some machines, implementing some proper change management, auditing, performance monitoring, backups, standard system images etc etc. We are not there yet, but needless to say that there has been a significant improvement in the last six months. The coders seem to be happier and the infrastructure is more stable. That sounds like a win-win situation to me.

    I think the key for any admin is to make a partnership with your users, understand their needs and address their pain. I agree that some admins rule with an iron fist and have users cowering in their presence. This is counterproductive. But so is having no admin staff in a development centre. If the chance arose, I would actually like to work with the author of this article and perhaps help ease some of that pain :) I deal with folks like him in my work at the moment and I think it gets down to having them trust that you know what you're doing and getting out of their way.

  55. Admins, Users, Developers, and CxOs by teqo · · Score: 2, Informative
    As a sysadmin and partial developer, I have come across a number of different species: Compentent co-sysadmin and incompetent ones, and incompetent ones that behave like the infamous BOfH. But I also met completely ignorant developers who do not have the slightest clue about system security, stability, maintainable software, and for the worst, collaboration with coworkers and responsible behavior in a systems environment. I don't want to see them manage the systems, either, dealing with their software on the systems operated by me is often depressing enough.

    Yes, there is absolutely no need to be semifascist when it comes to systems control if you have people, including developers, using resources responsibly. But for admins, believing in the Good User/Developer(tm) that always knows how to behave is a daydream. There are both kinds of developers, nice and competent and dorks, too, and you don't want the dorks to harm the often business-critical servers you are in charge of.

    Moreover, blaming the sysadmin for systems being overloaded by too long backups is easy, having the cheap management to invest in more capable gear might be not so easy, from my experiences. That oh-so-badly managed db server almost crashing under its load might work more smoothly if either the software and data design had been done more carefully, or if the CTO wouldnt have chosen the cheapest server without talking to the admins in the first place. And restrictive firewalling rules which keep the dear user or developer from using Gnutella might be seen as evil, but it might as well keep these ugly RIAA Cease&Desist letters from being sent to the CEO again....

    The article describes a developer-admin relationship that is pretty similar to a bad user-admin-relationship. Apart from dealing with villain admins, work quality and efficency can be improved significantly through communication and understand each others needs and expectations.

    And BTW, I wonder if outsourcing administration is mostly done due to bad quality of in-house admins, but rather to save money. This often reflects how poorly admin work is respected and valued through management, even the professional and good work, maybe because good admin work happens mostly behind the scenes. I know a lot of small companies that suffered badly from outsourcing administrational issues, mostly because the admin(s) who "obviously did not do so much during their work time, so we might outsource their service anyway" now were missing in the critical situations when you absolutely want a dedicated admin who knows his/her environment well.

    So much for whining on the admin side.. .)

  56. How Not to Suck As An Admin by bluestrain · · Score: 2, Insightful

    I'm currently a DBA/SysAdmin for a small shop. (7 devs/ 3 admins) I've been working here for 10 years. This are the rules I live by.

    1)Provide the best development environment you can.
    My company is not fond of buying development boxes. I see them as an absolute necessity. I scrounge hardware, software, and what ever else I can to make sure the devs have what they need.

    2) Give appropriate access.
    Dev's need root access to the development box and DBA access to the development instances. They get what they need as soon as possible, I don't get interrupted to restart Apache 10 times a day. Dev's don't get root to production machines. Processes are not run as root.

    3)The BOFH doesn't work here
    I'm a service provider to the devs, our end users, and ultimately our customers. It's not a kingdom, it's a big freakin' amusement park. My job is to make sure the rides all work, the popcorn is fresh, and the soda is cold. I will install tools, modules, kernel patches or whatever else you need. All I ask is that you test the heck out of it before you ask me to put it in production.

    4)Commumicate and Collaborate

    Tell everyone what you've done with performance tuning and why. Explain why you've had to freeze database changes. Tell them why you had to disable port xxx. Ask the devs for help with those nifty widgets to read the database system tables. Send them the SQL performance tuning tips you find so the SQL can be done right the first time. Look for ways to make the devs life easier. It will make your life easier, too.

    5) Stay Professional

    Projects get delayed. Things break. Tempers flare. Keep your cool at all times. (I have a very hard time with this, BTW) Do not add to the problem. If you screw up, admit it, and fix it. Now. If you find a dev's mistake, handle it in a diplomatic and low key way. Nothing sucks worse than an us vs. them IT department.

    Blue

    --
    My wife is like Unix. Lots of commands. Lots of arguments.
  57. Re:no http server on port 80? by EJB · · Score: 2, Insightful

    Yeah, as if that is secure. Think about it:

    - anyone who wants to do harm is capable of running the service (whatever service, not just https) on port 443 on some box
    - but your normal user/developer/etc (especially consultants connecting to their own office) who need SSH, imap, etc. access can't do so.

    So you're only reducing the functionality of the network while adding no security. You're probably costing the company thousands of dollars a year because consultants who are paid by the hour can't access the materials they need to do their job quickly.

    - Erwin

  58. I'm not a coder, but.... by divisionbyzero · · Score: 2, Insightful

    this article clearly suffers from myopia. If the only thing that mattered to a business were coding then the author might have a point, but it's not. It's running a business. To run a business more is required than the production of code (e.g. security, reliability, relevance, etc). The trick to running a company is not producing code. It is getting everyone to go in the same direction, the direction of producing products that people will buy. Often it seems that some people that are clever at producing code think that their cleverness extends outside of their field. It doesn't, necessarily. Get over it.

    Yes, administrators can cause a hit to productivity (good ones can actually help productivity), but there are other gains to be had. And any person responsible for planning software development should of course take that into account.

    Yes, there are also a lot of administrators who don't know their ass from their elbow, but that is a function of the person not the position. Administrative overhead should be kept to a minimum, of course, but administration is a key component to developing a stable, scalable, mature company.

    This article is little more than a libertarian fantasy that just demonstrates why coders need to have administrators (and supervision). It sounds like coders are looking for someone to blame for the whole offshore fiasco. The offshore fiasco is in part due to coders' over-aggrandized opinion of their ability and place in a company as well as the obscene greed of CxOs and shareholders. There are two sides of the issue.

    The bottom line is that if coders want to produce code unconstrained by any external source, then they should do it from home on their own time for open source projects or their own projects, but if they want to have a job at a successful business, then they should grow up, increase the scope of their perspective, and learn to play well with others.

    Please note, these observations only apply to coders that believe what was written in this article. I have had the privelege of working with many talented, mature, and highly productive coders. I hope they are the norm rather than exception.

  59. I just had to chime in here. by t0qer · · Score: 2, Insightful

    The author of the article is right on some points, especially the "admin does what they have to too keep their job" point.

    Politically speaking, being a sysadmin is like riding a k-mart skateboard in the middle double lines of the road with traffic buzzing back and forth both ways. You have to deal with everyone in the organization from shipping to the executive board and insulting the wrong person, even unintentionally could cost you your job. It's more than just a tech job, it's a lesson in both diplomacy and technology.

    Developers on the other hand just have to deal with their project managers. They don't have to come into work in the IT persons uniform (polo shirt, jeans, pager, cell phone) They don't have to be the "first ones" in the office at 7:00am because the CEO is a workaholic. On the same note they are usually the last ones to leave, because someone absolutely positively needed something done "ASAP" although the trouble ticket was submitted at the end of the day.

    I've worked with nice devs that were smart and understood what my job entailed. I've also worked with devs that were just so arrogant and annoying that it made me grow a grey hair or two. Either way they were always treated better than us corporate whipping boy gophers IT helpdesk people. I don't think the author has any place to bitch.

  60. Before and After by axafg00b · · Score: 5, Insightful

    I've seen both the best and the worst of having admins involved, and in not having them involved. About three years ago, my firm rolled out a web-based customer service app. My comrades in UNIX, NT and my network team were only told that they needed to provide servers and connections, not that there was a major application rollout. The first day the app was in use, I had the operations VP screaming in my ear that his agents at our remote site were unable to work because the app was so slow. We found that, because of the undocumented and untested requirements of the new application, the WAN usage at our remote sites went from under 200k to maxing out two T1 circuits. It took two years to finally get that situation stabilized by increasing our bandwidth several times over (increasing our costs) and spending several man-years to correct the application.

    After a change at the CIO level, we now have multidisciplinary teams - programmers, admins, DBA's - working together to prevent such expensive oversights. The problem with the article is that it romanticizes the past. How many of us have had to live through DOS programs whose programmer assumed their program was the only one running? Today, more than in the past, we cannot afford to have walls built between the various groups in IT. The costs of failure are too great.

    --
    I think, therefore I am - Rene Descartes; I yam what I yam, an' that's what I yam - Popeye
  61. 3 is the worst number by charnov · · Score: 2, Interesting

    Actually in group dynamics, three is the worst number as in most situations the two stronger will always gang up on the third. Larger groups of 5 to 7 work well with a creative goal. This is why special ops teams are the size they are.

    --
    [RIAA] says its concern is artists. That's true, in just the sense that a cattle rancher is concerned about its cattle.
  62. democracy is intentionally bad process by Heisenbug · · Score: 2, Insightful

    "I find it a bit ironic that Western culture embraces democracy and distribution of control (in theory), but tends to use an autocratic structure when things are critical."

    From my 7th grade history class -- what we've got here in America is a system of checks and balances. For example, the House, the Senate, the President, and the Supreme Court each get a chance to cancel any bill becoming law. Only if all four of them approve will it stay in the books. Any sane manager would look at this system and say, hey, you've made it impossible to get anything done -- and that, of course, is exactly the point. We give governments power over us is dangerous to give to anyone, and that power should be damn hard to use.

    Once the decision is made, though, it should be carried out effeciently, and that bit is done by normal chain of command, not committee. What you're pointing out isn't irony. It's the right tool for the right job.

  63. Re:no http server on port 80? by joto · · Score: 4, Insightful
    Yeah, as if that is secure. Think about it:

    But that's exactly the point. Developers should have their own little playground to play in, where security should not be the primary focus. If you are concerned about security, make the computers in the development lab join a private network that is separate from the company lan.

    Then everybody will be happy. You won't get calls from developers who are more than happy to fix their own troubles. Developers won't have to deal with you. So, what's the problem?

    Oh, you mean you do development work on production boxes? Well, shame on you. How much is a nice development box these days?

  64. Hmm.. Nice rant. by MROD · · Score: 2, Interesting

    The article's author lost all credibility for me when he discussed how he lost 2 weeks of important development code when the wrong *ROAMING PROFILE* was deleted and wasn't backed up.

    This person was relying upon Windows' flaky desktop look and feel saving software to copy his project onto the server. If that's not stupidity, I'm not sure what is. Not only would it be a highly risky strategy but it would mean that everytime he logged out or logged in all that data would have to be copied to/from the server. What's wrong with holding all the data on a network disk?

    I'm sorry, although some of the poor management practices and borderline admins have been highlighted in this article it also shows why the author shouldn't be the one slinging mud. He's as much to blame for the situation as those he is ranting about.

    From the remarks at the beginning of the peice, it is obvious that this developer grew up hacking code on non-networked PC's fully under his control and he enjoyed its freedom. However, when you're using a complex, interdependent networked system, one rogue program can cause havoc, be it imported or internally generated. This is why there are restrictions (which can be made too restrictive by management).

    The author also shows a certain disreguard for the problems of licensing hell in which we live today. Installing one extra copy of a program you happen to use in the lab and have the CD for can land your company in a major quagmire if an auditor finds it.

    --

    Agrajag: "Oh no, not again!"
  65. Author is right on the money by Iamnoone · · Score: 5, Interesting

    Many of the posters who disagree with the author, wrap themselves in the flag of "looking after the company's interests" - well who the hell do you think the developers are working for? - they aren't just making shit up on their own - Its the managerial idiots in the company who want you to roll out "Project I Pulled Out of My Ass So I Can Feel Important # 15" and no I would give you business requirement because this project is too overdue already just back fill them from the tech spec you guys make up and oh, yeah its important you follow all the processes and work nice with the poor "we're only trying to do our job" Operations Dept. And by the way if its late or wrong (because you read my mind incorrectly) then its your ass, not anyone else's.

    He is right, admins have too much power and too little responsibility for being on the line for projects getting rolled out.

    Here are some tidbits from one of my jobs at a Fortune 100 Co:

    When I first started working at CoX there were no UNIX tools on any of the UNIX servers prod or dev. I had to compile gzip, top, wget, perl and all the other tools needed for a normal system. Why didn't they need top or ntop, because if there were problems on the system they would throw up their hands and say it was because of the developers processes and called them/us.

    The network admins would refuse to participate in troubleshooting and no one else was allowed to use the sniffers. They would also do network work including taking switches and routers down during the nightly batch processing without notifying the "developers" who then got called at 4 AM to troubleshoot why "their" overnight processing failed.

    The Oracle DBA said that it was not possible for the same query to take different lengths of time to run(at different times).

    PC admins - no FTP GUI clients were on the list of approved software since the business users didn't need that type of product. No "shareware" allowed. They were starting to talk about no "shareware" for the UNIX servers around the time I was leaving :) I think they (IT management) think that things like wget is an example of what they would term "shareware".

    The security admins ruled that the r* commands are a "security risk" [period, blanket, no appeals] and the developers were give three weeks to change all the production processes - never mind that getting approval for a change request (from the tribunal of these idiots that run the change control "process") takes longer than that and all the code needs to be changed and tested before submitting the change request (into the IIS/VB million dollar change management system that could keep even the CIA from pulling any usable information from it). You will need to be prepared to justify any and all aspects of your project before the tribunal, even though they are the ones who are forcing you to make the changes.

    The list goes on and on. My experience across many jobs (20 years) being both an admin and a developers, is that generally admins are less competent and more useless than developers. The order in terms of least knowledgeable and most "preventative":
    1. Project Managers (completely and utterly useless)
    2. Security Admin (most seem obsessed with think that make the least difference for true security - ie patching iPlanet so that it doesn't do HTTP TRACE) Their job usually also involves the slimy, salacious task of monitoring people's email and looking through http server logs for who's downloading porn)
    2. (tied with security) Network Admins, won't help troubleshoot; nothing is wrong with the network; I can ping that machine from this one so its not the network; no you can't have any performance data about the net/router/switches its "confidential"; no you can't have the snmp password for the machines that you end up having to support because all the admins are useless, its "confidential"; no you can't use the sniffer, but its not the network so you don't need the sniffer anyway;
    3. DBAs (The

  66. Too many people in IT for the money by Stone316 · · Score: 2, Interesting
    Back when I was in university people joined Computer Science because they were genuinely interested in it. Nowadays alot of people joined because they thought it was a guaranteed job. The sad part is they did history degrees first and then took a 6 months IT diploma program at some rinky dink school.

    Maybe its just me, but you can definitely tell who when to university and took a CS degree vs McIT schools. So now we have a market flooded with people who don't really have a clue and the sad part is management either doesn't care less or doesn't have a clue about who they are hiring. How many really competent people do you know in IT? For most people in IT, things just haven't gell'ed yet. They know bits and pieces but they can't see the big picture.

    I joined a company a year ago and inherited a badly designed application... Its freakin pathetic and i've actually had people laugh at the design. Who designed it? Some guy who didn't have a clue, spent 2 years doing it (its not a big app) and management thinks he's better than sliced bread.

    I'll admit it, i'm a DBA but I don't act like whats described in the document. Developers have what we like to call a *cough* development environment. Maybe he's heard of it? Its where developers have free reign.

    Now production environments are entirely different.. We have to have tight control.. why? Ask a DBA how many times he's been called to recover a table before a developer thought he was in dev but was in prod. Ask a DBA how often he gets put on the hot seat because an application performs poorly?

    Its unfortunate but admin people are the ones that get blamed not the developers. Why? Because most times its prohibitly expensive to redesign the application and people will fight to the death before they admit a mistake. So the DBA's, network, server have to fix it.

    As a DBA i'll promise not the be a pain in the ass if you include me when designing your app. I'm pretty sure all the other admins feel the same way. Don't come crying to me after you've put some assinine application into production.

    --
    "Thanks to the remote control I have the attention span of a gerbil."
  67. Sysadmins are bastards because they must be. by Yonder+Way · · Score: 4, Insightful

    This article smacks of the typical chaos that corporate developers often bring to the table. The author bitches that IT won't give him admin rights to his PC, yet he neglects to mention when he did have them the sysadmin was having to call him frequently to explain the high amounts of bandwidth being devoured by his system after he installed Kazaa. Or how about the help desk ticket asking if there is some way to block all the pop up ads when it turns out Mr. Developer installed Gator or some other [spy|ad]ware.

    Yes, I'm a corporate bastard sysadmin. If I weren't a bastard the company would need four more of me to clean up the constant messes the developers create due to their complete lack of consideration for company resources. I'm not talking about the legitimate development work, either, but rather the pure crap that these guys do with their systems that end up introducing all sorts of malware into the internal LAN.

    Just stop your bitching, and remember you're not at home. This isn't your network. It isn't your computer. It's the company's. Try to respect that a bit more, m'kay?

  68. Six of one half a dozen of the other. by BenRussoUSA · · Score: 2, Interesting

    This article sucked. There have always been wars between "OPS" and "ENGINEERING". Both sides have valid points and both sides have some areas where they are just too stubborn to listen. What this author really missed is that MANAGEMENT IS RESPONSIBLE FOR BALANCING THIS OUT. Both OPS and Engineering are necessary. Sometimes outsourcing makes perfect sense, sometimes it is really just managers being unwilling to do their job, and more willing to use the companies money to get someone else to do it for them.

    I've worked in shops where the "GURU DEVELOPERS" were actually idiots who wrote the crappiest applications in the world, and it was the OPS and Admin groups who kept everything running. I've worked in other shops where the OPERATIONS POLICE were procedure idiots, they had change control meetings to make changes to the change control policies, and it was the devel/eng'g group that kept picking up the pieces and keepingn things running behind the scene.

    Team building excercises have helped these situations in some companies I've worked at. Really, I know it is a buzzword, but I'm not talking about anything new-age, just getting everyone to go bowling once a month, or to play pool together. The company should spend the money to send people out of the office on PAID BUSINESS HOUR activities that are not work related. Let people get social and they will communicate better. When people realize that the folks on the other side of the fence are usually just as devoted to getting real work goals achieved, but that they are just seeing it all from a different perspective. It is really dificult because of ego's and stress and pride, and a lot of times people on the opposite sides of these fences have real disagreements, sometimes it takes a knowledgeable manager or director to listen to both sides, ask questions and make a decision.

    The author really clued me in with his consistently disparaging remarks about management. If you really have no trust/respect in the leaders at your organization, you need to find a new job.

  69. What the real problem is... by Anonymous Coward · · Score: 2, Insightful

    The real problem is the breakdown of team work between the various admins and the developers!

    This guy is venting one-sided only! Reality Check -> Developers don't know jack about SysAdmin nor DBA duties, nor the bigger picture!

    I'm a SysAdmin and I've seen it all! I just cleaned 253 spyware packages off a 'developers' laptop. Developers have admin rights but they are always breaking their systems! Last month, we caught a consultant with the MS-SQL Slammer worm on his laptop. The laptop was not a company laptop but the developers personally owned laptop! That's a big time no-no to connect uncontrolled computers to the enterprise network. The consultant was fired on the spot because he brought down numerous production MS-SQL servers. All because he wouldn't play by the rules. Now we have MAC address checks before an IP address is doled out. Took months to collect all the appliances MAC addresses. (yeah they should have been patched but the worm would not have been introduced normally either).

    Granted, the developers sometimes have problems, such as a non-production server going down (dev or QA) and it's used for source code control. This means they can't work, but then they report it to the help desk at 6:45pm on a Friday and the help desk cannot open a priority ticket for a non-production system. A priority ticket pages the world and kicks in emergency restoration managers and various conference calls. After this happened a couple of times, it came down to communication!

    i.e. we hold daily outage meetings and weekly meetings where those responsible for various systems have to attend if their system was down. Root Cause is determined at these meetings as well as procedure refinement.

    So the developers were told they needed to have a seperate source control server which they needed to purchase for their department. Then it was assigned a priority support level which they again had to pay for.

    Yeah, the money is funny money, it's all budget dollars. But you can't ask the SysAdmins who pull 60 hour work weeks without extra pay and they are on call all the time to work for nothing. This money goes into keeping them trained and paying for days off after a big outage.

    Frankly it goes like this:

    Production Server (financial transactions) - QA Server (duplicate of ProdSrv for testing) - Dev Server (Latest wiz-bang code testing). - Source Code Control Server (some ability to run as a backup to the Dev Server)

    Change control prevents any code from going into production without proper red tape paper work and lab testing. It's your ass if you rollout a big system riddled with bugs into production. The change control process may be a pain but it will save your butt.

    The production servers go down and literally hundreds of users performing financial transactions can no longer do their job. Within an hour of down time, millions of dollars could be lost!

    QA or Dev server goes down? After Hours? Nobody cares except for the QA developers. It will be fixed during normal business hours the next working day.

    Source Control server goes down? After Hours? Well it was decided that was important because developers work long hours and under tight schedules. So therefore, these boxen are given priority as it directly impacts the development teams productivity. BUT THEY PAY FOR IT! IT'S NOT FREE!

    Whole seperate lab setup with isolated network for testing. It's easy and convienant for developers to get into the lab. They just need to schedule time.

    Yeah it sucks for everyone. The developers hate the red tape and the sysadmins. The sysadmins hate the developers, the engineers hate the users, the users hate the help desk. Everyone hates the consultants and the entire idea of outsourcing. So we end up shooting ourselves and IBM comes in and half the staff is let go. Part of the reason for the outsourcing is due to enterprise management being unable to get change happening fast enough! (several mergers of compan

  70. we need more Generalists by truth_revealed · · Score: 2, Insightful

    Thank you for an absolutely brilliant post.

    Specialists can only exist because of the foundation laid down by generalists. Sadly, corporations do not see this obvious truth and value people with only very narrow skillsets because they are able to assign a title to them.
    How many individuals can completely design, implement, test, install and manage complete end to end systems spanning desktop GUI, web, database and distributed servers these days? Not many. And the specialists will continue to drive these resourceful people out of organizations due to self-interest.

    However, these same companies will soon begin to wonder why projects are not elvolving at the rapid pace they did in the "old days". They will just assume that they need to hire more specialists, and the problem cycle begins again. A top-heavy organization like this cannot be salvaged.

    Do not confuse the term "generalist" with the much overhyped term "architect". An architect is a person who is simply all talk and cannot do what they say. A generalist can perform all the functions of an architect and can back up what they say with action. Generalists are the people that actually get the job done.

    1. Re:we need more Generalists by codename_par · · Score: 2, Insightful

      From my experience:

      1 - Projects need 'Managers' and managers should be 'Generalists' so that they can see the whole picture and coordinate the 'specialists'!

      2 - The problem is that you can only be a 'Generalist' and a 'Good Manager' if you make a carrer from developmento to management. But the companies usualy hire managers that don't have real development experience instead of promoting developpers inside the company.

      3 - Everyone this days (including me when i was in the same situation) wants to make a carrer in 5 years! Every time you are real productive you move up, and need to learn new skills, then you are never really productive for more that 6 months every 2 years.

      4 - It can happen that you move ??up?? until you reach your level of incopetence and can't get promoted any longer :-) but this could lead the conversation to FLAMES.

  71. Re:Declare independance, but be smart about it by sjames · · Score: 2, Insightful

    The big failure there was that it was politically impossible to tell the admins about the development network. Has it been possible, the admins could have set up a firewall and probably intrusian detection to keep any problems localized.

    The failure was in not recognizing the need for a developer's network in the first place. More generally, in failing to meet the needs of that department to the point where they met it themselves by stealth.

  72. "Specialization is for Ants" - Robert Anton Wilson by lovedub · · Score: 2, Insightful

    The breakdown of computing jobs into more and more specialized professions is leading all of us into a devolutionary trap. One person doesn't know how to do everything anymore, everybody knows how to do one thing really well. The industry changes so fast that something you specialize in now may not exist in a year's time, and then where will you be? In the animal kingdom, creatures that specialize into specific roles must band together or they perish. Evolution doesn't encourage specialization.