Slashdot Mirror


How 'DevOps' Is Killing the Developer

An anonymous reader writes "Python guru Jeff Knupp writes about his frustration with the so-called 'DevOps' movement, an effort to blend development jobs with operations positions. It's an artifact of startup culture, and while it might make sense when you only have a few employees and a focus on simply getting it running rather than getting it running right, Knupp feels it has no place in bigger, more established companies. He says, 'Somewhere along the way, however, we tricked ourselves into thinking that because, at any one time, a start-up developer had to take on different roles he or she should actually be all those things at once. If such people even existed, "full-stack" developers still wouldn't be used as they should. Rather than temporarily taking on a single role for a short period of time, then transitioning into the next role, they are meant to be performing all the roles, all the time. And here's what really sucks: most good developers can almost pull this off.' Knupp adds, 'The effect of all of this is to destroy the role of "developer" and replace it with a sort of "technology utility-player". Every developer I know got into programming because they actually enjoyed doing it (at one point). You do a disservice to everyone involved when you force your brightest people to take on additional roles.'"

226 comments

  1. whine by phantomfive · · Score: 4, Insightful

    Python guru Jeff Knupp should go find a job where he can program, and not worry about ops. Simple solution.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:whine by Anonymous Coward · · Score: 5, Insightful

      100% inclined to agree. DevOps is not really about your best and brightest pure programmers, but taking all of your jack-of-all-trades guys who specialize in "making shit work" and allowing them to keep things working.

    2. Re:whine by Ice+Station+Zebra · · Score: 5, Insightful

      You forget about the ops part of devops. A lot of ops people need to be made to care about what is running on the boxes they are supporting. By knowing more about what is going on it can help then priortize the work which they are most experienced at, along with helping the "brightest pure programmers" understand why the cool solution they developed is a POS in production.

    3. Re:whine by Anonymous Coward · · Score: 0

      except for every programmer job there are 50 devops jobs

      because its all getting turned into glue

    4. Re:whine by mlts · · Score: 4, Insightful

      I have seen some companies have their developers given autonomy, with their own DevOps, mainly because it allows for what is needed to get granted. New subnet for lab testing? It is a lot easier to get a DevOp guy to configure the VLAN for it than to submit a ticket to a different organization that isn't connected at all, nor knows what needs done.

      Of all the organizations in a company, dev needs the loosest reins (while still keeping separation so that the loosened policies don't allow for a security breach to compromise other departments.) The other department that needs autonomy is QA, because $DEITY knows what needs to be tested against.

      So, having an autonomous DevOps means that the dedicated programmers have people that know what they want/need, and have the ability to get that.

      In my experience, this does seem to work and work well in SMBs that are not just hiring H-1Bs or offshoring their entire dev department in toto. Larger companies, depending on corporate culture, not so much. Dev and QA should be autonomous. They have to be because that is where things get invented and bugs get squashed.

    5. Re:whine by Penguinisto · · Score: 4, Insightful

      100% inclined to agree. DevOps is not really about your best and brightest pure programmers, but taking all of your jack-of-all-trades guys who specialize in "making shit work" and allowing them to keep things working.

      This, right here. I inherited the DevOps job title, even though it is exactly what I've been doing for years now. I can go in, find a problem, test a simple fix, turn QA loose on that fix, and even with change management, I can have it implemented far faster than the devs, who might fit it into their next sprint if you're lucky. They naturally get informed and fit a more elegant solution in for the next release (and sometimes they leave my fix checked-in just as it is).

      Meanwhile, while yeah in a start-up company the developer(s) had to play sysadmin too, all-too-often they don't really know much beyond the basics, and so you really don't want one, say, tweaking HugePages in sysctl.conf, or planning SAN or VM Farm expansion for the next web project, or lots of other things. Similarly, I refuse to dig any deeper in code beyond the simply Python tweak or the obvious fix/workaround, since I only know enough to be dangerous when it comes to all of the dependency chains, not to mention all of the subtle gotchas in all of the codebases I work with (why? Because while a given developer may only need to dork around with (or even just only a part of) one codebase, I have to wrangle multiple projects - time demands that I prioritize what I know about them all).

      It bears a lot of responsibility - you have to know what the frig you're doing, because downtime==money, and stakeholders will have none of it. On the flip-side, you're given a lot of leeway when it comes to what you're allowed to do in order to keep the uptime flowing. For instance, I get priority, where I can call up a network admin, security admin, or whoever I need to put through a change as soon as safely possible. I can order-up (within reason) whatever CapEx I need to build up for the next release, project, or what-have-you. Of course, you have to justify what you do, and if you do something stupid it's your nuts on the chopping block, but overall it balances out.

      IMHO (and little else), I've seen a lot of sysadmins able to step up to the DevOps plate, but very few developers that would be willing, let alone capable (most that I know prefer to write code, and not get their hands dirty with the business of playing server-monkey or wire-monkey.)

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    6. Re:whine by agileinfoways.com · · Score: 1

      Python guru Jeff Knupp should go find a job where he can program, and not worry about ops. Simple solution.

      I think today many different forces are placing new demands on change and release management, which are stretching traditionally organized teams in a myriad of ways. There is pressure from the development team to reduce controls around code moving from development to unit testing, to user testing, to system testing, to staging. And there is pressure from the business side of the organization to reduce cycle times to keep pace with competitors. In addition, business is making demands around governance and auditing, asking for greater visibility, accountability and traceability.

    7. Re:whine by mwvdlee · · Score: 4, Interesting

      DevOps is all about creating dangerous conflicts of interrest.
      DevOps may be acceptable in a startup where there simply aren't enough people to separate the roles.
      As soon as there are enough people, the roles should be separated.

      A devops guy is basically judge, jury and executioner of his own work; it's destined to fail.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    8. Re:whine by phantomfive · · Score: 1

      Yeah, I remember the good old days, when there weren't many demands on developers, and release schedules were easy, and if you said to your boss, "can I have more time?" He said, "Sure, no problem my good friend, have a raise too!"

      --
      "First they came for the slanderers and i said nothing."
    9. Re:whine by huge · · Score: 3, Insightful

      My experience on this is that you need 'DevOps' to run the development environments but you need production ops to run, eh, production.

      DevOps people don't necessarily have good understanding of the underlying issues of the production environment. There are several issues revolving around this: Security, availability, scalability, etc. As an example is dev who can secure the application but not the platform (database, web servers and so on).

      Good handovers between the two are the key for success. If 'DevOps' changes the development environment in a significant way this needs to be taken into account when moving the version to production. Oh, you upgraded the database in development environment? I guess that explains why RTP failed and we had to roll back.

      Some changes may be very simple to do in development environment, while difficult in production environment. Need some extra disk and upgrade your database backend? Sure, just get it done in the development environment but there may some issues when doing that in production environment; you may need unacceptable amount of downtime, etc...

      --
      -- Reality checks don't bounce.
    10. Re:whine by mikael · · Score: 1

      That's one thing - any single item task is going to be broken down into sub-tasks and assigned to different people if not groups accordingly. And then those tasks may not be completed in sequential order. Then there's going to be one crunch-time for everyone when the last task is complete and things don't work. So it's a really nice thing if they can get one knows-everything-about-everything guru to complete that job.

      --
      Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
    11. Re:whine by nukem996 · · Score: 1

      The problem is being a developer and running an infrastruture are both full time jobs. When you ask developers to run their own infrastructure things get neglected. When things get neglected things eventually break and they break bad. I've seen this happen when development should be focused on customer facing issues.

    12. Re:whine by gbjbaanb · · Score: 2

      Yeah, I remember the good old days, when there weren't many demands on developers, and release schedules were easy, and if you said to your boss, "can I have more time?" He said, "Sure, no problem my good friend, have a raise too!"

      hey, I still work as a government contractor, you insensitive clod!

    13. Re:whine by turbidostato · · Score: 2

      "DevOps people don't necessarily have good understanding of the underlying issues of the production environment."

      You should train them better, then.

      Because the point of "devops" is exactly so they understand the underlying issues of the production environment.

    14. Re:whine by bickerdyke · · Score: 5, Interesting

      DevOps is all about creating dangerous conflicts of interrest.

      No.

      And I'd even go so far to say that we need MORE conflicts of interests.

      A software company is full of conflicts if interrests. You have the sharholders who want money, sales who care about release dates, customers who request a feature, devs who know that that feature will have unpleaseant side-effects that the same users would not accept and so on.

      "Resolve" those "conflicts" by completly seperating them into different roles, and you have a company where departments will fight each other to the bone and management will be busy with conflict resolution instead of actual work.

      You need to have people inbetween those branches who know how to make them work together.

      --
      bickerdyke
    15. Re:whine by Chrisq · · Score: 1

      100% inclined to agree. DevOps is not really about your best and brightest pure programmers, but taking all of your jack-of-all-trades guys who specialize in "making shit work" and allowing them to keep things working.

      There is a conflict in the role of a DevOp though that you need to understand. In the Dev role you will be working on a project and to a deadline, and will just want to make "ad hoc" changes as needed for your application to work. As an Op role you have to say "hold on, lets make sure all those system tweeks have no other impact, apply them via reproducible deployment scripts, and maybe go back and take another look at your hooks into the alerting/monitoring system". As long as you and your boss understand that everything is fine - if not more and more of your time will end up firefighting in the "ops" role.

    16. Re:whine by Anonymous Coward · · Score: 0

      may be he should be more concerned with making a language that doesn't use fucking space's as part of it's syntax.

      Which fucking idiot thought that was a good idea.

    17. Re:whine by putaro · · Score: 1

      This is a good point. There are times and places where adversarial relationships are good. Just bringing different viewpoints in is good.

    18. Re:whine by mwvdlee · · Score: 1

      Developer "D" is paid to create software; he must get code in production to get good reviews and keep his job.
      Operator "O" is paid to keep the production stable; he must keep unfit code out of production to get good reviews and keep his job.

      These two roles work well with conflicts; D quickly creates code, O says "no go", D improves code, O accepts code. D gets a bad review but the company is okay.

      When combined in a single person D+O quickly creates code, knows he should say "no go" but als knows he'll get bad reviews if he does. D+O knows it might go wrong, but decides a risk of a bad review is better than an absolute certainty. D+O may make a few minor tweaks to the code that still fit within the deadline but after that it's released.

      The trouble is that individually, both the developer and the operator can make good choices from their own perspective. Working together, they're able to make the choice that's best for the company. As a combined role, the DevOp cannot make any good choices because there are no choices that fit both of his perspectives at once. Instead, the DevOp will choose at random at best.

      Obviously, the world isn't that binary, but these situations do happen.

      FWIW, I have a DevOp role in real life. I'll be very glad to get rid of one of the roles as soon as we can hire additional personel because I'm damn well aware that I have to make these bad choices. As a developer I'm the worst judge of my own code, yet as an operator I'm the only judge standing between the production environment. If you think you're a good judge of your own code, you are in fact much, much worse.

      --
      Slashdot social media options: AIM, ICQ, Yahoo, Jabber and Mobile Text. Why no MySpace?
    19. Re:whine by segedunum · · Score: 1

      Errrr, they're developers. Developers don't know how to run a production environment. That's what gets on my nerves with the whole devops religion.

    20. Re:whine by segedunum · · Score: 1

      No.

      Yes. That's how we end up with shit like MongoDB in production creating race conditions that a decent sysadmin would have said "Fuck off" to in less time than it takes him to hear the word Mongo.....

    21. Re:whine by bickerdyke · · Score: 1

      Not untrue, but in your counterexample you've compared the workload (and review quality) that can be handled by 2 people (D and O) with a single person (D&O).

      A review from another D&O could be required as easily for production code as an O's review for D's code.

      If you're trying to replace a D and an O with a single D&O, you're doing something wrong anyway.

      But on the other hand, in your model performance and stability are solely part of O's business. But D has to be aware of those issues if you want him to code with them in mind. and they WILL be on the mind of a D&O

      --
      bickerdyke
    22. Re:whine by Vanders · · Score: 2

      Developers don't know how to run a production environment.

      Yes. That's the problem that DevOps attempts to solve. You're supposed to have both "Developers who do Ops" and "Ops guys who develop" in one team to do "DevOps".

      If you're working in a place that's done "We'll just get the developers to do Operations" then they're doing it wrong.

    23. Re:whine by Anonymous Coward · · Score: 5, Insightful

      No, the point of "devops" is getting your employees to do two jobs.

    24. Re:whine by Raenex · · Score: 3, Insightful

      helping the "brightest pure programmers" understand why the cool solution they developed is a POS in production

      Absolutely. I was in a startup as a dev, and by necessity we were the operations guys early on. It was a financial service that needed to be running 24/7, and having to deal with "oh shit" moments while under the gun instilled the importance of writing software that was built for reliability, graceful failures, recovery, and error reporting.

      None of this "brogrammer" shit or programmer "cowboys" or any of that other nonsense.

    25. Re:whine by tylikcat · · Score: 2

      One of my old jobs was managing this transition, with a lot of performance analysis, reliability, scability and disaster failover / recovery work as part of it. At least in that environment, the majority of devlopers I worked with were highly unreliable wrt these issues. (And I successfully pushed for getting involved with the projects earlier - and to have access to the test resources associated with the development teams so that my folks weren't totally overwhelmed or bogged down with scut work - so that more of these concerns were being addressed earlier in the dev cycle.) Yeah, sure, they could get their code to run beautifully in under simulated load on their own machines, but they had little understanding of how their hothouse flower systems on a box differed from a production environment and how to do failure analysis, etc. etc. And yes, some of this is a matter of education, hence getting involved earlier and maintaining a liaison to work with the dev teams - but some of it is just a different mindset.

      It was always pretty hard to find people who had the right combination of skills to be part of my group.

    26. Re:whine by Anonymous Coward · · Score: 0

      "they're developers. Developers don't know how to run a production environment."

      And that's what needs to change because they not only don't know how to run a production environment but they don't know how to develop something to be fitted into one.

    27. Re:whine by trawg · · Score: 1

      IMHO (and little else), I've seen a lot of sysadmins able to step up to the DevOps plate, but very few developers that would be willing, let alone capable (most that I know prefer to write code, and not get their hands dirty with the business of playing server-monkey or wire-monkey.)

      In our company it's almost the opposite - we have only three operations staff but 12 developers. Just by virtue of the fact we have more developers they have a wide range of experience doing some operational tasks, just for their own projects.

    28. Re:whine by jtmach · · Score: 1

      The issue with this in my experience (granted I've programmed exclusively for a single large company) is that Ops has no idea if the code needs to be reworked or not. They don't do the testing. Just make sure Prod is stable. They make Dev's fill out a bunch of paperwork so that they can claim it's not their fault when Prod crashes then they push whatever crap fell out of my fingers onto the box.

    29. Re:whine by butalearner · · Score: 2

      You're supposed to have both "Developers who do Ops" and "Ops guys who develop" in one team to do "DevOps".

      If you're working in a place that's done "We'll just get the developers to do Operations" then they're doing it wrong.

      I just started a new position where they had just figured this out and split the team into two. A couple of our developers trend toward the surly, and they would get a bit short with our customers (who are internal customers, but customers nonetheless) when interrupted. Which totally makes sense, by the way, because it kills productivity, but it was causing issues on all sides. Now we have this separation and process where our customers no longer contact us directly but fill out a quick report that automatically contacts the newly-formed ops team. We don't have to bother the developers except in extreme cases, and the folks who specialize in troubleshooting handle almost every issue. And even though I joined the ops team, but I still squash bugs and add minor features so the dev team can focus on the big stuff. This literally just happened in the past few months, but the improvement in our metrics for the most recent release was pretty impressive.

    30. Re:whine by sycodon · · Score: 1

      So keeping things running, making shit work, keeping the company functioning is a bad thing?

      prima donna
      noun \pri-m-dä-n, pr-\

      : a person who thinks she or he is better than everyone else and who does not work well as part of a team or group

      --
      When Fascism comes to America, it will call itself Anti-Fascism, and tell you to give up your guns.
    31. Re:whine by the_arrow · · Score: 1

      You're supposed to have both "Developers who do Ops" and "Ops guys who develop" in one team to do "DevOps"

      Si the idea is to take good (hopefully) programmers and make then into mediocre (at best) operation guys, and take the operation guys and make them into mediocre (at best) developers?

      Somehow that doesn't really sound like a good idea to me. Wouldn't it be better if you have good developers doing development, and good operation guys doing operation stuff?

      I don't know about operations, but we all seen what happens when mediocre developers are let loose on a code-base.

      --
      / The Arrow
      "How lovely you are. So lovely in my straightjacket..." - Nny
    32. Re:whine by RabidReindeer · · Score: 4, Insightful

      21st Century Business Logic:

      1. Multi-task. Never devote your entire attention to one task when you could be juggling 7.

      2. Run Lean. Why hire a dedicated expert developer, a dedicated sysadmin, a dedicated DBA and a dedicated network engineer? Make one person do all those things (see #1, above).

      3. Run 100% and demand 110. Who needs expansion room for when things inevitably go pear-shaped? Which Murphy guarantees even when you don't tempt him with #1 and #2.

      4. Run cheap. Demand maximum expertise from the lowest bidder. There's always someone in a third-world country who'd be GLAD to do items #1, #2 and #3 for pennies a day!

      5. Use easily measured things to determine employee effectiveness. Lines of Code, Time on Phone, stuff that's easily objectively measured, unlike less tangible things like customer satisfaction (what, you think we bother to ANSWER those silly surveys?), externals (like poisoning 6 downwind countries) or time to do the job right the first time. Use these as weapons to demand more of #1, #2, #3 and #4.

      6. Subscribe to overpriced buzzword-laden management fads to assist in accomplishing all of the above.

    33. Re:whine by Anonymous Coward · · Score: 0

      I know a few stellar programmers I wouldnt trust them to keep my network running though!

    34. Re:whine by Vanders · · Score: 1

      No, that isn't the idea at all. The idea is that the good developers become better developers because they gain an understanding of basic operational requirements, and the operations guys become better operations guys because they gain a better understanding of the software they're supporting.

    35. Re:whine by Anonymous Coward · · Score: 0

      Again... that's not a symptom of the DevOps "religion"...

      It's your shitty developers not caring about deployment and continuous integration and high availability.

      Simply put fuck all php developers... fuck wordpress and fuck microsoft.!

    36. Re:whine by phantomfive · · Score: 1

      if you are a developer, devops kind of sucks.

      That's not what I said. I am happy to do devops as long as it doesn't take more than like 40% of my time.

      --
      "First they came for the slanderers and i said nothing."
    37. Re:whine by Anonymous Coward · · Score: 0

      And, critically, said devs know what production needs so build their apps in a way that makes it easy for production to maintain. (For example, Dev realises that $COOL_TECH_X is fun but not worth the hassle of setting up, so dev doesn't use it. Or dev realises that their database design just won't hack it under real load. Or that the app has to be able to gracefully reconnect to a new database in event of a database failure or something like that.

      High Availablity is much easier to design in by the dev than it is for production to provide. Dev might realise a small tweak to the design means that the webserver can now be stateless, meaning H.A. becomes a simple round-robin instead of some fancy VM replication.

      Lots of things that if devs know about, they can design in, and make everyone's life easier.

    38. Re:whine by Anonymous Coward · · Score: 0

      No, the point of "devops" is getting your employees to do two jobs.

      The point of DevOps is to get the people together in cross-functional teams and have them communicate rather than have them in silos and throw stuff over the fence. The people will still be devs, QAs and ops and perform the tasks according to their background, but their mindset will change and they will be more emphatic to the others in their group.

      I have an Ops background and I now work in such a team and the entire stack(hardware, software and configuration) is in much better shape and always improving, as compared to how it was in my previous Ops-only team.

    39. Re:whine by Fastolfe · · Score: 2

      I think the idea is to *find* good people that already have interests and skills that encompass the union of the two, and supplement the "good developers doing development" and "good operation guys doing operation stuff".

      To be honest, I think a developer that has no interest in infrastructure is a developer that can't design a scalable, supportable service (you need to know how the infrastructure works in order to effectively use it). An ops person that has no interest in programming is an ops person that can't scalably support a service (who's going to build the automation and monitoring?). In my eyes a good balance is to have your "good developers doing development" supplemented with some "developers that know operations" to make sure they're designing things well. On the operations side, supplement "developers that know operations" with "operations people that know how to code" so they can work together to scale up automation, not staff, as a service grows. This is essentially how SRE works at many large tech companies.

    40. Re:whine by hoggoth · · Score: 1

      > dev needs the loosest reins (while still keeping separation so that the loosened policies don't allow for a security breach to compromise other departments.)

      Oh thank you, thank you, for using 'loose' instead of 'lose'. I think I cried a little.

      --
      - For the complete works of Shakespeare: cat /dev/random (may take some time)
  2. This role exists in any non-software business. by fractoid · · Score: 5, Insightful

    This sysadmin/scripter/system architect/DBA role exists in virtually every company that has a core business other than IT or software development. Even in a very large multinational, there's more utility in having one "Mr Wizard" in each business unit than there is in having a room full of software developers somewhere far away from the rest of the business.

    It really is a support role and it's more an outgrowth of system administration than it is saddling your brightest software guy with managing the mail server. Of course, it's possible to get stuck in that role because there's nowhere to go from there, but it's a niche that suits some people. If it doesn't suit you, then move.

    It's also a distinct role from the "do everything guy" at a startup, because at a startup everyone is multitasking and as the startup expands, new people are hired to take on some of these roles. DevOps is a role in itself.

    --
    Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    1. Re:This role exists in any non-software business. by CAIMLAS · · Score: 1

      Exactly.

      This "there is no role for devops in a mature company" attitude cries back to the age of isolated business units with isolated departmental goals, often where sales sells products that don't exist and engineering produces products nobody wants. The money to run the company will come from somewhere!

      In short, developers don't want to dogfood, because that's hard. It's much easier to not challenge yourself with divergent ideas from what you and your brainfund coworkers cook up: after all, developers made it, so it must be good.

      And yes, devops is an integral part of dogfooding. It makes sure the left hand is talking to the right, Support is able to effectively move issues laterally, operations can effectively provision IT infrastructure budgets, and Engineering can focus on the real issues that impact the product. It's called teamwork. If you can't get this part done right - at the very least, making sure your product works in an operational capacity internally - how can you expect it to be a commercially viable option out of house?

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    2. Re:This role exists in any non-software business. by Sarten-X · · Score: 2

      From TFS:

      ...it has no place in bigger, more established companies.

      I've worked at a Fortune 100 company, who was looking to add a DevOps team, because our development and our deployment teams weren't working together as smoothly as we'd have liked. The development teams didn't know anything about the hardware their (very hardware-specific) software ran on, and the hardware teams didn't know what parts of the software needed testing on new hardware.

      Of course, it's ridiculous to ask the hardware guys to be present at all of the software meetings, and vice versa. DevOps fills a role bridging the gap. Outside of IT and platform-agnostic software development, the "ops" part can be a customer-facing role. In the shelter of software development, any incompatibilities can be blamed on hardware, rather than the real underlying cause of "poor testing across platforms"

      --
      You do not have a moral or legal right to do absolutely anything you want.
    3. Re:This role exists in any non-software business. by Antique+Geekmeister · · Score: 2

      > This sysadmin/scripter/system architect/DBA

      And then they stop doing _any_ of the tasks well. They don't show up for planning. they don't document their code, because "it's self documenting" or "documentation is unrelable". They say "Just Google It" when most of what is on Google about the task is _wrong_ and written by people who aren't aware of the subtleties. They refuse to mentor, because it keeps them away from the meetings where they can soak up and interfere in _every single groups's projects_ by citing standards that are only in their head, or worse, are only in the mental image of what other people remember they said once about something else.

      One of the great pleasures of my professional life is finding these people and educating them in how _not_ to be a micro-managing block to everyone's work: it involves actually documenting the _working procedures_ for daily tasks so other people can do them. Many of them are afraid of the loss of control or possible errors, but the improvement in speed of daily procedures is enormously satisfying.

    4. Re:This role exists in any non-software business. by Penguinisto · · Score: 3, Interesting

      What sibling said... I've seen companies that refuse to have a DevOps position, but yet hire "System Engineers" that basically do the same damned thing.

      The biggest danger I've seen is in trying to silo such a position. I actually prefer having the freedom to whip up port channels on my own switchgear and having my own vlans/IPs to play with. I need free reign over an independent and complete environment for QA and dev use (so I don't have to put in a change request and then wait a week just to, say, add one IP addy to a NetApp SAN's NFS export ACL on some dark and early Sunday morning.)

      I've done this job in a siloed company environment before, and quite frankly it sucks. You sometimes spend literal weeks waiting for one stupid VM that you could have cloned off yourself in less than 10 minutes, and configured in less than five more. I remember waiting almost a month while two different IT departments argued over how they would route a simple outbound rule over multiple firewalls whose path crossed the realms of their two departments... meanwhile having the devs wait alongside with me until the parties in question got done measuring their penises and found a solution (it took a pissed-off client, and a subsequently scared VP to threaten some jobs, which finally got them to STFU and work something out).

      Devs and QA alike need someone who can quickly cut through the bullshit and red-tape, understand what it is they do (and more importantly, what they need and why they need it), and as someone aptly stated, "make shit work."

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    5. Re:This role exists in any non-software business. by Anonymous Coward · · Score: 1

      One of the dumber moves our company made for quality was splitting maintenance from development. Once the developers stopped taking level 2 calls for the shit they wrote, they had no incentive to write less shitty code. This shit's continued for 15 years.

      10 years ago we got more stupid, as the HMFIC started splitting development jobs into thinner slices, removing testing and then deployment from the development teams; and then they went off the rails stupid, splitting off tasks that don't even make sense: packaging, deployment scheduling, app security (WTF?), architecture, design (WTWTF?), and having analysts, testers, architects, engineers, coders, and PMs all reporting up through different pyramids. A software project progresses through over a dozen phases and tollgates and checkpoints and reviews and committees. They wanted to build a "software factory model", to be exactly like the crappy outsourced vendors we hired who can't write 10 consecutive lines of working code. The stupidest part is the HMFIC would fire your ass if you didn't believe in the sanctity of the model, meaning every single manager from the line managers on up lies to their supervisor, telling them the fires they see are just sunshine and the shit they're smelling is roses. They'll only hire people who agree to repeat this insanity, so we have hired very few competent people in this decade. So nothing works at all, but nobody says anything bad. Because stuff doesn't work, they keep adding managers to do more oversight, and we're now at about a 2:1 ratio of workers to managers. They won't acknowledge that it now takes half a year just to fix a bug. HALF A FUCKING YEAR TO FIX A SIMPLE FUCKING BUG. And not just any bug: every bug takes that long to fix.

      Now they're thinking that by adding a few more review steps that happen every two weeks and hiring some Scrum-certified contractors to be project managers, we'll somehow become Agile.

      Dilbert would find enough frustration to go postal in our shop.

    6. Re:This role exists in any non-software business. by Anonymous Coward · · Score: 0

      A good argument but let me argue from their point of view as I'm one of them. Using myself as an example, the key aspect I have over others is I'm also a SME for a critical and niche I.T. area of the company and I happen to do all those things but it's that intersection which creates value because it allows flexibility but with the benefits of being an SME.

      As for mentoring, some people don't do it in order to remain valuable but personally, I don't do it because we don't need more SMEs, we need more SMEs with flexible and wide ranging skillsets not another SME or another tech of some sort, and we shouldn't be expected to teach them all the pre-requisite skills to establish the variety they need. Although this is dependent on environment, the reason I find myself in every project is because I happen to be an SME who also actually understands the underlying and overlying technology of a solution regarding said subject matter which, again, is more valuable than just being an SME.

      Although also dependent on environment, the subject matter I specialise in often has standards which typically longer and more complex than anything the project will produce. If I'm talking about the strategic direction of a project or other abstraction concepts, I'm not about to educate everyone in the subject-matter to that extent, it's my job to know that and give direction or summaries or else why bother having an SME? Can't comment about the "just google it" but I've been known to give people the 25,000 page manuals and telling them to find it if they really care, for the same reasons as above.

      As for planning, I completely agree, someone like me is most useful in planning, those who don't attend planning properly shouldn't have their "finger in every pie" as it were.

      I agree with you about documentation, however, when we're tasked with doing all these others things I've found I've always been given direction by management to focus on outcomes instead of documentation, and when they care so little about me, the projects and other people by not providing skilled human resources, I'm not about to go out of my way to provide standardised and formal documentation unless it's a specific project outcome, I don't have the time when I'm running around everywhere else and I doubt other people in a similar position have either.

      Regarding loss of control, yes, I fear that simply due to the possible errors. I've found the opportunity cost is reduced if you compare it with the cost some errors cause but my environment has significant compliance and safety implications so I that's just me but I say, fuck the gantt chart and the critical path, they can wait. My per incident thinking is "it's worth the delay to provide a better outcome for a feature if primary stakeholder(s) still considers the overall project outcome neutral or positive".

      I personally consider myself a devops given the nature of my industry and my position, perhaps my understanding of what a devops is incorrect but what you described sounds like me so I thought I'd comment.

    7. Re:This role exists in any non-software business. by Vanders · · Score: 1

      I've worked at a Fortune 100 company

      Ditto. My previous role was at HP, and our group couldn't have done the work we did in the time we had if we hadn't have used a DevOps model to do it.

  3. Nothing new here by nitehawk214 · · Score: 4, Insightful

    Seen this many many times before. Cheap companies that have lots of developers and are too cheap to hire experienced admins... or an IT shop that thinks they can have the IT guys program instead of hiring proper developers. "hey, you work with computers, you guys can all do the same stuff, right?" Wrong.

    While I have known developers that can sysadmin, and admins that can program... they are the exception not the rule. Quality suffers when you force people into jobs they are not qualified for. Companies know this, and they simply don't care as long as the managers think they are saving money.

    --
    I'm a good cook. I'm a fantastic eater. - Steven Brust
    1. Re:Nothing new here by DaveAtFraud · · Score: 2

      Seen this many many times before. Cheap companies that have lots of developers and are too cheap to hire experienced admins... or an IT shop that thinks they can have the IT guys program instead of hiring proper developers. "hey, you work with computers, you guys can all do the same stuff, right?" Wrong.

      While I have known developers that can sysadmin, and admins that can program... they are the exception not the rule. Quality suffers when you force people into jobs they are not qualified for. Companies know this, and they simply don't care as long as the managers think they are saving money.

      If you think the sysadmin who can program or the programmer who can admin a system is bad, you should have seen what happened when they gave Visual Basic to a subject matter expert (SME) and said, "You can program!" Agggghhhhhh!!!!!!!!

      Cheers,
      Dave

      --
      They that can give up essential liberty to obtain a little temporary safety deserve neither safety nor liberty.
      Ben
    2. Re:Nothing new here by nitehawk214 · · Score: 1

      I have seen far worse. Full on applications written in Excel VBA by those SME's, MBA's and Finance (degrees? I am not sure). And those people that somehow thought that:
      A) they weren't shit and
      B) they were now programmers and the job was so easy, why do we pay you assholes...

      You can figure I did not stick around that job for long.

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
    3. Re:Nothing new here by Penguinisto · · Score: 2

      Quality suffers when you force people into jobs they are not qualified for. Companies know this, and they simply don't care as long as the managers think they are saving money.

      I think the problem is in mis-defining the role. A DevOps can write code at a junior level, but you don't want one doing anything more than simple modifications and/or workarounds. He can also do most of the infrastructure bits of IT at an experienced level, but you should always have him in close communication with the senior security admin, the senior network admin, the senior storage admin... this is so that he doesn't wind up going all cowboy on the infrastructure just to recover from an outage, or worse, do it just to meet an artificial marketing-induced deadline.

      --
      Quo usque tandem abutere, Nimbus, patientia nostra?
    4. Re:Nothing new here by pete6677 · · Score: 1

      Funny how my company is going in the opposite direction. They want to get developers out of the production environment completely, and have an ops team do all of the support and maintenance. I for one am glad to see this happening.

    5. Re:Nothing new here by JaredOfEuropa · · Score: 2

      I see plenty of this, but it rarely has me worried. You have to take these Excel / Access "applications" for what they are: they typically exist as job aids for single persons or small teams. Is it pretty or sustainable? No: if the author of the application leaves and something needs to be changed or fixed, no support org will touch it with a 10 foot pole. This is where the difference between risk avoidance and risk management comes in. Risk avoidance means shaking your head in horror, and removing Access and VBA from workstations. Risk management means educating people about when it is appropriate to use such a tool, and when it isn't (like time or mission critical situations). Oh, and if the software does break and the original programmer has left, just hire a contractor to fix things. In my experience, they rarely need more than a few days for a fix or a simple change. Sometimes I just do it myself.

      Why do we allow this? Because it is extremely cost effective, and it rarely causes trouble.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    6. Re:Nothing new here by swfuggles · · Score: 1

      Agreed.

      I perform a lot of work that would fall under the DevOps umbrella. And I don't do it because I'm told to, or it's expected of me. I do it because I know the admin's that have been hired are "point and click" bozo's who cannot manage a simple shell script. They can barely keep AD permissions straight.

      As a developer, sure I'm not the guy you want performing core admin duties - I know that. But I know I'm far more competent at DevOps than a crappy admin. Seriously, why would I trust my entire CI infrastructure to someone who cannot code, or has never done any serious engineering (software or otherwise)? It would be like trusting a developer who has never setup a mail server before, to maintain a datacenter.

      It comes down to hiring skilled admin's who can work with developers. And both camps need to trust that each can do their job.

    7. Re:Nothing new here by nitehawk214 · · Score: 1

      Funny how my company is going in the opposite direction. They want to get developers out of the production environment completely, and have an ops team do all of the support and maintenance. I for one am glad to see this happening.

      I consider this the same direction. Getting people who are not qualified to stop doing things that are not their job.

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
    8. Re:Nothing new here by Dastardly · · Score: 1

      I think it misses the point of DevOps. My reading of DevOps is not that developers do operations. It is that operations applies development style processes to their job and works closely if not within the development organizations to make sure the application is designed for operational ease from the beginning. A DevOps specialists will be operations focused with a high degree of skill in the scripting to automate deployment and configuration. They will use version control in order to version the deployment and configurations with the application. That way when a version of the application is deployed to a development environment, testing, or production the exact same software not just for the application but the deployment and configuration is used. The goal is so that when things go wrong it is not due to some untraceable human error, but a fixable automation error.

      And, DevOps doesn't mean operations goes away. I think it let's operations focus on delivering a stable platform for applications. i.e. servers, disks, networks, OS, and perhaps the software repository that DevOps can use to configure the platform and deploy applications. In infrastructure as a service cloud situations, servers, disks, networks, and OS become a DevOps responsibility, also.

      As far as a DevOps role, I think this falls into the same mistake I get into in my company when trying to explain the concept of Agile team members and feature teams. Just because everyone on an Agile team should be able to take on any task to deliver the software doesn't mean you don't have specialists in Dev, Test, and Analysis. It also doesn't mean that you assign tasks stupidly to those least capable. Most of the time people will be working in their specialty, but they have secondary skills that allow them to take on other types of tasks when over flow occurs in those tasks. A DevOps specialist is focused on the deployment and configuration process and they primarily get that kind of work, but can help with other types of tasks when necessary. Similarly, just because teams are capable of working on any part of the application doesn't mean they don't specialize or that you assign work to teams outside their specialty willy nilly. But, if it looks like there is a long term need for another team in some application area, it is possible to have a team move to that specialty and ramp up their capability there with the help of the existing specialists. It might make sense to have a DevOps specialized team with multiple specialties (SA, DBA, scripting, support) represented in that team, but with flexibility to handle work in other areas, but perhaps at a lower capability that a team specialized in that area.

    9. Re:Nothing new here by MooseMiester · · Score: 1

      Funny and oh so true. Back when I was an I.T. manager in a small company (2 developers) I was in charge of the air conditioning system (Hey it's got a digital thermostat), the security system (It's got a keypad), and basically anything else that used electricity.

      Developers as SysAdmins is a HORRIBLE idea, as very few developers are meticulously anal-retentive enough to be good admins. Having developers with root privs on prod systems is like hanging a big sign outside the building that says "Hackerz Please come steal stuff" - it only takes one guy to rip you off....

      --
      Murphy was an optimist
    10. Re:Nothing new here by MooseMiester · · Score: 1

      Agreed, and sometimes those "quick and dirty" solutions are exactly what the business needed. Far too often I have seen senior I.T. gray beards who refuse to build something that isn't fully engineered from end to end with every conceivable risk mitigating long term future worry built in when management needed something to run three months at the lowest cost.

      --
      Murphy was an optimist
    11. Re:Nothing new here by nitehawk214 · · Score: 1

      That sounds like the exact same logic that places linux administrators in charge of phones.

      I also find that a company careless to have all of their development and management staff with root in production is also careless enough to either have no security policy, or to not follow whatever security policy they do have. It isn't a matter of "if" they get owned, but "when".

      --
      I'm a good cook. I'm a fantastic eater. - Steven Brust
  4. Author is dumb by w_dragon · · Score: 3, Informative

    Full-stack developer generally refers to a developer who can code the full software stack - UI, middleware, and backend. Also lots of QA people can code - automated testing is mostly coding - and lots of developers can't test at all. Author needs a bit more real-world experience.

    1. Re:Author is dumb by Anonymous Coward · · Score: 0

      "Full Stack" development is great for learning, but is not something I would suggest as the norm. As a systems architect, I need to figure out how each part should fit and how it's implemented. If you don't understand the full stack, you can't correctly design it.

    2. Re:Author is dumb by Anonymous Coward · · Score: 0

      Author needs a bit more real-world experience.

      I think the author's got it in the bag. I'm a senior developer at a 21 year old startup that does C# thick clients over Microsoft SQL back ends. All of the developers here are expected to do all of the release management, DBA and sysadmin duties. Despite knowing far more than I want to about SQL Server's indexes and statistics, parameter sniffing, query planner, plan caching, etc., I consider myself to be a pretty shit DBA. I know that my company would be far better served to hire a real DBA that can handle the maintenance of the existing servers, do log shipping and replication effectively, do upgrade planning, do capacity planning, and beat the shit out of us developers for writing dumbass SQL. Despite all of the issues we keep telling our managers about they continue to *not* hire a DBA and use us as part-time DBAs. Doesn't matter whether that's because they're cheap or because they think we're awesome, it's a still a stupid thing to do.

    3. Re:Author is dumb by fractoid · · Score: 4, Insightful

      I'm a senior developer at a 21 year old startup that does C# thick clients over Microsoft SQL back ends.

      At a what? Are you at a 21-year-old company or are you at a startup?

      Or are you at a 21-year-old company that pretends to be a startup when they say things like "hey guys we're a startup so can you work this weekend?"

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    4. Re:Author is dumb by Anonymous Coward · · Score: 0

      It's a 21 year old company that still operates like a startup. i.e.: it thinks Agile is cool for all departments, nobody has job titles on their business cards because that would pidgeon hole them and all sorts of other startup-related crap.

    5. Re:Author is dumb by Ksevio · · Score: 1
      Reminds me of an email I got from a recruiter today:

      These units run as start-ups that share the same code base and computing environment, combining the excitement of a small firm with the stability of a larger one.

      Because the beauty of startups is having a massive legacy code base that requires talking to several teams in order to change.

    6. Re:Author is dumb by fractoid · · Score: 1

      Oh no, not at all! The beauty of startups is having motivated, talented people willing to work long hours for peanuts!

      Oh you mean the beauty of startups for the *employees*... :P

      --
      Rampant carbon sequestration destroyed the Dinosaurs' tropical paradise. I'm here to help repair the damage.
    7. Re:Author is dumb by Anonymous Coward · · Score: 0

      I wonder. I've been working for a fortune 100 company for 12 years and I've been a full stack developer (plus sysadmin) for the whole time.

    8. Re:Author is dumb by Anonymous Coward · · Score: 2, Interesting

      I think anyone who's developed and tuned systems at reasonable scale tends to have skills not just across the software stack, but across the infrastructure as well:

      That means familiarity with the features and limitations of many different storage solutions (SAN, NAS, distributed fabrics of local disk nodes all with spinning and solid state, not to mention the Amazon flavors) , networks, bare-metal boxes, hypervisors, OS's, clustering solutions, a multitude of languages, databases (relational, document, NoSQL, etc.), statistical modeling techniques, COTS and OSS products, CM and dev environments, as well as specialized hybrids of all of the above. You may not need to be a SAN administrator, but you need to be able to know IOPS and see if you are constrained by disk or network . You need to know how to monitor memory and CPU across all layers of the infrastructure, read heap dumps, stack traces, etc to see what's what. And then know a multitude of languages, design patterns and anti-patterns, methodologies to go from idea to solution in a disciplined cost-effective way. You need to be able to communicate all of the above internally, externally to both vendors and customers, and then make it understandable to the chief technologist, senior developer, recent-grad programmer, CEO, sales guy, and the middle managers in-between all of the above, not to mention your stay-at-home-with-your-kids spouse who wonders what you do all day. I've got plenty of real-world experience and think the whole concept of developers being put out to pasture at 40 is complete and utter bull if you are smart and reasonably hard-working. Us 10x full stack developers who do it all get paid pretty well and haven't ever had trouble finding interesting work where people need the best to solve the hardest problems.

      Son, get off my lawn.

    9. Re:Author is dumb by lars_stefan_axelsson · · Score: 1

      Also lots of QA people can code - automated testing is mostly coding - and lots of developers can't test at all.

      If my experience is anything to go by, then the QA people on average code about as well as the developers can test. Which is to say, everything from "decent," to "not at all," depending on how good the organisation was overall.

      --
      Stefan Axelsson
    10. Re:Author is dumb by Anonymous Coward · · Score: 0

      You basically just described me, and a bunch of people I work with or have worked with.

      I can only assume the people in this thread who haven't come across a DevOps guy like the one you subscribe have been living under a rock.

    11. Re:Author is dumb by Anonymous Coward · · Score: 0

      A given individual, like yourself, may do well, but on average, most people are not competent enough to do the full stack correctly. Too many programmers have a hard time just trying to do their layer of the stack properly.

  5. You might do a disservice by rsilvergun · · Score: 1

    but hey, free project management? Sign me up!

    Seriously though, I am seeing more and more companies pushing to get more productivity out of their work force in an effort to keep the stock price where they need it....

    --
    Hi! I make Firefox Plug-ins. Check 'em out @ https://addons.mozilla.org/en-US/firefox/addon/youtube-mp3-podcaster/
  6. DevOps is awesome by Anonymous Coward · · Score: 1

    All those configuration management scripts and orchestration tools are insanely helpful in development and testing and it's almost a bonus that you can use them in production deployment. Aside from that, nothing will help when you have bad human management. You still need sysadmins and especially DevOps sysadmins with programming chops that can fill in the production side of the picture.

  7. Context Switching by Anonymous Coward · · Score: 1

    If people realized the cost of context switching on doing development, I suspect they would be much more loathe to require such context switching for Ops, and possibly not even for being a "full stack" developer.

    1. Re:Context Switching by Anonymous Coward · · Score: 0

      You nailed it. I started in technical support and did system administration prior to getting my bachelors. Now I'm a full stack developer that also does some windows, linux and freebsd system administration combined with apache, IIS and SQL Server.

      Just this week, I've had to re-patch tomcat installs in windows because the native tomcat runtime (APR) was not built with an update to date OpenSSL (heart bleed), reinstall and request SSL certificates, plan for a major system upgrade, and currently am pulling an all nighter to do the upgrade. Did I mention I'm also QA, managing interns and still find time to write C# and AngularJS based front ends?

      I don't even know what to call what I do now. There are like 10 people in my department and I'm at a university.

  8. Oh please... by acroyear · · Score: 3, Insightful

    You don't force your brightest people to take on additional roles - that is the whole point of a devops team in the first place. Making developers argue about deployments and sending builds to QA and managing your GIT server and development and QA databases and managing your bug tracker is exactly what your developers should *not* be doing, especially if those scripts necessarily have to be in a different language than your application. Sure, your lead developers and architects work with the devops team to support them so they can in turn support you, but that's as far as the relationship goes.

    The way we used to do it, where every senior architect is also responsible for all of those other functions (and has to take the time from his team members below him to help build all that out), is exactly how you stop architecting your software: your leads spend so much time trying to automate the drudgery they aren't improving the app.

    They aren't improving the app because all of their brainpower is no longer focused on the *customers'* problems, but rather their own and their teams. That isn't a good use of their time. Hiring smart people who need to understand the application and its environment, but are good at scripting these other languages of automation, frees up your team leads to doing what they did before and do best: focus on the application and getting the team to produce the code that serves the customers' needs.

    --
    "But remember, most lynch mobs aren't this nice." (H.Simpson)
    -- Joe
    1. Re:Oh please... by Dynedain · · Score: 1

      Amen amen!

      We have dev ops, and I RESPECT the guys.

      Why?

      Because I'm busy solving the client's problems, and I have developers underneath me building databases, front end templates, integration platforms, CMS implementations and the works. I DON'T WANT them patching AWS cloud servers for Heartbleed because THEY SUCK AT IT. Likewise, I don't want an IT guy who just installs patches and walks away. My IT department acts like that, and because of them, I still don't have VMWare and test machines in the office even though they were approved 2-3 months ago.

      I want people who can setup Git and Jenkins without handholding or wasting tons of time. I want people who can manage security and system updates. I want people who can figure out and get the right versions of Python, JVM, or NoSQL-DB-of-the-month installed without micromanaging. DevOps is an incredibly valuable role if you find the right people to do it.

      Hint: If it requires interfacing with the client, it probably isn't a DevOps task.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    2. Re:Oh please... by kwbauer · · Score: 2

      The problem that others are having with DevOps is that they seem to be defining it differently than you are. What you wrote makes sense but the scenarios people are complaining about don't sound at all like your definition.

    3. Re:Oh please... by dnavid · · Score: 4, Insightful

      The problem that others are having with DevOps is that they seem to be defining it differently than you are. What you wrote makes sense but the scenarios people are complaining about don't sound at all like your definition.

      That's part of the problem, yes. DevOps started off with reasonably laudable goals: to promote a methodology whereby development teams and operational teams were tightly integrated in a way that made operational and deployment issues part of the development process: development would be driven by the need to deploy useful functionality, not just create it. That way, you didn't have a discontinuity where things were programmed, then someone would have to figure out how to actually deliver that bunch of code.

      The problem which the author of the article references is that this often gets perverted from the original laudable idea of teams of developers and operations people working together, to requiring every single DevOps person being equally qualified to do everything, and then from there pushed even further to many companies creating DevOps positions where those DevOps people are literally doing everything, and not just knowledgeable at those things.

      There is no question that a programmer that understands SQL or database architecture or storage systems or high performance networking or internetworking or virtual hypervisors is a more valuable programmer. They can use that knowledge to guide their development, write better code, and communicate better with the actual DBAs and network engineers and sysops and hypervisor admins. But when management types start to think that the best way to do things is to hire DevOps qualified people to just randomly do everything without any focus or specialization, that's when the myth of DevOps overtakes the reality of DevOps and begins to create real problems.

      I don't honestly know to what degree that is pervasive in the industry: I haven't seen too many examples of it myself outside of certain high profile ones (the author mentions Facebook). If it is trending upward, I think its a bad trend. But to the extent that I see companies use DevOps correctly, as the glue-people to interconnect individual development, operational/deployment, and quality assurance teams, I think its a positive. But I agree with the article author that actually *replacing* developers, QA people, and operational people with DevOps people universally would be a Bad Thing. I just don't know if its actually really happening

    4. Re:Oh please... by Anonymous Coward · · Score: 0

      The guy that wrote the article sounds like he got stuck as Build Bitch. There's nothing new about that. It happens, and has been happening since the dawn of release and deploy systems.

      Be that as it may DevOps is awesome until it's not awesome. Usually there is a natural progression where the dev team starts up their own build, repo and test suite. Maybe they'll rig up their own SQL/NoQL solution too. If it's cloud based they are likely started the chef instances. Eventually this system gets baked well enough that it's handed off to an ops team. Nothing really new to see here outside some of the fancier automation tools we have these days.

      Where it goes off the rails is when DevOps team becomes a burden on the process. Things I've observed:

      I've seen ops teams try to dictate the programming stack, down to library level.
      Cock blocking the architecture teams because the carrots and sticks were setup to avoid change.
      Poorly performing developers shuffled over to DevOps teams to become poorly performing DevOps resources.
      Process overload.

    5. Re:Oh please... by Anonymous Coward · · Score: 0

      "Git" is not all-caps. Either "Git" if you're writing complete sentences, or "git" if you're alluding to command-line usage, but it's not an abbreviation and so "GIT" is never correct.

    6. Re:Oh please... by acroyear · · Score: 1

      Please fuck off. No, really. Just fuck off.

      I was typing in a fucking hurry. Its a fucking comments page of a fucking blog (one i have been fucking typing on since 19-fucking-98), not the fucking New York Times. if you want fucking capitalization to be fucking correct you can fucking type it up your fucking self because I don't give a fuck.

      I presume I have expressed my attitude adequately enough? And capitalized New York Times correctly as well?

      --
      "But remember, most lynch mobs aren't this nice." (H.Simpson)
      -- Joe
    7. Re:Oh please... by Dastardly · · Score: 1

      Amen.

      I run into this similar mentality when explaining Agile team members and full stack development. Usually, the objection I get is "Well, if people are jumping around how are they going to learn anything really well, and not screw up that part of the application." It is people who think we are going to be stupid about assigning work. People and teams specialize, but they have capabilities outside the specialty, but at a lesser effectiveness. Generally, we will assign people work in their specialty. But, if the most important work does not fall into the available team's specialty, then we might give them that work if it is sufficiently more important than the less important work that might fall into their specialty.

  9. Just because you can doesn't mean you should by putaro · · Score: 5, Insightful

    There's definitely truth to what he's saying but it cuts the other direction as well. Having your lead guru developer swapping disk drives on a machine isn't the best use of his time. However, I've also seen environments where the developers can't/won't/aren't allow to do the system admin tasks and wind up waiting around or being frustrated when their development systems have a problem. Likewise, with QA - I've seen developers that will just toss any old crap over the wall and expect QA to catch all of their bugs. And, developing tests is often software engineering, often complex software engineering that needs an experienced developer to establish at least the outline of how everything works.

    Personally, I expect any developers I'm working with to have at least basic sys admin abilities and know how to setup/fix any other part of the stack they might touch. Those skills should be used when working with the dev systems and in establishing the base line for production. I would then expect that someone who is more specialized in those other roles to actually setup and run production and also be available when the developers get in over their heads on system admin, hardware troubleshooting, etc. In the same way I would expect a systems admin to at least be able to write a script to automate something and not go running to the developers for everything.

    For test development, I always like to set groups against each other and develop the test suite for each other's code. Most people are a lot more comfortable and eager to break someone else's code than they are their own.

    1. Re:Just because you can doesn't mean you should by Anonymous Coward · · Score: 0

      Likewise, with QA - I've seen developers that will just toss any old crap over the wall and expect QA to catch all of their bugs.

      Depends on how you define QA, I suppose. In our world the developers should be writing unit tests for all of their code (TDD or not) and QA should only be doing functional testing.

    2. Re:Just because you can doesn't mean you should by CodeBuster · · Score: 1

      Most people are a lot more comfortable and eager to break someone else's code than they are their own.

      Not me. I'm just as merciless with my own code as I am with others' when writing tests. Proper testing involves taking on the role of the malicious agent who is actively trying to break the code, feed it bad inputs and generally muck up the works. If the code passes those tests then it stands a much better chance of rolling with the punches in the real world of production.

    3. Re:Just because you can doesn't mean you should by CAIMLAS · · Score: 1

      Deveops types aren't the kind of people to be crawling around under desks or helping directly to push for a release milestone.

      They're the go-betweeners, sort of a cross between senior sysadmin and development project management assistant. They are the internal toolsmiths, depending on the blacksmiths to produce effective metal so they can hone the tools for the carpenters' needs. They are broadly skilled and know how to at least muddle along in both a developer and a sysadmin job, but prefer the big picture of orchestration. They're the ones who figure out where the shortcomings are, and are broadly skilled enough to jump in and provide possible avenues and solutions, seeing where one side can't fix a problem, and the other may have a solution.

      --
      ~/ssh slashdot.org ssh: connect to host slashdot.org port 22: too many beers
    4. Re:Just because you can doesn't mean you should by Antique+Geekmeister · · Score: 1

      I jump under desks! But I'm a very, very senior technologist, and I spend a lot of my time _teaching_ people how to do these things.

    5. Re:Just because you can doesn't mean you should by putaro · · Score: 1

      A colleague said to me once, "You're the only VP I've ever known who installs equipment." I'm always amazed at how out of touch "senior" people can get. And besides, when we get new toys I want to see them working NOW.

  10. What DevOps movement? by PJ6 · · Score: 5, Interesting

    I had a job where I did everything once, wrote a full-blown ERP system for hundreds of users, all by myself. Everything. Though I was salaried, sometimes I worked whole weekends, or to 2 in the morning - not because I had to, but because I wanted to. No politics, no being just a cog in a machine, no project management, no BS. Just me and code, giving people what they needed and making their jobs easier. It was my dream job, my first and best job, and I've never had anything like it since.

    This DevOps movement the author speaks of... I've never seen it, not in all the years I've looked to find it again. He may complain that it's bad, bad for the industry, but I would take it in a heartbeat.

    Is that what I was, a DevOp? I miss it so much I can taste it.

    1. Re:What DevOps movement? by Cytotoxic · · Score: 1

      I was going to say something similar. There are a lot of people who don't want to be kept in a box, doing only one thing all day. I used to hire those people specifically - I found it worked well for our culture. Plus, I personally get bored with too much of the same thing. I love coming up with a cool SQL trick that cuts the cost of a query by 99%. It is fun to watch something complete in 2 seconds that was taking 15 minutes before. But I wouldn't want to do that all day, every day year after year......

      Different strokes for different folks. Not every developer wants to be pigeon-holed into coding web-server middleware all day, every day.

    2. Re:What DevOps movement? by Anonymous Coward · · Score: 0

      There are a lot of people who don't want to be kept in a box, doing only one thing all day. I used to hire those people specifically

      There's one thing about cross-disciplinary training, and another thing where your mailserver is falling over and a major customer is screaming about how they were promised a major feature today and they're going to walk if they don't get it... and your jack-of-all-trades is demanding that you put your priorities in writing to cover his ass when one of the two doesn't get taken care of.

    3. Re:What DevOps movement? by canadiannomad · · Score: 1

      another thing where your mailserver is falling over and a major customer is screaming about how they were promised a major feature today and they're going to walk if they don't get it... and your jack-of-all-trades is demanding that you put your priorities in writing to cover his ass when one of the two doesn't get taken care of.

      I think you just summed up 90% of my job!

      --
      Hmm, the humour and sarcasm seem to have been be lost on you.
    4. Re:What DevOps movement? by phantomfive · · Score: 1

      No politics, no being just a cog in a machine, no project management, no BS. Just me and code, giving people what they needed and making their jobs easier.

      Oh yeah, that's exactly what I look for in a job.

      --
      "First they came for the slanderers and i said nothing."
    5. Re:What DevOps movement? by Anonymous Coward · · Score: 0

      I had a job where I did everything once, wrote a full-blown ERP system for hundreds of users, all by myself. Everything. Though I was salaried, sometimes I worked whole weekends, or to 2 in the morning - not because I had to, but because I wanted to. No politics, no being just a cog in a machine, no project management, no BS. Just me and code, giving people what they needed and making their jobs easier. It was my dream job, my first and best job, and I've never had anything like it since.

      This DevOps movement the author speaks of... I've never seen it, not in all the years I've looked to find it again. He may complain that it's bad, bad for the industry, but I would take it in a heartbeat.

      Is that what I was, a DevOp? I miss it so much I can taste it.

      IBM defined this model - the Chief Programmer.... see this: http://c2.com/cgi/wiki?ChiefProgrammerTeam

      Largely ignored because is difficult, bordering impossible, to recruit a Chief Programmer .... unless you happen to be one and start the business :-)

    6. Re:What DevOps movement? by Anonymous Coward · · Score: 0

      I've been working as a full stack developer (plus sysadmin) at a fortune 100 company for 12 years, and I love it. I would hate being relegated to only doing db, or server-side, or front-end work. I want to do it all.

    7. Re:What DevOps movement? by Anonymous Coward · · Score: 0

      Honestly, no offense meant, but there's a really great reason why that shouldn't happen - risk.
      It's great that you had the freedom to do it all, but... (just off the top of my head)
      -What if anything happened to you who would be able to take over the work from you?
      -What would have happened if you were sick or away for a day, or a week?
      -How did you control the scope of what you were doing?
      -How was the quality controlled or measured?
      -How did you transition what you built to your normal support people, or did you also maintain the production environment?
      -Did you document everything to a standard that a new programmer or support person could pick up and run with the solution?
       
      I mean it's a great opportunity, but whoever employed you ought to have had their heads examined letting you take all that responsibility (and risk) like that.

    8. Re:What DevOps movement? by Anonymous Coward · · Score: 0

      Well said! I've been programming since I was 7 - I get bored doing nothing but all the time. I love also being a DBA, sysadmin, architect or whatever else the job calls for. Sure, I'm not as much of an expert in those domains but not all applications need a team of experts to be successful.

      I'm applying at a place that's hiring a bunch of "full stack" developers, much as many are complaining about here. But they're doing it because each hire will be developing sort of mini applications that themselves comprise whole stacks, and which run inside a sort of PaaS. I love this idea because I'll be able to work with whatever technologies and stacks I feel are ideal for that package and will own and take responsibility for them. Beats writing code all day.

    9. Re:What DevOps movement? by PJ6 · · Score: 1

      I mean it's a great opportunity, but whoever employed you ought to have had their heads examined letting you take all that responsibility (and risk) like that.

      I finished the last revision nearly a decade ago. Haven't touched it since, and it's still running today.

  11. Understanding each other's work is key by ghn · · Score: 4, Interesting

    I am primarily a developer but I also like to understand the big picture, including software design and UX but also system administration, infrastructure, hardware architectures, and everything else that *directly affects the software I develop*.

    Deep understanding of the big picture is key to developing quality software, IMO. You need to understand what comes ahead of you (requirements, business needs, etc) and where your work is headed afterwards... The best way to understand it is to wear these hats from time to time or have previous work experience in those fields. When recommending candidate for developer positions, someone who has system administration experience is a bonus.

    Yes, many days I need to take on multiple hats and switch gears as shit comes up in prod and I need to fix a config on production servers or assist whoever has the hands but lack the knowledge. That's the start-up culture I guess, even though I work for an established 100+ year old company.

    1. Re:Understanding each other's work is key by ghn · · Score: 2

      And regarding the "Totem Pole" argument in TFA: That is utter BS. I've seen many so-called "developers" unable to perform basic DBA or QA jobs. That is why most large company employ specialist in these positions, to cover the fuck-ups of the developers.

      I've seen developers who's first reaction when a complex SQL query is taking ages to run is "I will call my old pal in XYZ dept who is a DBA" before even running an "explain" query to debug their index-less octo-way join with 12 sub-queries.

    2. Re:Understanding each other's work is key by Dynedain · · Score: 1

      Your value isn't in being the guru. Gurus get replaced because of the risk in only one person understanding how things work.

      Your value is in being proficient enough that you can jump in and get up to speed in different roles, but have a general understanding that lets you step back and see the big picture.

      Yes, getting your hands dirty is different pieces is key to this, but being the leading expert in each individual piece is the road to being pigeon-holed.

      --
      I'm out of my mind right now, but feel free to leave a message.....
  12. Not working IT anymore but... by Anonymous Coward · · Score: 0

    As I remember it, when one of our programmers had additional roles, we the ops team had to bug them about those roles... IE "Hey bob what is going on with these wifi scanners, with a web interface to our DB, on your desk. I have to send two out to the warehouse." Bob would then loose his thread of thought on improving the web interface and probably some details on the overall program he had stored in his head. Now Bob has to take time to get back to where he was and if someone interupts Bob again... Bob eventually becomes less productive and frustrated. Frequently if Bob is a good programmer, he quits.

    1. Re:Not working IT anymore but... by Anonymous Coward · · Score: 0

      But the problem is that you're describing "additional roles". Nope, he just had the one role and should have worked accordingly.

  13. DevOps vs DevOps by Anonymous Coward · · Score: 0

    My own understanding is that DevOps can be two things:

    1. All in one folks who write the software, deploy it, and make sure it's running at all times - bad.
    2. Operations folks with a more development mindset (i.e. with development background) that use tools like Chef and Puppet to turn their infrastructure into version controlled code - good.

    It appears he is talking about #1, but it shouldn't be mixed up with #2, which can be very very good if done correctly.

    Posting as A/C because I haven't posted before and have no street cred...

    1. Re:DevOps vs DevOps by BradMajors · · Score: 1

      The basic problem is developers are incapable and do not want to produce software that actually works and expect "lower level" people to fix their work.

    2. Re:DevOps vs DevOps by Anonymous Coward · · Score: 0

      What is bad about "All in one folks who write the software, deploy it, and make sure it's running at all times"?

  14. Someone doesn't understand devops. by JustShootMe · · Score: 5, Interesting

    The point of devops is not to take jobs away from developers. The point of devops is to provide an interface between system administration and development. Development and system administration have always been at odds with each other - system administrators not really understanding or caring how the application works, and developers treating the systems as an infinite resource pool with no real rules or resources past "does my code run?"

    The sole purpose of devops is to ensure efficient operation of the infrastructure in a way that allows for repeatable deployments and controlled versioning, and that also includes system software such as operating systems (sysadmins benefit too because they no longer have to do one off deployments of OSes).

    This criticism strikes me as woefully underinformed as to what devops actually does, and I'm wondering if the author of this is a developer who is upset because devops is forcing them to actually use the software lifecycle properly rather than just doing cowboy deployments and hoping they work.

    --
    For linux tips: http://www.linuxtipsblog.com
    1. Re:Someone doesn't understand devops. by mortonda · · Score: 2

      Devops is even more than this, it also means applying common change management that is common in source code development to operational configuration, using tools like chef or puppet. It's scary how much "cowboy configuration" there is out there, and yet in the programming world, "cowboy coding" is frowned upon.

    2. Re:Someone doesn't understand devops. by russotto · · Score: 5, Funny

      It's scary how much "cowboy configuration" there is out there, and yet in the programming world, "cowboy coding" is frowned upon.

      Oh yeah, it's frowned on. Every senior developer will sternly tell you that "cowboy coding" is a terrible idea, then they will saddle up their horse and ride away.

    3. Re:Someone doesn't understand devops. by Anonymous Coward · · Score: 0

      Way to miss the point. Entirely. The entire point of the rant was that companies are saying "fuck devops, developers can just do cowboy deployments whenever they need to in order to make sure that they are agile as fuck and I'm sure a ruby on rails developer can figure out this whole security thing and I get to keep the devops salary as my bonus."

    4. Re:Someone doesn't understand devops. by Anonymous Coward · · Score: 0

      I was once a devop before the term existed. I mosty do Java / J2EE development, but I also did Solaris and Linux system administration .. even down to setting up disks on a Sun StorEdge disk array and setting up backups to tape before it gets shipped to off-site storage, coordinating with the data center for firewall rules ( e.g. setting up VPNs to mobile phone carriers, clustering and ensuring multicast packets are working, etc ) That was with a startup about 7 years ago.

      With a large and more established company that I am working for now, operations is completely separated from development. Whenever a new system is deployed, I try to think of what operations will need to know. Only problem is, some IT ops are less knowledgeable than what I was hoping for.

      In any case, maybe the author ( and probably me as well in hindsight ) is complaining .. you are effectively playing two roles .... but you only get paid the same amount as an ordinary developer. Nowadays, if I was offered a DevOps role, I would expect the package to be higher than if I was just doing pure development.

    5. Re:Someone doesn't understand devops. by Baby+Duck · · Score: 1

      Awesome quote! I will attribute you, russotto!

      --

      "Love heals scars love left." -- Henry Rollins

    6. Re:Someone doesn't understand devops. by Anonymous Coward · · Score: 0

      Saddle? We don't need no stinking saddles!!! We'll just invent a whole new horse riding paradigm, with none of the flaws of saddles!

    7. Re:Someone doesn't understand devops. by Anonymous Coward · · Score: 0

      The point of devops is not to take jobs away from developers

      Bullshit. If it wasn't then why are the Republicans pushing this concept so hard? They want us fired, homeless, and starving. Their kind hates technology.

    8. Re:Someone doesn't understand devops. by hism · · Score: 1

      developers treating the systems as an infinite resource pool with no real rules or resources past "does my code run?"

      While I agree that some developers are cavalier with rules, consideration of resources is fundamental to writing software. I would say developers who ignore that aren't doing a very good job...

    9. Re:Someone doesn't understand devops. by JustShootMe · · Score: 1

      That's the kind of reply that gives "anonymous coward" its name...

      --
      For linux tips: http://www.linuxtipsblog.com
    10. Re:Someone doesn't understand devops. by JustShootMe · · Score: 1

      I've been a developer, a sysadmin, and a devops guy. And the number of developers I've had to gently (and sometimes not so gently) say "stop doing that, you're crashing the server!" is way more than I am comfortable with...

      --
      For linux tips: http://www.linuxtipsblog.com
    11. Re:Someone doesn't understand devops. by Vanders · · Score: 1

      While I agree that some developers are cavalier with rules, consideration of resources is fundamental to writing software

      There have been a number of occasions where I've had to say things like "No, you can't have 10 VMWare instances with 1TB disk and 140GB of RAM each. Because the VMWare cluster doesn't have the resources available, that's why." and "If you'd asked, you'd already know we don't have 2 DL380's with 192GB of RAM and 4TB of RAID1 disk in each datacenter. No I know you 'need' it, but it doesn't exist."

      Usually the conversation then has to diverge into an overview of the concept of capacity planning and horizontal scalability.

      Thankfully those kinds of conversations are rare these days.

    12. Re:Someone doesn't understand devops. by Jesus_666 · · Score: 1

      The configuration "Developers - DevOps - Operations" makes sense. Unfortunately, a lot of companies just remove everything but DevOps from the picture because having dedicated developers and admins around would just be redundant.

      I'm in such a company and its a hellhole - you can get emergency calls at any time of day because you're responsible for the infrastructure but that's not reflected in your pay because hey, you're just a developer. Also, keeping the infrastructure running flawlessly is not supposed to take any time away from coding; you're expected to fix any problems that arise and still get eight hours' worth of quality code done. Ater all, developers in other companies have no trouble doing so. Also, since support personnel is also redundant (because hey, the DevOps guys already know how the system works) keeping the customers happy is also the developers' job, again without compromising efficiency in your other responsibilities.

      Of course the company is not doing well and of course the boss has no idea why. It can't be his management style; that approach worked well when he ran a similar company in a related market ten years ago with no existing customer base so obviously it would work now, too...

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
    13. Re:Someone doesn't understand devops. by trawg · · Score: 1

      The point of devops is not to take jobs away from developers. The point of devops is to provide an interface between system administration and development. Development and system administration have always been at odds with each other - system administrators not really understanding or caring how the application works, and developers treating the systems as an infinite resource pool with no real rules or resources past "does my code run?"

      This.

      We used to have a more DevOps approach when we were a startup (1999-2005ish?). After a while as our contracts got bigger and our client projects got more visibility, they wanted to move into a more change-request-managed style of development (this is despite the fact that we'd never (in my recollection) had any incidents as a result of our management process).

      We created a strict separation of roles between Dev and Ops. Devs just wrote code, Ops pushed code to servers.

      To this day, many years later, our Dev team still has poor visibility into our operational environment. Getting easy access to log files, looking at temporary files - really /basic/ operational stuff that Devs had done for years was denied to them and a "process" built around getting that stuff from Ops.

      This process is slow and awkward. Arguably we could have done it better using tools but we'd bought into the process too much, it existed, so why bother changing it?

      Similarly, from an Operations side, their workflow suffered because the devs would be off in a silo, then one day someone would pop up and say "OK I need a full staging and production environment for this project by tomorrow".

      Again, not great project management on our part, but what was originally a natural flow of information between two teams who a) historically worked very closely and b) NEED to work very closely slowed to a trickle as the "DevOps" interface was basically shut down.

      I have been pushing for a DevOps role for a few years, without success. For me DevOps is about lightening the burden of Dev and Ops teams by increasing the ability for information to flow between them quickly and easily.

    14. Re:Someone doesn't understand devops. by Fastolfe · · Score: 1

      Developers should grossly outnumber operations. If it doesn't, your ops people probably aren't doing enough automation. Depending on how important that scalability and automation is, you might want more "devops" types in your operations team than other companies. Truly large tech companies call this SRE and don't have a traditional ops role at all. So I'd say having your three-way split would be OK for some companies, but a two-way split between non-ops developers and dev-ops operations works well for others. Really anything that minimizes the rigid wall between the two sides and gives each visibility and influence into the other is good.

    15. Re:Someone doesn't understand devops. by Jesus_666 · · Score: 1

      That makes sense. Still, though, "just lump everything together" is not neccessarily a good idea, especially if the responsibilities aren't well defined and it isn't understood that someone in a hybrid role isn't equivalent to two specialists.

      "The dev guys are tech savvy so they will be able to keep our infrastructure running with no impact on their workload and development efficiency" simply doesn't work, no matter how much certain people would like it if it did. Another related mistake is "we outsourced part of our infrastructure to another company, thus we will never have to spend significant time caring for it", which falls flat on its face once the outsourced infrastructure starts misbehaving or interacting with business requirements in a nontrivial way.

      --
      USE HOT GRITS WITH STATUE OF NATALIE PORTMAN (NAKED AND PETRIFIED)
  15. Re:You want a job? You do what I tell you. by Anonymous Coward · · Score: 0

    Sure thing, it's your money to burn. Can you pay me 100K+/year as a developer to be doing stuff that a DBA should be doing for 70K/year? Or a Sysadmin for 60K/year?

  16. Cross training by PPH · · Score: 1

    The best developer is one who puts stuff together that 'ops' people (users, admins, etc.) can work with. And the best way to get such developers trained is to give them some experience on the other side of the fence. Yes, in a large organization there is going to be less crossover. But its still a good idea. Some people won't like being admins. Some will really take to it. Its up to management to properly allocate resources and keep their people trained and familiar with adjoining organizations needs.

    If you absolutely don't want to do any administration tasks, that's fine. But its a rare developer who doesn't throw a fit when management takes their admin/root privileges away on their own workstation.

    --
    Have gnu, will travel.
    1. Re:Cross training by Dynedain · · Score: 2

      If you absolutely don't want to do any administration tasks, that's fine. But its a rare developer who doesn't throw a fit when management takes their admin/root privileges away on their own workstation.

      It's legitimate for a developer to throw a fit. They should have admin access on their local box. There's an insane number of plugins, libraries, and frameworks they may need to install or test to determine if it's the right fit for their deliverable.

      However, I fully expect DevOps to question every single add on and make the developer justify it before deploying to production. Just because I as a Dev want Ruby for compiling SCSS to CSS on my local machine to save me time, does not mean Ruby needs to be installed on the production environment. That's what build servers and deployment scripts are for.

      SysOps on the other hand is far too prone to blanket say "No" or "We only approve this one obscure outdated fork of the package you want."

      DevOps is the perfect position to reconcile developer wants with checks and balances against actual needs and responsible deployment.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    2. Re:Cross training by PPH · · Score: 1

      But that's why you have an admin group responsible for your workstation (instead of you having admin rights). Maybe there are "an insane number" of goodies you'd like to play with. But if you cause problems for people downstream, the answer should be, "No."

      does not mean Ruby needs to be installed on the production environment. That's what build servers and deployment scripts are for.

      So you should cause the admins responsible for the build environment to chase after your particular suite of toys? I don't think so.

      So few developers have a good view of the s/w lifecycle that they either need their admin rights taken away or they need to spend some time in DevOps (administration, whatever) so they can see the PITA that their work habits cause.

      I've worked in companies (aviation related, where you'd think config control would be taken seriously) that were continuously 'infected' by tool vendors slipping some developer a 'free' s/w CD at a conference. Knowing full well that once their work product made it into the production environment, thousands of licenses would have to be bought or their crap would have to be backed out. And I've seen developers throw screaming (literally) tantrums about taking their toys away to the point that management backed down.

      One s/w vendor's game was actually written about in the Wall Street Journal some years ago. About how they slipped a few copies of their product into my employer and caused them to have to buy millions of dollars worth of licenses for the installed product.,

      --
      Have gnu, will travel.
    3. Re:Cross training by Dynedain · · Score: 1

      You completely misunderstood what I was saying.

      Devs should have admin access *on their local machines* so they can evaluate libraries and platforms.

      Devs and DevOps should coordinate and plan to decide which (if any) of those libraries should be included on the production environments.

      DevOps should have nothing to do with workstation IT.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    4. Re:Cross training by PPH · · Score: 1

      Devs should have admin access *on their local machines* so they can evaluate libraries and platforms.

      No. Not if they are working on production code.

      There is a project phase for testing tools and libraries. But even then, the installation for this evaluation should be done under configuration control. Or each dev could end up with a custom environment that doesn't properly reproduce code across different machines. The installation/configuration of these tools needs to be done by people with admin skills that lead to reproducible results across the entire dev team should that product be selected.

      Too many developers here are crying about not wanting to have administrative responsibility. But try taking the admin privilege away and listen to the screams.

      --
      Have gnu, will travel.
    5. Re:Cross training by Dynedain · · Score: 1

      No. Not if they are working on production code.

      Why in the hell would anyone be working on production code on their local machine?

      We're saying the same thing about Devs and Production environments. But somehow you've extrapolated that into Devs not having admin privileges on their local workstations which is absurd.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    6. Re:Cross training by PPH · · Score: 1

      Why in the hell would anyone be working on production code on their local machine?

      As a developer, what do you think your job is?

      We may be suffering from a terminology problem here. I think developers produce code as their work product. Which is turned over to a build environment for subsequent testing and finally installation.

      If you have a different job description for a developer, I'd like to hear it. I wouldn't hire it, but I always get a chuckle out of projects that are so deeply layered that there are people which we don't really know what they do.

      But somehow you've extrapolated that into Devs not having admin privileges on their local workstations which is absurd.

      If you produce anything that affects the configuration of the final product, it had damned well better be under configuration control. And that means your administrative 'privilege' is restricted by some processes and procedures. If you have them at all. That's the way its done in avionics, medical, financial and a lot of other software houses. If you are just hacking out games, then who cares? Fiddle with your development environment all you want.

      --
      Have gnu, will travel.
    7. Re:Cross training by Dynedain · · Score: 1

      We have local workstations, dev servers, staging servers, and production.

      Devs can do whatever they want on their local workstation. In any given week, I work on 2-3 different projects with radically different stacks. Central IT (which is technically outsourced to a stand-alone company that supports us and the other companies owned by our Fortune-500 overloard) has absolutely 0 knowledge of what we do and what we need to support our work.

      Devs also usually have sudo access to the dev servers, but rarely install things there.

      Devs never have admin access to staging, but they usually have the ability to do deploys from the build server.

      Devs absolutely never have admin access to prod, and can't do deploys to prod either.

      Dev team builds, tests and does whatever is needed on local and dev servers. They're responsible to make sure their stuff works and when ready for testing, trigger an automated deploy to stage. They don't have the ability to install any dependencies or configurations on stage, so if they run into problems, they need to negotiate with DevOps. QA validates on stage and has client do UAT on stage. If everything passes, DevOps manages the deploy to production.

      That's a grand total of 3 "technical" people on the small project. Dev, QA, DevOps. Large projects will have multiple people in each role, but we still structure the same way.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    8. Re:Cross training by PPH · · Score: 1

      Devs can do whatever they want on their local workstation. In any given week, I work on 2-3 different projects with radically different stacks.

      What is the end product of this work? Source code?

      If you produce source against a particular 'stack' (API, library version, framework, whatever) how do you know that the people next to you are using the same ones? And that the various modules your group produces will even build or link together? What happens if the guy in the next cubicle says, "This Dynedain guy is using the wrong version or fork of {whatever}. I'm going out to download and install the latest or the best and build my components using these. And if his stuff won't link with mine, tough." Who would stop him?

      They don't have the ability to install any dependencies or configurations on stage, so if they run into problems, they need to negotiate with DevOps. QA validates on stage and has client do UAT on stage.

      So, you wait until the sh*t hits the fan and then DevOps comes looking for whoever used the wrong tools or build configuration. The guy in the next cubicle says his favorite framework is better and that Dynedain guy needs to suck it up and redo all his work using the 'correct' environment. Antics ensue.

      Somehow, I don't think your organization is going to score a very high SEI-CMM level. Forget ISO 9000 certification.

      --
      Have gnu, will travel.
    9. Re:Cross training by Anonymous Coward · · Score: 0

      Why in the hell would anyone be working on production code on their local machine?

      That's for posting to Slashdot and playing Farmville all day, right?

    10. Re:Cross training by Dynedain · · Score: 1

      If your projects can't handle things like dependency lists, package managers, and actual planning, then of course it's going to fall apart like you describe.

      I don't know about where you work, but where I work, people actually talk to each other and plan what versions and which frameworks we'll be using rather than just setting everyone off willy-nilly and pray that it all works before being pushed to production.

      --
      I'm out of my mind right now, but feel free to leave a message.....
    11. Re:Cross training by PPH · · Score: 1

      I don't know about where you work, but where I work, people actually talk to each other

      In a large organization where its not possible to talk to everyone informally. And if some dev sitting in a corner downloads his/her favorite framework, nobody will know. Until the dependency lists are compared and someone finds out that this person went off on their own.

      Don't get me wrong. I have no problems with the informal processes if you work in a tiny shop (maybe a dozen developers). But you aren't likely to have a 'devops' position. It will be a part time task of one of the devs. Or the admin person who does the job for all systems (devel, test, production).

      But if you are installing stuff, even on your own workstation, you are doing an admin's task. And that means understanding the impacts of your actions upon your and your group's work product. At some point, your company might be asked by a customer to adopt some sort of process standards (think SEI-CMM, ISO 9000, etc.). That will either mean a manual process you must follow to make changes to the development/test/deployment environment. Or turning that responsibility over to a person assigned to to so (that means turning your workstation admin over to them). And I imagine that if the response to this is, "I don't wanna!", the boss will quietly show you to the door.

      --
      Have gnu, will travel.
    12. Re:Cross training by Dynedain · · Score: 1

      In a large organization where its not possible to talk to everyone informally. And if some dev sitting in a corner downloads his/her favorite framework, nobody will know. Until the dependency lists are compared and someone finds out that this person went off on their own.

      When that dev breaks the build on the continuous integration and automated test servers, it's pretty easy to point fingers and make them go back and remove their framework and rebuild to the agreed-upon project standards. The framework shouldn't be in your project source control anyways.

      Turning over server administration to a DevOps role doesn't require turning over local workstation administration. If it did, no one would ever be able to contribute to open-source projects hosted on Github. And I think they've proven that huge development teams can work together without burdening what goes on with the physical desktop in front of you.

      --
      I'm out of my mind right now, but feel free to leave a message.....
  17. Posting as AC... by JustShootMe · · Score: 1

    Yeah, you put a coherent thought together and actually contributed to the discussion.

    Keep that up and you'll have no street cred on Slashdot at all!

    --
    For linux tips: http://www.linuxtipsblog.com
  18. That's a bad idea by cold+fjord · · Score: 1

    Most developer's I've met have little interest in being Sys Admins, and even fewer of them had the background to administer a large complex site. (Not that they couldn't learn.) In a similar fashion not many Sys Admins are software engineers even if they are capable, even accomplished coders. They are different skill sets even if there is some overlap, and definitely a significant difference in emphasis. Temporary substitutes for each other at best.

    --
    much of left-wing thought is a kind of playing with fire by people who don't even know that fire is hot - George Orwell
  19. On the other hand, most devs do not get ops by gweihir · · Score: 3, Interesting

    A problem I have run consistently around is that developers rarely understand system administration, and operations in general. It makes their software suck a lot more. This is even more true with the Java-crowd, many of which cannot even use a commandline. The more this gets fragmented, the more people get specialized, the more problems arise in architecture, design and implementation, up to and including software that cannot even be deployed because of misconceptions on the developer's side.

     

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
    1. Re:On the other hand, most devs do not get ops by Anonymous Coward · · Score: 0

      This is even more true with the Java-crowd, many of which cannot even use a commandline.

      If I had a dollar for every developer I had to lead through basic use of SSH, I'd be buying a large island. Like Britain.

      Really, though, DevOps is codeword for "fucktarded waste of time and resources". If your devs can't ask your sysadmins, "Hey, can we do this?" and get either "Yes" or "No, because..." in response; if your sysadmins can't ask and receive the same of the devs...

      You need to fire people, because no Rightthink(tm) Process Magical Ponies will save you.

    2. Re:On the other hand, most devs do not get ops by Anonymous Coward · · Score: 0

      'overspecialize and you breed in weakness...' (gits)

    3. Re:On the other hand, most devs do not get ops by gweihir · · Score: 1

      Indeed. Devs in large organizations cannot even talk to system administrators anymore these days (or rather they are forbidden to do so). And Sysadmins cannot talk to networking, and networking cannot talk to firewalls, and so on.

      I have just recently had a project, where the application ops team was only allowed to talk to the network people directly in case of a dire incident. Yes, they knew who they where, had their phone numbers and had a working relationship. But the contracts enforced all communications to go through 1st level support and these people reject all things that are not immediate problems. Whoever thought that set-up would be a good idea should be fired on the spot. Instead, that idiot probably got a huge bonus for messing this up completely. One of the results is that when there are smaller network troubles, or when planning is to be done, things are delayed until there is a serious incident, because only then people that need to talk to each other are allowed to do so.

      --
      Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  20. Don't confuse PROGRAMMER with Developer by Anonymous Coward · · Score: 0

    A programmer does code. A developer is the concept of those that make the end resulthappen. A programmer is one part. The most important part, of course, but developer does not mean programmer. And engineer is not correct. A computer programmer is exactly right.

  21. Misunderstands what DevOps is about by Anonymous Coward · · Score: 0

    DevOps is not about reducing developers to doing mundane operations jobs, it's about reducing operations jobs through better software design so that they are no longer jobs, but things you spend a few seconds each day doing.

    DevOps is all about removing the "full stack" that the author seems so attached to, and replacing it with functional minimalism that doesn't require a dedicate role just to manage the unnecessary and unproductive complexity we have in older systems.

    DevOps doesn't suck for developers, it sucks for operators, who are left without a job. Good riddance.

  22. So what are they supposed to do then? by Warphammer · · Score: 1

    Well, at least someone's finally admitting what it's all about.

  23. Re: Devs never learnt maintainable until tried by Anonymous Coward · · Score: 0

    Wholeheartedly agree with you.

    A big lesson I learnt in DevOps situation is to properly log the tricky bits of the code logic so they can be easily tracked and troubleshoot in production environment. In a complex solution, if you have to look into the source code to figure things out, there is a gap in your code's maintainability.

    It is sad that many devs just don't get it until they are forced into the support role and frustrated ( as I was ) in lacking of critical supportable data. Well, you don't (oh, please don't) get a debuggable version on production and you don't have your favourite IDE to step into...

  24. It's a Great Learning Experience by nebosuke · · Score: 4, Interesting

    I essentially have this kind of role within my organization. I design, develop, deploy, and support small to mid-tier systems (e.g., the planning system for a $XXXmio/yr global department, with 300+ direct users) while being one of my own customers, as I am actually a business planner (by role) as opposed to developer. I develop systems as a way to do my "day job" much more effectively. Typical tech stack would be Excel UIs, PostgreSQL data store, and whatever else I need in the middle (e.g., nodejs, tomcat, redis, whatever).

    What I've found is that, in general, doing the right thing the "right way" is not worth the cost compared to doing the right thing the "wrong way". By definition, in either scenario, the right things is getting done. What most pure developers utterly fail to understand is that in trying to do the former, there is an overwhelming tendency to do the wrong thing the right way instead.

    This is because, as Fred Brooks pointed out long ago--and as the "lean startup" movement is re-discovering today--for any non-trivial novel problem you cannot know in advance what the "right thing" is until you've actually tried to implement a solution. Brooks stated this understanding as the need to throw away the first try, and the lean startup movement is essentially defined by a corollary--you have to figure out how to try cheaply enough that you can afford to throw it away and try again (and again, and again if necessary), while progressively elaborating a robust definition of what the "right thing" looks like by using those iterations as experiments to test hypotheses about what the "right thing" is. Doing things the "right way" usually costs so much in time if not capital that you simply can't afford to throw away the first try and start over, or you cannot complete enough iterations to learn enough about the problem.

    Now, I'm not saying that you should be totally ignorant of software engineering best practices, design patterns, etc. What I am saying is that there is a limit to how effective you can be in reality if you live purely within the development silo. Having a "DevOps" role (granted, self-imposed in my case) has been one of the best things that's ever happened to me as far as making me a better developer, right up there with the standard oldies like writing your own recursive descent parser and compiler.

    In short, it is commonly-accepted wisdom among programmers (for good reason!) that you are more effective if you actually understand the technology stack down to the bare metal or as close to it as you can manage (even if only in abstract-but-helpfully-illustrative examples like Knuth's MMIX VM), and that this understanding can only be gained via practice. It should be obvious that the same is true in the other conceptual direction through deployment and end use.

    1. Re:It's a Great Learning Experience by Todd+Knarr · · Score: 2

      The difference is between developers knowing the operations side and being the operations side. Developers need to know the operations side to know how to write software that Ops can install and manage. And they should be involved in the development environment and installation in the testing environment so any gotchas can be addressed quickly and the developers know exactly what happened and can go back and make sure it doesn't happen again (especially in production). And of course when things really go pear-shaped during production deployments it never hurts to have the developers on tap to tell Ops whether there's a simple, quick workaround that'll salvage the deployment or whether it's time to roll back until they can fix the problem. But those are a far cry from developers doing Operations support and administration work on a daily basis. Frankly they're two radically different skill-sets. They're related, sure, but having a developer doing Ops as a regular job is like having Kelly Johnson keeping a fleet of Piper Cubs in shape. Sure he can do it, and technically he can probably do it better than a regular mechanic, but in a month or so he'd be bored to tears and walking out to go work somewhere where they'd actually let him do his job designing and building planes like the SR-71.

    2. Re:It's a Great Learning Experience by nebosuke · · Score: 1

      I suspect there's a bit of a definition issue at play here (with all fault apparently being on my end, given some of the other comments in this discussion). In my mind, DevOps roles are such only if the "Dev" and "Ops" parts are connected--I.e., you manage operations for the software that you've developed. I agree that there are rapidly diminishing or negative returns otherwise. E.g., if you write some Nodejs web services on Monday and troubleshoot MS Exchange/ActiveDirectory integration issues on Tuesday, there isn't much benefit. In that case, however, I'd argue that you don't have a DevOps role, you just have 2 different unrelated roles (which, as I stated, is apparently a definition issue on my part).

      The only part that I would argue with is..

      The difference is between developers knowing the operations side and being the operations side.

      You cannot, in my opinion, "know" the operations side if you have never actually been the operations side. The real question is whether knowing the operations side is worth the effort of being the operations side (at least for a while). In my experience, the answer is unequivocally "yes" (but again, with the caveat that you are the operations side only for the software that you develop, and not for, e.g., rolling out the latest Windows service pack to all users at your location).

      I should also clarify that my experience has only been with internal development. The demographic differences with respect to external-facing applications (i.e., user/developer ratios on the order of possibly millions to 1 vs. 10s or 100s to 1), among other things, would necessarily limit the ability of developers to participate in operations.

      As you've noted, having to run operations to the exclusion of all development activity would bore you to tears. What that has done is forced me to consider--to a degree and precision that would never have occurred to me previously--how the design and architecture of a proposed solution impacts deployment and operations. Because I did not want to spend all my time supporting the system I mentioned in my previous post, I designed it such that it required about all of 30 minutes every other month to administer, and was easy as hell to troubleshoot in production. This meant a much more complex design, and more difficulty in implementation, but saved me a ton of time on net balance such that I could still spend the vast majority of my time doing more interesting stuff.

      If deploying and administering the software that you've developed becomes your full-time occupation to the exclusion of all other activity, then either:

      1. You do not actually understand deployment and administration in the relevant environment(s), and are therefore horribly inefficient at it (and would benefit greatly from learning).
      2. Your design made it very difficult/time-consuming to deploy and/or administer. This is almost an inevitable outcome if the above is true, but can also occur if the developer has a "not my job/problem" attitude when it comes to deployment and administration, or can be a straight-up deliberate trade-off based on available resources.
      3. Both of the above. Or...
      4. You are working at a scale or in a domain for which deployment and administration is an inherently difficult problem independent of solution design (though paradoxically in this case it is usually even more important for the developer to understand Ops, because while there may be little they can do to make the hard problem easier, there are lots of ways they can inadvertently make the hard problem impossible).
    3. Re:It's a Great Learning Experience by ljw1004 · · Score: 1

      I've heard something similar...

      If devs have to LIVE with the consequences of their bugs or race conditions or misfeatures, by having to manually fix up customer accounts, or reboot the server, or just click through too many screens, then it really focuses their minds on what are the important bugs to fix, helps them triage more effectively, helps direct their coding energy in the right place.

      PS. This is only for devops work on the systems running YOUR software. If course it doesn't apply to what most people in this thread are discussing, doing devops work for code you didn't write.

  25. Saving a few pennies by Anonymous Coward · · Score: 0

    By trying to save a few pennies, the company management shoots itself in the foot.
    Although they don't know that.
    I work at a medium size company where all teams have to do everything by themselves what creates an abundance of inefficiencies and people making the same mistake over and over again.
    Having intra-team specialists for all those tasks would save so much time. money and trouble.

  26. Re:You want a job? You do what I tell you. by Anonymous Coward · · Score: 0

    100k 170k

  27. DevOps by ShaunC · · Score: 1, Insightful

    Yet another buzzword invented by some CIO/CTO somewhere in an effort to consolidate multiple job roles and eliminate warm chairs. No surprise that its genesis seems to be in the startup world.

    "DevOps" is a fucked up amalgam of the developers, the DBAs, the system admins, the mail admins, the storage and backup admins, and sometimes the field techs... All to extract more work from fewer people for less money.

    --
    Thanks to the War on Drugs, it's easier to buy meth than it is to buy cold medicine!
  28. "Developer is at the top" oh please by Anonymous Coward · · Score: 0

    If your latest vaporware won't scale, no position matters, if your code won't run no position matters, if your code is so full of bugs it drives people away, no position matters, if it doesn't do what users want no position matters. If all you want to do is be a developer, then get a job being just a developer.

  29. This is dumb by Anonymous Coward · · Score: 0

    I've seen DevOps work quite well in a large technology company (thousands of developers) - it's actually all about empowering developers to get stuff done rather than to build their software and then wait 3 weeks for the virtualization team to build them a VM, and another 2 weeks for the network folks to get around to open up ports in the firewall, etc. It's an outgrowth of the fact that system administration tasks are being automated to such a degree that, for day to day stuff, you can actually take sysadmins out of the picture - maybe you still need someone to approve things from a policy standpoint, but there's no reason to have to wait around for someone to manually configure and deploy something for you when so much can be automated with tools like Chef or Puppet.

  30. What type of Operation by Anonymous Coward · · Score: 0

    If you work in a software development shop then the Operations department IS software development. If, on the other hand, you write software for a plumbing company, yeah it makes since that you shouldn't be plumbing.

    I actually did RTFA and the supposition that flexing cross functional development skills is a bad thing is not correct.

  31. Please... by Wolvez · · Score: 0

    This smells like yet another attempt for a prima donna developer to avoid responsibility for the havoc his or her shoddy code wreaks upon the real world. Sad.

    1. Re:Please... by BradMajors · · Score: 1

      Exactly. Most developers are incapable of producing code that anyone would ever want to use.

      In multiple companies for which I have worked, it was known who was capable of producing code that could actually be shipped and who could not. Management highly valued those who were capable of producing shippable problem free code.

  32. devops == just get it running (IMO) by jopsen · · Score: 1

    That's what I do... Just get it runnning... then later, someone can fix it... Or not... And it can run until it crashes and burns...

    Unless, you're doing something really important "running it right" is often overkill :)

  33. It's all about timeframes... by QuietLagoon · · Score: 3, Informative

    .
    Operations people work in a timeframe of minutes to days

    Developers work in a timeframe of weeks to months

    Researchers work in a timeframe of years to decades

    When you take a developer, who thinks in terms of months, and task that person to think in terms of minutes and hours, you are wasting a resource.

    When you make someone respond to an overly wide range of timeframe-based events, the short term events always crowd out the longer term events.

    Have you ever noticed that companies locate their research divisions away from the day-to-day operations divisions? It is to keep the timeframes separate.

    1. Re:It's all about timeframes... by Antique+Geekmeister · · Score: 1

      > Have you ever noticed that companies locate their research divisions away from the day-to-day operations divisions? It is to keep the timeframes separate.

      No, it's turf building and budget protection. By segregating the developers from devops, devops can _hide_ their resources and keep them sequestered from developer requests. And putting the systems into a "requests go to managers, and only then to devops" makes the managers vital to allocating resources. It can protect their team from excess pecuniary demands, but far too often it's used to make the manager more important to the process than they should be, and grants them personal power over other groups' projects.

      I've been documenting a tragic example of this for the past few weeks. I'm afraid the manager is in for a _big_ surprise when they find out that writing run books is their new highest priority, and their personal approval of run books is no longer expected.

  34. Well - that's the KEY now though, isn't it? by Anonymous Coward · · Score: 0

    Do something you really like, and get PAID for it... makes that whole "that's why it's called work - you're not supposed to like it" deal that folks that might have made less than optimal choices, end up in.

    That goes for any job - doesn't have to necessarily be all DRUDGE dreaded work, but a job instead, for any field, for any person.

    Ever heard "Happy Workers are GOOD workers"? They are. I've had my time in mgt., they are. I've been on the other side, Thing is, we all answer to someone. Ultimately the one that owns the place or a board full of them, etc.

    (Have we all had a "shit job"? My guess is yes. I have. I get out of them fast, or just avoid them - unless I need the money, REALLY bad that is. Then it's welcome to the world of "you have no choice"... happens. For me, when I was younger really. Didn't have good ideas a couple times on what I was looking for, OR what I wanted really...)

    APK

    P.S.=> It's a lot of good early guidance in life or examples mostly you hopefully got the benefit of being exposed to as a young one really - it all starts @ home etc. that helps you, imo, find that right area from examples you see...

    ... apk

    1. Re:Well - that's the KEY now though, isn't it? by ShieldW0lf · · Score: 1

      Happy workers are good workers, but proud employees are bad employees.

      --
      -1 Uncomfortable Truth
  35. python guru-pth! by Anonymous Coward · · Score: 0

    So if this douche is a python guru, that shows just how much the guru know about the enterprise and how SDLC works in reality.

    The level of separation that said python guru is familiar with is mostly a product of Sarbanes–Oxley.

    However before SOX this level of separation was very common in mainframe shops, where frequently developers weren't even allowed to compile their own SQL. That was the DBA's job.

    In start-ups, even before the great internet revolution developers frequently performed all roles, Hardware, Admin, DBA, and Dev.

    I think the guru needs to get more experience out of the python box.

  36. Cry more, cupcake... by Rick+in+China · · Score: 1

    In SO MANY cases, especially in big companies as the OP has alluded to, there is a huge bottleneck in communication between developer and operations - resulting in submitting tickets, waiting in queues, eventually getting operations-related work done so they can unblock their development progress. Solution? Give them the power to make changes themselves. Result? DevOps. OP is just a whiner because he doesn't like what so many demand. Great. Many companies don't even know what devops is, let alone strive to implement it - join one and shut up, nobody gives a shit if you don't like how your organisation is changing your position to one where your existing role is sent to an offsite backup warehouse to die.

    1. Re:Cry more, cupcake... by Todd+Knarr · · Score: 1

      That, though, is talking about the development environment itself. Yes, there the developers should be in control of the machines. DevOps, though, is about having developers actually doing operations tasks in the production environment. That's a bad thing, because what developers are good at is very very bad in production. You don't want developers alpha-testing code and fixes where a failed test brings all of your customers to a screeching halt while the developer does a few more iterations to get his fix working right. Plus, frankly most of Operations is boring and tedious (or at least it should be) and as a developer I have little or no interest in making it my day job. I want to solve the problem of making the deployment scripts bulletproof and go on to the next problem, not spend my day watching instances spin down and up (because if I did my job right, that's all the Ops people are going to need to do).

  37. Analyst/Programmers ... by Kittenman · · Score: 1

    Anyone else remember a day when this function was split? Back in the early days, we had Systems Analysts, kept in a separate room to the programmers.

    DevOps,,. we've seen this sort of thing before. End result is that we get less specialists, and things become harder to fix when they break. But, multi-skilled people are the way things are going. And have been since ... well, Michaelangelo was a sculptor who was asked to paint. And I have some of his sonnets, somewhere.

    --
    "The greatest lesson in life is to know that even fools are right sometimes" - Winston Churchill
    1. Re:Analyst/Programmers ... by Anonymous Coward · · Score: 0

      Splitting Analysts and Programmers into separate jobs is useful. Having a dedicated Ops position (the guy that turns the servers on) is not. Sure you can end up in a clusterfuck situation where you systems become so insanely idiotic that it takes a specialist to make them work, but that is not a very good outcome.

      DevOps is about designing your systems so that the developer can just click and deploy the work they've created. If that means less operator jobs then cry me a river.

    2. Re:Analyst/Programmers ... by BlazingATrail · · Score: 2

      you used to carry your stack of punch cards to a Demi-priest, who passed them to the Priest who was the only one that was allowed to touch the computer. Funny, how even today that role still exists.. it's called a DBA.. these jerks won't let mortal developers near a database, even though the dev writes the script to be run against production, and DBA monkey just hits Run for you.

  38. horseshit by whistl · · Score: 1

    Developers too often seem to think they know everything, when (esp on large teams) often they have zero idea what it takes to bring their ideas to the real world. It takes serious designers to develop a scalable app, even if lots of people think they know how. I work in production support of multiple websites, meaning I have to clean up after the mistakes developers make on a daily basis. The support folks who have to write patches for our products often grieve over the situations the original developer placed them in. It often takes a major rewrite to fix many performance issues, because the original programmer never imagined all the different situations their code would be used. Prod support is where the real issues are discovered and solved. Accept it and move on.

  39. The Disney Way by BlazingATrail · · Score: 1

    Read the book The Disney Way.. it doesn't matter if you are the CEO or there to paint the fence. If you see garbage, you pick it up. It's about everyone pitching in to make a company awesome. (said in a Disney Princess voice)... but seriously... Of course everything is a balance, I think the operative word is "occasional" ops.. it doesn't take much time out of dev schedule to manage a web server or VM so your product just keeps working, especially when it is a new product and the production ops are still being figured out.

  40. DevManPwn is better. by RandomStr · · Score: 1

    The permutation of so-called devops that works best for me (and successful start-ups IMHO) is where the developers are also management(being the owner is the cherry on top), of course it only really works in a software company...

    You'd be amazed at how much more accountable(function) non-devops managers are when they know then can't pass the buck the developers(threaten outsourcing, etc.). Think Bill, Woz, Sergey & Larry etc...

  41. It's just like when agile went hip... by jopsen · · Score: 1

    The problem that others are having with DevOps is that they seem to be defining it differently than you are.

    It's like agile... when it became hip to be agile, some people started reading thick books about it - at which point - the point is missed :)

    DevOps is possible because you can rely on hosted services, like github, travis-ci, heroku (the whole push-to-deploy movement), EC2, AWS S3, Azure table Storage, and various other vendors like CloudAMQP, Heroku hosted postgres, etc...

    All of these hosted services means that there is much less administration and maintenance, plus, these services can be provisioned with the push of a button, rather than filing a bug with IT and waiting 3 months for a result.

    The problem is that some people misunderstand DevOps, and miss the point just like some people did with agile development.
    Also just like agile development, DevOps isn't the right tool for everything.

    So, nothing new...

    1. Re:It's just like when agile went hip... by acroyear · · Score: 1

      Well I would counter that a DevOps team is needed even for customer-deployed or self-run cloud apps (where you're running the cloud in a data center instead of using services like NetApp or AWS). The jobs they do are useful there, in fact more so as staging DBs and environments for QA is harder when you're running all aspects of the cloud layer (though with customer-managed old-school desktop applications, QA is more responsible for their deployments, since testing installation instructions becomes part of their job).

      But otherwise, yeah, treating DevOps like a panacea that will solve everything (thus necessitating hiring a DevOps manager who is 'smarter' than your lead architect, at possibly outrageous wages or options) is asking for failure.

      --
      "But remember, most lynch mobs aren't this nice." (H.Simpson)
      -- Joe
  42. Devops is not killing the developer by kimvette · · Score: 1

    Devops is not killing off developers. What it is doing is combining the jobs of a traditional Release Engineer and a traditional Linux System Administrator. It's right up my alley, actually, so I am looking to move on for exactly such a position.

    --
    The Christian Right is Neither (Christian nor right). See: Matthew 23, Matthew 25, Ezekiel 16:48-50
  43. DevOps by Anonymous Coward · · Score: 0

    Just another buzzword of the day. When I first came across this term it was described as a tighter collaboration between development and operations instead of the build it and let someone else worry about getting it into production.

  44. DevOps developer by RobertKozak8206 · · Score: 1

    DevOps is not a developer role. http://www.dropfolder.org/?p=6...

  45. Primarily Ops by _dougster · · Score: 1

    What I have seen when interviewing at tech startups in the bay area (and I've interviewed with a lot) is that devops roles are primarily operations roles, with an added emphasis on working with developers to get code out quickly. Simple as that. Companies still expect the devops guys to do all the sysadminy stuff, and respond to alerts and put out fires.

  46. Overly broad by Anonymous Coward · · Score: 0

    All DevOps teams are not the same. I work for a large and very much not cheap company, and while we do some minimal sysadmin work to develop a product and get it rolling we ultimately hand off the systems to IT + developer teams to maintain long term. I would say that system administration is less than 10% of my job.

  47. tautology by Mozai · · Score: 1

    "Somewhere along the way, however, we tricked ourselves into thinking..."

    So: when a good idea is implemented poorly, then bad things happen. Why is this news?

    'DevOps' isn't killing the developer; people who are abusing developers are killing developers and using [place idea here] as an excuse. If you focus on 'DevOps', then you're going to throw out an idea and do nothing to prevent people abusing developers and using [idea n+1] as an excuse.

  48. not all coding requires databases by Chirs · · Score: 1

    I worked for over a decade in embedded stuff, mostly Linux kernel development. I didn't do a smidge of database coding the whole time. It just wasn't a factor. On the other hand, I did learn assembly language for five different architectures, found locking bugs in glibc, binary-patched the running kernel for a production fix because the client didn't want to take a new release, and a bunch of other interesting stuff.

    And now I'm working on a different project that uses databases heavily, so I'm picking it up as I go.

  49. Different mindsets required by dbIII · · Score: 1

    New code is not perfect on creation and developers need to be prepared to swing the axe, scrap stuff that doesn't work and start off different approaches.
    However in production it's better to make very gentle changes to a unstable house of cards even if it is utter shit held together by chewing gum and string.
    To work in both you need to be able to switch between mindsets because they are really very different jobs. Someone working in both is not ideal. Even if you are very good at both there is a strong temptation to make radical changes, make incremental changes an place them in production and thus limit options in development or to develop something new that incorporates the flaws of something in production. An ideal is good communication between people in both roles.
    "Switching hats" can result in too many compromises and being either too conservative or too radical for the project. If you are stuck in that situation external input from testers or somewhere is vital as a sanity check.

  50. OP can't grok DevOps by Anonymous Coward · · Score: 0

    My experience, having been DevOps my entire career, is that it takes really smart and capable people to successfully fill DevOps positions. Those who are mediocre end up completely fubaring things and making cause for separate roles. I hate doing just Dev or Ops, because you can't build really good systems that way. Pure dev types can write bad code because they don't know how it actually runs on the system and don't know how to optimize it for the environment; surprise, because they can't grok the Ops part. The pure Ops guys think all dev guys are idiots and lord over them, leading to class wars and fiefdoms. So, the best way to manage an environment is to have multidisciplinary people.

    In essence, if you can't do, complain. If you can, do.

  51. Why is that a problem ? by Anonymous Coward · · Score: 0

    Maybe he should realise that there are lots of developers out there like me who enjoy the occasional sysops work, and whose knowledge of the product can really make a difference when it comes to running a smooth operation.

  52. So developers are better people? by petes_PoV · · Score: 1

    You do a disservice to everyone involved when you force your brightest people to take on additional roles.

    This sounds as if the author is saying developers are brighter than other people. Well a few may be, but when you look at most of the dumbass bugs that appear (not to mention the spelling mistakes, tortured logic, crappy coding styles, and mistaken ideas of what constitutes "good") I really can't see that being the general case.

    As it is, I feel that it does developers GOOD to get them into a position where they see apps and O/S's from the other side. After all, these were developed, too. So all you're asking the developers to do is see what the results of software development looks like. Rather than allowing them to live in an ivory-tower, isolated development world and then tossing their deliverables over a wall for other people to munge into something workable. If they don't like that, then maybe the problem is with their own craft: producing bad products, than with the operational work.

    --
    politicians are like babies' nappies: they should both be changed regularly and for the same reasons
  53. You do computers, right? by msobkow · · Score: 1

    To the general public (and unfortunately, most management), people who "do computers" are presumed to be interchangeable jack-of-all-trades miracle workers.

    I don't know how many times I've told bosses I don't do networking, I don't do hardware, I can't repair their laptop, and so on.

    --
    I do not fail; I succeed at finding out what does not work.
  54. Huh? by Anonymous Coward · · Score: 0

    You do a disservice to everyone involved when you force your brightest people to take on additional roles.

    Programmers our brightest people? I work at a theoretical physics department, you insensitive clod!

  55. DevOps killing developer? by Anonymous Coward · · Score: 0

    I see his point, but not that I see that it kills the developer. We developers strive to have mostly identical development- and production environment. This leads to more bang for the bucks, deploy more often, update more often - win win win. When production and development environment are identical, the developer have defined the environment running without any sysadmin polluting the environment :-) Sure servers still need diskdrives replaced, ram upgraded, new blades installed - but no sysadmin should ever try to orchestrate a complex software architecture - it should be automated. Preferably by the developer who know the details about its internals.

  56. Jeff Knupp got it wrong by prefec2 · · Score: 1

    In essence DevOps is an approach to not only allow continuous integration, but go further and allow "continuous deployment". This is necessary to allow software to follow user needs more quickly. Nowadays in many large companies there is some software governed by the IT department and many small tools are ungoverned derivatives of other tools implemented by some management person in Excel. A lot of company knowledge resides in these software pieces. And companies rely on such tools. However, those tools are inherently dangerous, as you do not really know if they work properly and in all cases they are used. Nor is known what the local version actually is capable of, as there are so many different versions available.

    Therefore, research wants is to get rid of the need for non IT personnel to come up with "clever" hacks and allow for fast development times. DevOps targets exactly this issue.

  57. Would agree but I don't by SpaghettiPattern · · Score: 1

    Would agree but I don't. Primarily, to design en develop systems well you should have a full view of all its influences across your organisation. A well designed system should intentionally consider all aspects well, against the business strategy.

    Having worked for huge organisations, I must say systems are rarely designed well. Their influences across all disciplines are hardly ever fully considered. From one side I agree that one should avoid paralysis through analysis and that eventually some programming must commence. On the other hand, the badly designed systems come in large packs. As a consequence, putting stress and strain on the organisation and eventually affecting the bottom line.

    A good op's input will inevitably be of great value to system designers, as the latter usually have no hands-on experience in the concepts they studied. Indeed, input from all affected disciplines is valuable. Until utopia (CMM level 5) is reached.

    --

    I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
  58. devops vs silos by Anonymous Coward · · Score: 0

    devops is about bringing down the silos that are in place today. ops doesn't talk to dev and dev doesn't talk to ops and when shit hits the fan they point fingers at eachother. devops does away with the silos and makes people work together and make a project a joint responsability between dev and ops.

  59. Happens in hardware, too by EmagGeek · · Score: 1

    In a past life, I worked for a company that developed control hardware. I loved designing hardware and software, and I could focus on it. When the time came to build prototypes and manage BOMs and shop vendors for parts and all the niggly crap that surrounds actually building something, there were people who did that.

    One day, all of those people were laid off, and we engineers had to start doing all of that work ourselves. Suddenly I was spending 20% of my time doing my job, and 80% on my time doing the jobs of all of the support people who got canned.

    I didn't stay too long after that, and neither did any other engineer who was good enough to get a job during a recession.

  60. Applies elsewhere by Anonymous Coward · · Score: 0

    I'm a tech guy. love getting my hands on the stuff for hours. But now my job has evovled into me keeping half the small company running. I started as the tech guy who did data entry, and now i'm also fielding calls, performing on site audits, putting projects together, ordering for projects, executing, securing rebates at the utility level, closing the projects out, keeping an eye on all running projects, making sure our exterior staff have what they need to perform THEIR job, and juggling whatever i've got in order to put any new fires out (as well as keeping our inventory room, office supply cabinet, and shed neat and orderly, which gets wrecked about every 2 months).

    Honestly i'd like to just go back to the data entry when life was simple but i've got my fingers in all the pies now and i'm split. Like it says, most good (whoever the shat you are) can almost pull this off - and i can almost do it all, but i can't. It's just too much for an 8 hour work day, and it's too much for the amount of 'processing' that needs to happen in parallel. And i sure as hell don't get paid enough to work overtime on this stuff with the amount of attention all these things ACTUALLY require. I couldn't go back to data entry if i wanted to.

  61. You mean devs don't do ops? by Anonymous Coward · · Score: 0

    Everything I've always done has been a combo of dev and ops - are there places where you just code and never touch ops? Wow.

    1. Re:You mean devs don't do ops? by mr_mischief · · Score: 1

      Yes. In some organizations developers develop the applications, sysadmins administer the systems, and a dedicated devops team figures out automating deployment of the systems configurations and the applications. This allows the people who aren't cross-disciplinary to focus on their strengths. The devops team will often do some limited development, but it's not development of the application.

      DevOps builds tools to enhance system administration and application management like monitoring plugins, configuration management rules, plugin libraries for the configuration management system (like Puppet or Chef), any customizations to service startup and shutdown scripts, and templates for the service configuration files. We build middleware systems and the management and failover setup so that sysadmin can focus lower down the hardware/software spectrum and the application developers don't have to code for which database server is their primary and which is their failover at the application level.

      Sysadmins are the ones on call that handle the hardware, the capacity planning, the spin-up of systems, and the troubleshooting of the OS, hardware, and system services like database or mail servers. Application developers design and implement the application. DevOps make sure the deployment and management of the service configurations, system user accounts, config files, the application, and all the supporting software required from upstream by all of those things is repeatable, centrally managed, and documented.

  62. Respectfully by fishthegeek · · Score: 1

    There are extraordinairly few developers that have a decent understanding of security principles, networking, or any one of a thousand things that the sysadmin does every day. The mistakes I've seen well educated developers make.

    --
    load "$",8,1
  63. That's Not DevOps by qodfathr · · Score: 1

    While I'd argue that any good developer should have more than a passing understanding and empathy for operations, what is being described here is not DevOps. Let's steal a definition from Wikipedia: DevOps (a portmanteau of development and operations) is a software development method that stresses communication, collaboration and integration between software developers and information technology (IT) operations professionals. DevOps is a response to the interdependence of software development and IT operations. It aims to help an organization rapidly produce software products and services.

    DevOps is NOT A ROLE. DevOps is a methodology concerning increased communications between development and operations. For example, DevOps tools may help coordinate software releases across environments -- e.g., helping to ensure that the same software is deployed in the same way in Dev, QA and Production, thereby avoiding potential issues created due to different configurations or dependency combinations. Going the other way, a system monitoring tool which collects information on software failures may be augmented so that IT can choose to collect more detailed information (e.g. stack traces or memory dumps) and have all of that data attached to a bug report published into the developers' bug tracking system. Analytics are a growing area of interest in DevOps, facilitating the collection and consolidation of product and feature usage, making that available in a consumable format for business analysts.

    That's what DevOps is in an established organization. It's a Really Good Thing, and once you've experienced it, it's hard to work anywhere that doesn't take DevOps seriously.

    --
    Yes, it's true. This man has no dick.
    1. Re:That's Not DevOps by Anonymous Coward · · Score: 0

      I think that's the point of the article... however well or badly stated it may be.
      It seems to happen a lot in the development world. People take a methodology, like DevOps, or Agile, or whatever, and they try to turn it into a checklist, a sheet of paper they can put up on the wall and say, "See, we're doing it".

    2. Re:That's Not DevOps by plopez · · Score: 1

      There is what I call "Cargo Cult" management. Some smart people observe things, collect metrics, and develop techniques which improve the way of doing business at least in some circumstances. There are some successes at least initially as early adopters see its value and being often above average use it in their situations. But then it becomes popularized by seminars, books, etc. and it becomes a buzzword. So people buy the books, got to the seminars, take the training etc.

      But something happens. Maybe the intelligence level regresses to the mean or the people picking it up are too rigid to change or they are too cynical or lazy. But instead of really understanding the methodology they just buy the books, attend training and seminars, get the certifications etc. They know the buzzwords but they really do not know the meaning behind them. They do not "get it". It becomes a "Cargo Cult" exercise. So it starts to fail and people start to look for the next magic bullet.

      It happened with TQM, Six Sigma, CMM, XP Agile, pair programming, and probably a host of others I probably do not know of.

      --
      putting the 'B' in LGBTQ+
  64. We had a name for that. by Discgolferusa · · Score: 1

    One of my old companies had an actual name for those of us in that DevOps role. It was called the swat team. We were the ones called in when it absolutely had to be done yesterday. Did it suck? Sometimes, but when we said something needed done, management actually would listen instead of blowing it off.

  65. Moar DevOps! by ilsaloving · · Score: 1

    We need *more* of these kind of positions, not less. Pure developers generally don't understand, and often don't even care, what happens to their code after it's gone through their build cycle.

    There are way too many products out there, especially those in the 'enterprise' category, that are absolutely ridiculous to install, maintain, or both. They let security concerns fly out the window because having some random port open is more convenient to them, and hell with the risks. Developers should be *required* to spend time learning about and maintaining infrastructure on a regular basis so that they understand how their code impacts said infrastructure.

  66. what hubris by Anonymous Coward · · Score: 0

    Does this full stack development include OSI 1-7?
    If not, get off my lawn

  67. This really resonates for me! by Just+Brew+It! · · Score: 1

    The phrase "technology utility player" almost perfectly describes my current role. My official job title is "Principal Software Engineer". However, I spend less than half of my time doing actual software development. I am also responsible for maintaining the Linux side of our infrastructure (it is a mixed Windows/Linux environment and IT only manages the Windows side); occasionally get pressed into service debugging low-level hardware issues in prototypes of custom boards and cables; and until fairly recently was being shipped all over the country on short notice to support product demos.

    TBH I actually enjoy this kind of role, except for one aspect: I don't think management understands that everything takes longer because I am juggling so many different things. All they really see is that Project X, which was supposed to take 80 hours, takes a month or more of calendar time. Or that infrastructure issue Y goes unresolved for weeks because it isn't an emergency (yet) and never floats to the top of the priority list.

    There used to be two of us "utility player" software guys here. The other one quit a few months ago, and we were not able to find a replacement with the same mix of skills. This has definitely lengthened the list of things I need to juggle.

  68. But are they being forced? by Kimomaru · · Score: 2
    "You do a disservice to everyone involved when you force your brightest people to take on additional roles."

    I'm not sure that's accurate. Programming skills are pretty important today and most people, including myself, learn to code so that their current skill set (and market value) can be enhanced. It used to be that if you need an application, you'd have to buy one or hire a contractor to build one. So, this route has some problems associated with it besides cost. For example, if what you buy breaks, it's harder to fix without calling the company that made it. If you work in telecom and need a call center wallboard, you can either buy one or make one. I chose to write my own with Debian, PHP, and Apache. And it works just the way we like it, we have full documentation on how to rebuild it if needed, it's an inhouse solution that was built by "DevOps". There was a steep learning curve to develop the skill set to do this - it took a few months of hard work and learning. But it was totally worth it.

    If anything, the existance of DevOps is totally natural and was born from necessity. If I were a full time programmer, would I be bothered by this trend? Maybe.

    1. Re:But are they being forced? by malkavian · · Score: 2

      Nice when you get the time to develop every system from scratch, and don't have multiple departments saying "We need this now". And actually meaning it.
      Then having to ensure that what you've put in place stays up with a 24x7x365 uptime requirement, and recoverability to the last transaction.
      Oh, and hey, this thing that some department has purchased because they couldn't wait for the system to created, it only runs on another version of Linux (or on Windows with SQL Server!).. They need that put in there too.. You say no? The execs say yes, as they're already bought into it.
      And the regular programming load while you're setting this in? Not getting any lighter.
      Building things back to initial point in time is simple; any full fledged config management system can do that at the press of a button. Keeping it running, tuned, and error free.. That's the interesting bit.

    2. Re:But are they being forced? by Kimomaru · · Score: 1

      I think that's how the DevOps role came about - it evolved from a need that required filling. I can imagine the weight of the workload that comes down on a dedicated programmer (as you've pointed out). A DevOps person can build what they need on a different schedule. I had weekdays and weekends to build my project exactly how I wanted it - an appliance that runs a wallboard that can be rebuilt from scratch in a little over an hour.

  69. Mind-numbing corporate expectations by Anonymous Coward · · Score: 0

    I am very good a starting a project, estimating what the final product needs in features & usability, producing the product, & preparing the product to ship. I've done it lots - even got laid off & brought back as a higher-paid temp to finish a job at one employer whose layoff criterium was more religion-based than capability-based [I was living in Utah at the time!] Unfortunately, most corps want me to become a Microsoft Project & Excel wrangling project lead to "get ahead" within the corp. Spend all my time in meetings & struggling with crap when I want to do tech. Then I get told my wage is getting too high for my bracket. Obviously, typical corps have no clue how to recognize talent & position the corp's tech structure to maximize tech output - they only know how to turn everyone into an accountant by assigning work that a third-rate accounting student could better do. Dull...

  70. Developers are not the top of the food chain. by asysarchitect · · Score: 3, Insightful

    Several problems with the original article. Jeff makes the assumption that Developers are at the top of a totem pole and all others are below this developer hierarchy. This is the problem with a lot of younger developers, most who are jumping into development with no structural background in the operating system or real production operations. This premise leads developers to think they are superior to everyone, rather than focusing on building applications that must run in an operational context of being well-behaved in the environment they run, and allow for maintenance work of the operations environment. This is why you see anecdotal articles coming out that talk about the frustration and friction between developers and operations people. The truth is, most developers will be better developers if they learn a little more about how their app will work in a production environment. They will build better applications because they understand the environment better. Your architecture should be loosely coupled, that is, it should not stack up on a single server but rather be broken up into smaller components that can be built for scale across multiple machines and be able to fail over to redundant systems. Ops people will be more than happy to help get you there, but you need to think about how your app will fail as much as how it will work properly. The developer also needs to stay away from dictating specific languages -must- be used to run operations. Rather, they need to understand that operations is best suited to a polyglot of different kinds of tools and languages, using the right tools and wares for the job, not being dictated in some kind of nanny state that says you must use this language or that for operations and all others are to be thrown out. All too frequently startups get hung up on dictating operations people must use Python or Ruby or the ops dude is a total loser. This is the kind of arrogance that shows how little most developers really know about operations. Any of the more popular tools should be available to the DevOps person so they can get things done, and developers should stay away from being nannies. In classic UNIX operating environments the system administrator is/was god, followed by an allowance to use the system granted to developers, database admins, etc. Applications have always been guests inside most Linux/UNUX-based systems, even Windows treats applications for what they are, programs that run inside the operating system. This has always been the premise of modern UNIX-based and even Windows-based environments. Ops people follow this naturally, but typically run into developers that don't want to follow the rules. Ops people expect you to write a well-behaved application. Developers expect an operations environment that runs their application without getting in the way. These two goals can be easily met if both sides work together and allow each side to exploit the system, but everybody has to allow the freedom to make things work best for the goal of building better systems.

    --
    Tim
  71. Python guru has no clue by Anonymous Coward · · Score: 0

    Python guru has no clue.

  72. I'm not seeing anything I recognize... by Questy · · Score: 2

    Integrator/Architect here... I travel all over the country (USA) for $CFGMGMT software company doing implementations and training in said package. Further, I do professional services engagements to implement and deploy devops workflows and integration paths for both operational and development workflows. I can say with great confidence that after reading the 150-ish comments here that I've only seen one or two commenters that come close to "getting" modern devops.
    As for the RTFA implications, many people saw right through his silliness. Developer in an ivory tower thinking his world is grand and majestic and lauded above all other disciplines. I guess that explains some of the crap in Python (but I digress).
    I've been in this business since before the bubble. I have done systems work dating all the way back to the 80's. At that time there were many silos with few bridges between. The first iteration of "devops" I remember seeing can be quantified as developers seeking root access. Even to this day, the answer is continually a resounding "no". Why? Are devs automatically rejected due to what specific tower they are residing in? Are they rejected because of the "separation of powers" or because of "politics"? Are ops folks just dicks with a chip on their shoulder?
    I think a number of things have happened and if you'll indulge me, perhaps we can break this conversation out more to see what's going on today.
    Back in the day, we had an operations team, systems team, qa team, and dev team. Loosely defined, these were the folks in the NOC monitoring everything and pushing ticket events to the right teams via triage, doing prints and getting them ready for the requestor, managing backups and access to the computer room, etc... general "operational" tasks. Day to day "operations" of the center of computing for your facility. At some point, this title got applied to anything that smacked of someone whose fingers touched anything made of metal. When this seemed to change? Late 90's-ish. I don't have specifics, but that's my recollection. Remember also that different sections of the country progress at different rates, so YMMV.
    Then there was the "systems team". Different sites had different monikers for this team from "engineering" (which PEs got pissed about) to "architecture" to "Systems Admins" to... well, whatever title HR thought was appropriate and met their organizational/talent distribution goals, but the work was generally the same. Storage, systems (mid range, intel, mainframe, etc.), capacity planning, backup systems and strategies, disaster recovery, and a myriad of other specializations within systems work. This is the specific "field" of systems work that breeds organizations like SAGE/LOPSA, etc. Those in these organizations dig into the very nuts and bolts of admin as a career and a field of expertise, following current research and methodologies and bettering themselves each and every day. I would offer that while dev folks can be quite competent in various systems tasks, they're just not a sysadmin (much less an engineer or architect). They really have no place in this area REGARDLESS of their quality at it.
    Many times I've heard dev get bent out of shape because "ops is being a blocker" or "we can't get anything done because ops is saying 'no'". It's unfortunate to be that myopic and that selfish. What many devs don't understand is the ops person they're dealing with is supporting sometimes as many as 10 different DEV teams operating on the exact same hosts or clusters of hosts and one or two of those environments is the pet project of VP #13 that agreed to a bunch of junk on the golf course that isn't in the statement of work, but is being offered "on the sly". They don't understand that dev #22, who has relationship with VP #11 and can essentially get what they want has forced you to introduce "whiz bang package or library 1.2.3.4" while the safe, researched, CERT recommended package is 1.2.2.2 (and, incidentally is the one all the other dev teams are u

    --
    #!/Jerald
  73. my experience by buddyglass · · Score: 1

    I'm a senior mobile dev. at a ~30 person startup who's recently been asked to step into a "DevOps" role. It's being represented as a promotion, since in theory the role will involve more responsibility than my current "pure development" role. Its been pitched as a part-time thing with 30-50% of my time staying devoted to mobile development. At this particular company the DevOps role is seen as being responsible for deployment, but also the build environment and some internal productivity and monitoring tools that require some development effort but aren't part of the company's core product. We'll see how it goes.

  74. What about the SysAdmin? by adosch · · Score: 2

    Horrible assumption that you think developers are top-dogs, Jeff. I've seen many cases were DevOps role FAILED for competent developers because, in the cases I've seen, this is true:

    * Your smartest developer may be just that when it comes to language, software architecture and platform development, but their operating system, networking, hardware infrastructure knowledge + background is not even hobby-shop at best.

    * They've always had an ops or engineering crew to throw their code at, figure out how to integrate it, and NEVER had to support it.

    * Ego problems thinking they are 'above' remedial automation --- which most of the time doesn't involve a real development language, just scripting.

    Out of those two things alone, I've always heard the: "Well we need a sys-admin/engineer now because we are spending more time trying to manage systems, not really sure how or what to automate, and it's really taking time away from me getting back to the kind of development I, as the developer want to do." Which is the polar opposite of the two points I mentioned above.

  75. DevOps that work.. by malkavian · · Score: 2

    A working DevOps group should be an amalgamation of the Dev team and Ops teams.
    Trying to forge one team where everyone knows everything simply sets a level of mediocrity; you can research so far down an avenue in a given time, and get only so good at it.
    I've learned from the ground up (i.e. electronics, basics of VLSI, board design, basic OS design, all layers of the stack programming), and went from there on to system admin. Then did a stint as a developer using the knowledge that I had from my earlier history, and found that the sysop area of my knowledge atrophied in the detail (and the devil is _always_ in the detail) the more I concentrated on being a better dev.
    Went back to more of the operator/business side of things, and lo and behold, the more I go into systems and how to put together a proper reliable, recoverable infrastructure, the more my dev is atrophying. I'm half management these days, which means the ops side _and_ the dev side are both atrophying. The guys that do it in a dedicated fashion are more familiar with the latest tech than I am..

    You can be a jack of all trades.. But I seriously hope a company doesn't rely on you to get them out of trouble when the fecal matter hits the fan.. If you've been spending most of your time developing, with the nod to tuning the servers so your app runs better, you're not likely to have been able to put the time in to develop the wider infrastructure to support things going fubar, or had the time and concentration to really work out what is likely to get you.

    Having a few people marked as DevOps would be useful when you need to populate a middle ground.. They can work with both dedicated ops, and dedicated dev to ensure that scalability is baked in, and resilience is baked in to the apps. When it comes to ensuring the boxes are kept in tidy order for everyone, and get to be able to recover from the smoking ruins.. That's where the dedicated ops shine. When you really want that app to do something really slick, that's when a dedicated dev shines.

    Small scale, a DevOps person would work. The larger you scale, the less appropriate it becomes (as the only solution; a big company with the techs being solely a DevOps team would scare me).

  76. It's just a name by Anonymous Coward · · Score: 0

    A lot of people get hung up on the DevOps name, rather than looking at the function the role needs and gives.

  77. Usually its Ops that is forced into it by Anonymous Coward · · Score: 0

    But hey its not like part of the problem in many organizations is the us vs them mentality and once something is released its operations problem from now on. What needs to happen is to stop the rock star mentality.

  78. Ah yes, the articles about a popular myth. by Cammi · · Score: 1

    Ah yes, the articles about a popular myth. It is (has been, is, and will always be) possible to wear multiple hats and get things done right. This sounds like another FUD article written by someone with a chip on their shoulder.

  79. promotion for sysops, demotion for programmers by cwbright1 · · Score: 1

    I pretty quickly came to see the devops movement as a pretty blatant way for management to give a promotion to sysops, and a demotion to programmers. Beyond that, in a medium or large organization, devops runs counter to economic theory: I have a comparative advantage in writing code, which means that the organization should optimize that benefit by having me do that a lot, rather than being a mediocre admin (which I am -- I really suck at it). But there are guys who just love the operating system stuff, and have a real comparative advantage at managing systems. So they should do that as much as possible. But that's not to say that an administrator shouldn't program when needed or when they want to, and I shouldn't install stuff on systems when needed or when I want to. Barring personal interest and ambition, specialization is actually a basic economic premise, and devops taken at face value runs counter to that.

  80. Re:You want a job? You do what I tell you. by Anonymous Coward · · Score: 0

    If you're doing nothing while waiting for the DEA to do something do you still get paid?

  81. ops? devops? techie? by Mirar · · Score: 1

    Do I get this wrong:

    DevOps is a new term invented by people that don't really understand tech people to cover everything so they don't have to decide who does what and can bundle everyone with the same title and have them solve whatever tech problems might pop up?