Slashdot Mirror


Ask Slashdot: What Are Some Hard Truths IT Must Learn To Accept? (cio.com)

snydeq writes: "The rise of shadow IT, shortcomings in the cloud, security breaches -- IT leadership is all about navigating hurdles and deficiencies, and learning to adapt to inevitable setbacks," writes Dan Tynan in an article on six hard truths IT must learn to accept. "It can be hard to admit that you've lost control over how your organization deploys technology, or that your network is porous and your code poorly written. Or no matter how much bandwidth you've budgeted for, it never quite seems to be enough, and that despite its bright promise, the cloud isn't the best solution for everything." What are some hard truths your organization has been dealing with? Tynan writes about how the idea of engineering teams sticking a server in a closet and using it to run their own skunkworks has become more open; how an organization can't do everything in the cloud, contrasting the 40 percent of CIOs surveyed by Gartner six years ago who believed they'd be running most of their IT operations in the cloud by now; and how your organization should assume from the get-go that your environment has already been compromised and design a security plan around that. Can you think of any other hard truths IT must learn to accept?

238 of 421 comments (clear)

  1. That you can all be outsourced by Anonymous Coward · · Score: 1

    suckers haha

    1. Re: That you can all be outsourced by dougdonovan · · Score: 1

      that the stock market decides their career no matter your IT level is and what the shareholders say...goes...cya...invest in the company you work for and become a senior shareholder.

    2. Re: That you can all be outsourced by Anonymous Coward · · Score: 1

      Right, because Socialism is so fucking rewarding for the individual, the talented, and the most able.

      Capitalism rewards human nature and recognizes the reality of scarce resources. Socialism pretends that neither exists.

      When you reward by need instead of ability, life becomes a race to be the most needy.

  2. The Cloud is your enemy. by Anonymous Coward · · Score: 5, Insightful

    The Cloud is your enemy. Fire anyone who offers a "cloud" solution before offering an in-house solution, because I can guarantee you that "cloud" services are only half as efficient as running the hardware in-house. The question really is where do you want your data to be.

    If you have privacy concerns (eg credit cards), then machines dealing with credit cards should be co-located in a high-security data center that you know who has physical access to it. If you are simply serving cat videos, then cloud-away, because nobody is going to care if a cat video is slow due to bad provisioning.

    But every time, it seems like I have to fight someone as to why it's cheaper to own or lease the hardware in-house rather than "cloud it", because cloud services are not as scalable as you believe it to be. The "cloud" only scales two things efficiently. CPU "TIME" and "Storage Capacity". If your IT is not concerned about these, then it doesn't belong in the cloud. If you are concerned about security or latency, those must never go into the cloud.

    If you are crunching numbers, it is cheaper to borrow the CPU power of 500 computers for one day than it is to buy two computers and have them take one year. That is where "cloud" computing is supposed to be used.

    Instead we have the morons of IT management trying to put everything into the cloud so they can eliminate IT staff, and the cost of doing this is that when mistakes are made (eg equifax) , nobody knows how to fix it, and it costs substantially more to fix by hiring new staff just to solve one problem.

    1. Re:The Cloud is your enemy. by Whiney+Mac+Fanboy · · Score: 5, Insightful

      Fire anyone who offers a "cloud" solution before offering an in-house solution, because I can guarantee you that "cloud" services are only half as efficient as running the hardware in-house.

      But then give a bunch of examples where the cloud is actually better than in-house - eg:

      * If you are simply serving cat videos, then cloud-away
      * it is cheaper to borrow the CPU power of 500 computers for one day than it is to buy two computers and have them take one year.

      Fact is, buying computer services off other people (which is essentially all the cloud is), makes a ton of sense for all sorts of applications.Be sensible, and see if your use case fits the model of your vendor.

      If you're as absolutist as "The Cloud is your enemy," then you're not suited for a job in modern IT.

      --
      There are shills on slashdot. Apparently, I'm one of them.
    2. Re:The Cloud is your enemy. by GuB-42 · · Score: 4, Insightful

      If you have privacy concerns (eg credit cards), then machines dealing with credit cards should be co-located in a high-security data center that you know who has physical access to it. If you are simply serving cat videos, then cloud-away

      I would argue the opposite, especially if you are a small company.
      You probably can't afford a team of security experts, or have any control on who accesses the data center where your machines are. Large, reputable cloud companies can.

    3. Re:The Cloud is your enemy. by Tablizer · · Score: 1

      The idea of the cloud should be hardware and OS virtualization. Where it's physically put should be secondary. In other words, cloud should not be about "outside" versus "inside" an organization, but rather "we can move it as needed, both inside and outside".

      That would be about better standards, not dragging apps out of the building and hosting them at Big Conglomerate, Inc. The problem is such is less profitable for Big Conglomerate, Inc. They know having you by the balls is more profitable and that's they they emphasize physical placement (in their bowels) over general migratability.

    4. Re:The Cloud is your enemy. by Strider- · · Score: 5, Informative

      I would argue the opposite, especially if you are a small company.

      This exactly. I work with a midsized non-profit (roughly $3,000,000/year revenues), and we didn't do credit cards for years because we didn't have the ability (or desire) to have to deal with the security hassles associated with them. We finally found a good partner/vendor and were able to outsource the credit card portion of our online operations to them, and with the long delayed arrival of proper EMV terminals in the US, we can finally handle them on-site without having to take absurd security precautions.

      In effect, the unencrypted/unsecured cardholder never, ever, touches our networks or computers. All we get from the payment processor is a hash that confirms the payment, and allows us to reconcile and/or reverse the charge if needed. It works great, and is far more secure than something I could have rigged up as a volunteer.

      --
      ...si hoc legere nimium eruditionis habes...
    5. Re:The Cloud is your enemy. by Jason1729 · · Score: 3, Insightful

      If you're as absolutist as "The Cloud is your enemy," then you're not suited for a job in modern IT.

      And to bring us back full circle, this is why modern IT is a disaster, the entire point of this article.

    6. Re:The Cloud is your enemy. by lucm · · Score: 2

      If you're as absolutist as "The Cloud is your enemy," then you're not suited for a job in modern IT.

      And to bring us back full circle, this is why modern IT is a disaster, the entire point of this article.

      Want to see to what point modern IT is a disaster: the article we're discussing comes from cio.com, the land of clickbait slideshows.

      Compare:

      Buzzfeed:
      -25 Things That May Help Soothe Your Broken Heart
      -32 Kids Who Absolutely Nailed Halloween
      -19 Pictures That Are Too Real If You Only Have, Like, $7

      Cio.com:
      -6 hard truths IT must learn to accept
      -15 essential project management tools
      -10 best places to work for women in technology

      Welcome to hell

      --
      lucm, indeed.
    7. Re:The Cloud is your enemy. by Zeromous · · Score: 2

      Never heard of an on-prem cloud? Also, serious question, after Equifax, or any number of hacks, you don't seriously think your data is any better or worse off in a private LAN, that happens to be hosted in the cloud?

      I'll admit the cloud is IT's enemy. But IT has to transform in to operations in the cloud. IT is dead. Anyone who doesn't is doomed to customer support, or worse.

      Anecdotal- my IT job of like 25 years at the same place just ended a couple of months ago. And I'm not even the oldest relic. I worked in a heavily IT focused shop, data, and physical datacenter operations. I touched my computers all the time, got nice new toys, fancy facilities. For a long time life was good until I closed down my whole physical operations and moved them to some remote faceless facility where I will never touch them (or admin them) again. They will be supported by someone else using my documentation. They will eventually roll it in to some on prem cloud. Sounds sad, and it was kind of like a close friend dying. Anyone with a brain saw it coming but it happened so fast. Anyway it was as depressing as shutting down my multinode BBS for good.

      But like getting used to how we roll on the Internet, I found a cloud job (kinda more fun than my old job) right away. Also, it seems that my years of IT experience and skills are terribly needed by the kids running the show amok. They are smart, adaptable, but do not work smartly all the time.

      So, in short I've kept my enemy close, and I've learned it's ways. I've come to see my place among their ranks as a hip grey-ish beard. That didn't happen by me fearing the enemy. And life is good for this old BOFH

      --
      ---Up Up Down Down Left Right Left Right B A START
    8. Re:The Cloud is your enemy. by Anonymous Coward · · Score: 1

      Fact is, buying computer services off other people (which is essentially all the cloud is), makes a ton of sense for all sorts of applications.Be sensible, and see if your use case fits the model of your vendor.

      If you're as absolutist as "The Cloud is your enemy," then you're not suited for a job in modern IT.

      A big company should probably not use someone else's cloud, save for things that require little protection. They are better to provide their own scalable services which meet the companies security requirements. You still can't use it for everything, but the potential is there for many things.

      The kind of idiocy I hate is when I can't request a clean stock VM and just get it for testing. I shouldn't have to wait hours, or worse if the system is buggy. Things that are expected to be common should be ready to go in 5 minutes tops by having standard ones ready to go.

      The hard truth I'd take is that software engineering is still a challenging topic, particularly when designing new things. New languages, new design patterns, new libraries are additional tools in your toolbox. Use them when the engineering case can be made, but do not mistake them as a replacement for skill. Oh, another hard truth is that sometimes we avoid databases embedded or otherwise when we should not. Embrace database oriented design early, when it makes sense to do so. If your wheel 9.999 starts to look like a DB, then odds are you should be using one. Sqlite works for a lot of stuff.

    9. Re:The Cloud is your enemy. by darkain · · Score: 2

      The really only one counterpoint I've been able to find where cloud has consistently been a hell of a lot better than in-house hardware is for DNS hosting. Having globally distributed DNS servers hosting queries for my various web sites has been a dream compared to having to manage a DNS server locally. Yeah, it isn't "hard" to do, but when the cost has literally been less than $10/mo, vs the time of keeping a DNS server up to date and redundant across multiple local systems? Yeah, its a no-brainer.

    10. Re:The Cloud is your enemy. by Chas · · Score: 2

      If you're concerned AT ALL about "security" or "latency"? Then no, The Cloud (AKA "OTHER PEOPLE'S SERVERS") is not for you. So yes, in those instances, The Cloud *IS* your enemy.

      You simply cannot guarantee the security of any hardware NOT under direct control. And if they're VMs, it's doubly bad.

      As for latency, as noted, Cloud offerings generally concentrate on "CPU" and "Storage".
      Now, if someone's somehow, begun offering an ultra-low latency service, I haven't heard about it. Though I SINCERELY doubt the service is lower latency than "A room next door to your office".

      Cloud computing is nice if you simply don't give a shit about your data.

      If you do, then you need to look elsewhere.

      --


      Chas - The one, the only.
      THANK GOD!!!
    11. Re:The Cloud is your enemy. by Chas · · Score: 1

      Not that I don't believe you. But if you were doing it, and doing it SUPPOSEDLY "right" on AWS, why is it that you speak about it in the past tense? Hmm?

      --


      Chas - The one, the only.
      THANK GOD!!!
    12. Re:The Cloud is your enemy. by Chas · · Score: 1

      If you're a small company that can't afford security experts you have no business putting secure data out on the internet PERIOD.

      --


      Chas - The one, the only.
      THANK GOD!!!
    13. Re:The Cloud is your enemy. by Lodragandraoidh · · Score: 1

      Cloud is clearly an attempt to lower headcount costs. The concept is converting the network from physical to virtual and banking on end-state automation (network elasticity, dynamic scalability, geographical redundancy and the like) to make a stronger and cheaper network to run.

      Just like all snake oil - the promises have outpaced the reality due to a number of factors, including the assumption that all problems are suitable for the original design, coupled with lack of engineering when it comes to planning the network, compute, and storage for edge cases - such as near-real-time systems - e.g. voice, telemetry, and the like. Another issue is the assumption that an application that is built and tuned to run on dedicated network and computing resources, can be easily migrated as-is to the new virtual infrastructure without integration and modification to work with the performance and resource limitations imposed by the cloud infrastructure.

      Are there applications for cloud? Certainly. But every application is not appropriate for cloud, and naive attempts to throw everything at the cloud will not have the anticipated savings due to more complex trouble-shooting needed when failures occur.

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain
    14. Re:The Cloud is your enemy. by Gussington · · Score: 1

      The Cloud is your enemy. Fire anyone who offers a "cloud" solution before offering an in-house solution, because I can guarantee you that "cloud" services are only half as efficient as running the hardware in-house.

      Like electricity generation, water purification and sewerage....
      The hard truth is that a lot of "IT people" make stupid comments like this then wonder why no-one in the business respects their opinion.

    15. Re:The Cloud is your enemy. by Lodragandraoidh · · Score: 1

      It depends on what kind of business you are in. If you are a retail outlet - then using a web hosting service - or maybe even software as a service would be right for you. On the other hand, there will be some things that you probably don't want to trust to the cloud - in particular accounts, passwords, and documents defining your own proprietary information. Those things I would keep on an air-gapped system....or on paper.

      --

      Lodragan Draoidh
      The more you explain it, the more I don't understand it. - Mark Twain
    16. Re:The Cloud is your enemy. by Darinbob · · Score: 4, Interesting

      If you don't care that all your data vanishes and can never be recovered, then the cloud may be a good idea. But most companies don't fall into that category.

      I agree that being an absolutist is bad, and often I see the cloud being used as an absolutist solution to downsizing IT staff and resources. The flaw is in not thinking when the latest buzzword is worth adopting or not. There are not many uses where the cloud works, because of the security concerns, not just security of keeping eyes away but security of keeping the data intact.

      If you do use the cloud, do not use it as a substitute for having backups. Make your own backups and have them stored off-site. Always have a plan on what to do when the cloud service fails; can you switch to another service quickly, or rely on slower local computers? Even if the internet goes down for several hours, you should still be able to get work done locally, phone calls can be made, products can be shipped, etc. Believe me, from experience it is annoying to be stuck without access to your own data and documents that you thought were local, while waiting for the local telecomm company to fix the lines that got cut.

      (Yes, DARPA researched networking protocols as a way to route around problems, but the modern internet sometimes seems like more of a loose collection of star networks)

    17. Re:The Cloud is your enemy. by Darinbob · · Score: 1

      But amazon has not put armored shields around the wires all the way to my computer. Accidents will happen. A backhoe will sever a line and the whole block will be without internet for a day or more. Amazon can't fix that. If you're a company that has real products to design, build, and ship then you should be able to continue working even if that accident happens because the data should be local, even if it's not as fast as it once was. If you have it all in the cloud then you may as well give everyone a paid vacation until the internet is back.

      This isn't far fetched or hypothetical, it has happened. Single points of failure are always bad.

    18. Re:The Cloud is your enemy. by Darinbob · · Score: 2

      People did this before the term "cloud" was invented as a new service. The danger is putting everything in the cloud, from your corporate directory to the customer contact info.

      There used to be this IBM commercial that I liked that had a bunch of seemingly clueless managers sitting around a table oohing and aahing about the magic pixie dust someone is selling. In real life, there are managers who treat the cloud like magic pixie dust, a way to fire the IT staff and auction off the servers.

    19. Re:The Cloud is your enemy. by phantomfive · · Score: 1

      We finally found a good partner/vendor and were able to outsource the credit card portion of our online operations to them,

      Who? Please tell us.

      --
      "First they came for the slanderers and i said nothing."
    20. Re:The Cloud is your enemy. by stephanruby · · Score: 2

      The cloud may be the enemy of your company.

      But if you're an exempt IT employee in the United States, unpaid overtime is your real enemy.

      Keep that in mind the next time a clueless manager wants you to install and maintain a system internally you do not know much about.

    21. Re:The Cloud is your enemy. by Z00L00K · · Score: 2

      And putting your information in the cloud is not only putting all the eggs in the same basket but all your eggs in the same basket as many other companies including your competitors. So when the basket breaks it's one really sticky mess that can take years to clean up.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    22. Re: The Cloud is your enemy. by Reverend+Green · · Score: 1

      So all small businesses should just quit and close up shop? Thanks for the insightful suggestion.

    23. Re: The Cloud is your enemy. by Reverend+Green · · Score: 1

      A $200k/yr mom & pop store needs air-gapped secure systems? I see...

    24. Re:The Cloud is your enemy. by rossz · · Score: 1

      The cloud is way overrated. Too many people think it's some kind of dues ex machina that will magically solve all their problems. From my experience, the cloud is great if you start your project from scratch on it. But if you are trying to move a large legacy cluster to the cloud, you are in for a whole lot of hurt.

      --
      -- Will program for bandwidth
    25. Re:The Cloud is your enemy. by janimal · · Score: 1

      Mod up.
      Kudos for comments backed up with life.

    26. Re:The Cloud is your enemy. by rossz · · Score: 1

      But if you're an exempt IT employee in the United States, unpaid overtime is your real enemy.

      Keep that in mind the next time a clueless manager wants you to install and maintain a system internally you do not know much about.

      My time estimates do not allow for unpaid overtime. My manager will get it when I say he will get it and no, I am not coming in on the weekend to speed it up. My time estimate also takes into account my other duties required for regular maintenance on existing infrastructure and if an emergency comes up with a higher priority, my estimate gets tossed out the window.

      If you are putting in lots of unpaid overtime, you are an idiot.

      --
      -- Will program for bandwidth
    27. Re:The Cloud is your enemy. by serviscope_minor · · Score: 2

      If you're concerned AT ALL about "security" or "latency"? Then no, The Cloud (AKA "OTHER PEOPLE'S SERVERS") is not for you. So yes, in those instances, The Cloud *IS* your enemy.

      Latency to where? With the major providers, you can rent things in various geographical regions, to give lower latency to your users if you haven't set up shop as nearby as the datacentre.

      Also, the cloud providers have a decent record on security: there's plenty of badly set up servers, but that's on the user. The infrastructure is pretty sound. And the physical security is good. AWS for example is HIPAA compliant.

      --
      SJW n. One who posts facts.
    28. Re:The Cloud is your enemy. by Anonymous Coward · · Score: 1

      This exactly. I work with a midsized non-profit (roughly $3,000,000/year revenues), and we didn't do credit cards for years because we didn't have the ability (or desire) to have to deal with the security hassles associated with them.

      This is a bit different than moving to the cloud.
      You moved generic but very important service to specialized company.
      But ... you keep your system, private information about your business in-house.
      What you can conjure from that information is yours ... and even if card processor goes down ... you can still do your business ...
      I think, that you are more or less ready to pick up another credit card processor in very short time.

      Now, moving everything to the cloud because you do not see those "server room monkeys" in your focused on business open space ...that would be different.

      And final word. you are aware of your limitations ... that is good for your company.

    29. Re:The Cloud is your enemy. by olau · · Score: 1

      Search for payment gateway. It's an old concept.

    30. Re:The Cloud is your enemy. by Hognoxious · · Score: 1

      dues ex machina

      You've got to give the devil his deu.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    31. Re:The Cloud is your enemy. by Wrath0fb0b · · Score: 2

      You simply cannot guarantee the security of any hardware NOT under direct control.

      Or you could build that into your threat model. For instance, I've seen a secure setup in which a plain off-the-shelf database was used to store data that was cryptographically pinned to an HSM. The database was then replicated into the cloud for availability and synchronization purposes. If you stole the data or otherwise compromised the cloud service, you would gain nothing but encrypted files for which you didn't have the keys. If you tampered with the data, you would trigger an integrity check. And this was within the realm of a small-to-medium sized company. Imagine my shock when a major player like Equifax just kept their entire database in the clear.

      So yeah, you cannot guarantee the security of hardware that's not under direct control. But you can use hardware that's not known to be secure if you model it properly.

      [ Or, in other words, the art of security is in writing down all the ways that things are insecure and working through them. Not by insisting that the officer printer/copier run SELinux and get regular kernel updates (hint: they write that software once and fuggedaboutit). ]

    32. Re:The Cloud is your enemy. by AmiMoJo · · Score: 1

      If you're concerned AT ALL about "security" or "latency"?

      The cloud is the only sane solution to latency.

      Either you build a globe spanning content delivery network or you pay someone else to serve your application from their globe spanning content delivery network.

      Well, there is one other solution: never grow beyond one office, never get Slashdotted.

      You simply cannot guarantee the security of any hardware NOT under direct control.

      So you want to run servers out of your office, because you don't trust datacentres? How much are you spending on redundant connectivity, backup power, air conditioning, physical security etc?

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    33. Re:The Cloud is your enemy. by plopez · · Score: 1

      what sorts of applications? I cannot think of one.

      --
      putting the 'B' in LGBTQ+
    34. Re:The Cloud is your enemy. by ctilsie242 · · Score: 1

      The fundamental truth is: You pay for those servers and hard drives, regardless if they are located at your place, or in an Amazon data center. Yes, some cloud provider storage costs are low, but if you access that data frequently, you will be paying a lot more than if you had a local SAN/NAS.

      Is the cloud the enemy? It provides computing and storage on someone else's stuff. However, one issue is that an employee working for the cloud provider is definitely uninterested in the client's data. If something happens, the client is pretty much SOL. There may be SLAs, but they at best may credit a portion of the paid costs back... which is a relative pittance.

      Then, there is the fact that if a cloud provider goes under, the servers can be sold to someone else, and all data on those servers is now free and clear to the new buyer. They can put an entire client's accounts receivable and payroll stuff on BitTorrent, and there is nothing, legally, the client of the previous cloud provider can do about it.

      Right now, we have been lucky... there have been no publicized severe breaches. However, because there are so many eggs in one basket, cloud providers are definitely on the list of places that would be attacked, just because one major breach can compromise hundreds to thousands of companies.

      The best thing to do is use cloud providers as a tool. Since tape drives are not feasible for a lot of businesses, backing up to the cloud is an option, provided one encrypts the backups. It is also wise keep a set of backups locally, and/or use multiple cloud providers, just in case one gets hacked and starts demanding a ransom for access to data.

    35. Re:The Cloud is your enemy. by PmanAce · · Score: 1

      They should fire you for thinking that. Small companies with limited budgets can't pay for in-house hardware and hiring people to manage it.

      --
      Tired of my customary (Score:1)
    36. Re:The Cloud is your enemy. by ctilsie242 · · Score: 1

      HSMs can be compromised as well. There was one Linux maker which had an account on their signing HSM compromised, allowing an attacker to sign some Trojanized SSH install packages.

      However, you are right. Oracle Wallet and transparent encryption is not tough to implement, and Microsoft SQL server can do transparent encryption as well as stash column master keys in HSMs as well. I don't get why this isn't done more, other than the fact that backing up a HSM can be tricky. Amazon's HSM requires one to have a Luna Data Backup HSM, for example.

      I'm not surprised by the fact that large companies keep their database unencrypted for anyone to dump. At best, it might be stored on an encrypted volume. Mainly because it takes some pre-planning by the DBA to implement encryption right... and that isn't going to happen in an environment where people believe that security has no ROI.

    37. Re:The Cloud is your enemy. by Sumus+Semper+Una · · Score: 1

      It's worth noting that not everyone lives in places with a glut of talented IT professionals to draw from. I live in a small city. It's easier for a small organization here to have one person manage servers from a console and backup data manually locally than it is to have that same person do the same thing plus physically manage servers. Plus, outsourcing to data centers sometimes becomes such a contract headache with slow turn-around time that cloud hosting becomes much more attractive.

      However, yes, do be *extremely* wary of anyone who claims that the cloud will cure all your ills and that everyone should switch to it no matter what. It's a trade-off, and you'd better be ok with the down sides before you even think of using it.

    38. Re:The Cloud is your enemy. by anegg · · Score: 3, Informative

      I worked in corporate IT for a fairly large (40k employees) company back in the first half of the 1990s. The CIO would have new ideas regularly about what "we" should be doing (i.e., corporate IT strategy). After a while, we figured out that there was a strong correlation between whatever was recently in "CIO Magazine" and what the CIO's latest ideas for corporate IT strategy were. Unfortunately, it was difficult to have a conversation with the CIO about context and why not everything in CIO Magazine would work in our environment. Fortunately, a new issue of CIO Magazine would generate a whole new set of ideas, and the previous set would generally be forgotten. The one really big idea that came out in that timeframe (using HTTP/HTML to create a corporate information service) wasn't found in CIO Magazine. My impression of CIO Magazine was that it was like "Teen Beat" for CIOs.

    39. Re:The Cloud is your enemy. by barbariccow · · Score: 1

      because nobody is going to care if a cat video is slow due to bad provisioning.

      You mean to suggest that waiting 4 seconds to see Why Fido isn't Allowed Catnip anymore is acceptable??? Blasphemy!

    40. Re:The Cloud is your enemy. by barbariccow · · Score: 2

      I just wanted to expand on that last point. Sometimes you should think about using an external database. Consider if your project will ever serve multiple requests at once, or run from multiple machines where synchronization/atomicy of the data is required. You'll save yourself a lot of redesign later by using an external database (which makes easy writing atomic and is by nature synchronized across systems). You'll save a lot of redesign / maintenance time later, and increase your ability to scale even internal tasks. Yes, there are ways to synchronize data across systems, and if it's read-only even something simple like NFS and a flat file would work. But they're needlessly extra-complicated and fragile.

      I think far too many folks in IT are obsessed with the constant paradigm that "it needs to be done yesterday" and rush into quick hacks, which if you consider a business as operating in quarter-year segments, spending an extra few hours at the get-go making sure that you think about both immediate and near-future requirements can save a lot of time overall.

    41. Re:The Cloud is your enemy. by barbariccow · · Score: 1

      that isn't going to happen in an environment where people believe that security has no ROI.

      Yup. Security has always been reactionary in most environments I've been in

    42. Re: The Cloud is your enemy. by Zeromous · · Score: 1

      Thanks man. I derided cloud naysayers in my office and they are the ones without jobs now. The ones who refuse to use github, automate anything or learn linux in 2017.

      --
      ---Up Up Down Down Left Right Left Right B A START
    43. Re:The Cloud is your enemy. by barbariccow · · Score: 1

      Paypal is a big player here.

    44. Re:The Cloud is your enemy. by cmaurand · · Score: 1

      Not only is it the most hostile environment you can be in, but you have no control and your data isn't yours. Just ask Mega-upload customers. (they had legitimate customers, too.). Arguably it's more expensive than an in house system, because the vendors are looking for a profit which you really aren't doing with your own it department, at least not directly.

    45. Re:The Cloud is your enemy. by Sesostris+III · · Score: 1

      The Cloud is your enemy. Fire anyone who offers a "cloud" solution before offering an in-house solution, because I can guarantee you that "cloud" services are only half as efficient as running the hardware in-house.

      My company has it's own in-house 'cloud' infrastructure, used for internal and customer projects. I assume other companies have similar. I also assume that this is the way a lot of big companies will go.

      --
      You never know what is enough unless you know what is more than enough. - Blake
    46. Re:The Cloud is your enemy. by nine-times · · Score: 1

      This is more or less what I was going to say. If you were to compare the price of buying and running a simple server vs. the cost of running it in the cloud, then in many cases, yes, running it in-house might still be cheaper. I think that often, the real value of cloud services is the expertise that comes along with it.

      In my mind, Exchange is a great example of why cloud services are good. There's a lot involved in running and maintaining an Exchange server, backing it up, and troubleshooting if something goes wrong. You have to make sure you deploy it in a secure and sensible way. If you want it to be a robust solution, you'll want to make sure there are redundancies. There are a lot of areas of expertise that may come into play.

      So yes, it's relatively cheap to buy an Exchange server, but it'd be extreme overkill for a small business to hire Exchange experts to build out all the redundant infrastructure to make it secure and robust, and then to maintain the whole setup, upgrading everything every few years. When you add in all the associated costs, Office 365 ends up looking like a steal.

      And I know, someone will say, "I don't trust my email to a cloud provider." If you don't trust Microsoft with your data, then you should get off of Windows and Exchange anyway.

    47. Re:The Cloud is your enemy. by h4ck7h3p14n37 · · Score: 1

      There are not many uses where the cloud works, because of the security concerns, not just security of keeping eyes away but security of keeping the data intact.

      And yet people are using cloud services, like AWS, to build HIPAA compliant applications. The security concerns are not that much different than an on-premises deployment. AWS even offers a GovCloud these days.

    48. Re: The Cloud is your enemy. by h4ck7h3p14n37 · · Score: 1

      That's certainly the feeling I'm getting. The startup I work for used to use Rackspace's dedicated hardware service. They were a pain to deal with and moved way too slowly when we needed something. It took them about a month(!) to get me a new VM and we experienced several network outages a year.

      Then we got a bunch of AWS credits from one of our investors and moved everything over. What a breath of fresh air! We could build out new environments whenever we wanted instead of waiting for a third-party to work a ticket and we only pay for what we use. Rackspace eventually came out with their cloud service, but I don't know why you'd ever use them instead of Amazon's AWS or Google's Compute Cloud, or Microsoft's Azure.

    49. Re:The Cloud is your enemy. by phantomfive · · Score: 1

      Paypal in no way matches "Good partner/vendor"

      --
      "First they came for the slanderers and i said nothing."
    50. Re:The Cloud is your enemy. by Chas · · Score: 1

      Does security pay the bills? No.
      Now, do a threat model on how much a security BREACH will damage your company.
      Now do a threat model on how much the LAWSUITS from a security breach will damage your company.

      Now, is the company in ANY sort of healthy state after that?

      And what about the NEXT security breach? And the next?

      --


      Chas - The one, the only.
      THANK GOD!!!
    51. Re: The Cloud is your enemy. by Chas · · Score: 1

      Oh. You're one of those people who holds to the vision that real security costs multiple zillion dollars?

      How quaint...

      --


      Chas - The one, the only.
      THANK GOD!!!
    52. Re:The Cloud is your enemy. by Shirley+Marquez · · Score: 1

      Cloud is also great when your load is highly variable. For example, it makes sense for companies that offer software downloads: there is a big burst of demand when an update comes out, and much less use the rest of the time. Hosting your download on something like Amazon S3 lets you fulfill that high demand when it comes along.

    53. Re:The Cloud is your enemy. by stephanruby · · Score: 1

      No need to call people names to make your point. But yes, saying 'no' to overtime is important.

      I was only making that point because the original poster didn't seem to know why IT wasn't incentivized to install apps internally and why some departments found it just easier to open an account on the cloud somewhere and put it on their corporate American Express card.

      That being said, the original poster also didn't seem to understand that we don't all deal with confidential data. And that the Equifax breaches weren't due to third-party cloud services, the breaches were due to their own web applications and due to their own incompetence.

    54. Re: The Cloud is your enemy. by Reverend+Green · · Score: 1

      Ah... You're one of those people who thinks a) "real security" is possible, and b) that "real security" or some approximation thereof is not frightfully expensive.

      How naive.

    55. Re:The Cloud is your enemy. by sjames · · Score: 1

      Even number crunching is questionable. The input file is tiny, but you're going to have to retrieve the huge output files. If you have one or two jobs in a year, perhaps, but if you are routinely using supercomputing, the costs will quickly favor bringing it in-house.

    56. Re: The Cloud is your enemy. by Zeromous · · Score: 1

      Honestly looking at the same thing right now. We have to be more flexible and hedge cloud solutions. Im sure you agree the cloud is not a datacenre we can't treat it like one, on-prem or not. Diversity is healthy.

      --
      ---Up Up Down Down Left Right Left Right B A START
    57. Re:The Cloud is your enemy. by Wrath0fb0b · · Score: 1

      Sure, the security model doesn't assume that these things can't be compromised. In fact, we routinely model what happens when a credential that is used to authorize the HSM is lost or stolen.

      At least in that case you have centralized reporting of what was done -- for instance the trojanized SSH install packages were surely logged as they were signed, making them far easier to revoke. Etc . . .

      I can't stress enough how it's all the model (not for you, but for the general audience).

  3. Answer by Anonymous Coward · · Score: 5, Insightful

    >> What Are Some Hard Truths IT Must Learn To Accept? ...that IT is not engineering, and that engineering is not IT.

    1. Re: Answer by Anonymous Coward · · Score: 1

      Developers are Engineering. IT is the guys who fuck up the developers machines if allowed near them.

    2. Re: Answer by lucm · · Score: 4, Funny

      most developers these days couldn't develop themselves out of a "hello world" problem.

      hello world is easy: just do serverless micro-services with an api in the cloud and docker-compose machine learning using babeljs. The only tough part is picking the right spotify playlist while you code your brains out on that macbook.

      --
      lucm, indeed.
    3. Re:Answer by Anonymous+Brave+Guy · · Score: 2

      Also, IT is not Management, and is not there to be in charge and tell the people doing whatever your organisation actually does how to do their jobs.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    4. Re: Answer by Zeromous · · Score: 2

      LOL this is the best one I heard all day. I spend my entire day cleaning up developer's messes and re-architecting (that would imply it was architected in the first place, right) their mindbogglingly stupid bottlenecks? And then fixing their code and pulling a branch for them.
      Then I fix the database they broke with massive wads of binary data. Recovering their data from "sometime, naw shur". Then I pick up the phone in the evening to save their ass and their deadline.

      Your computers boot because of good IT.

      --
      ---Up Up Down Down Left Right Left Right B A START
    5. Re: Answer by Anonymous Coward · · Score: 1

      No fucking way. Enough of this "software engineering" bullshit. Only guys doing embedded work come close to formal engineering.

      Even with a MSEE, I only call myself a developer or programmer. Anything else would be purposely disingenous and flatout false.

    6. Re: Answer by Darinbob · · Score: 1

      Also, developers are not operators, and operators are not developers.

      (meanwhile both operators and developers are pissed at Gerry in IT)

    7. Re: Answer by Darinbob · · Score: 1

      Are you doing simple stuff? Do you have a lot of free time to do the remedial training of basic skills? Are you really hiring those C- average students?

      I do embedded systems. It's very hard to find a new grad who's ever seen C or C++, much less having seen any hardware or assembler. It is quite common that they're just not cut out for the work. I remember one new coworker who would complain "I never learned how to do this!" Now I like a little whine now and then but that was pretty silly.

    8. Re: Answer by Darinbob · · Score: 1

      Operations gets near the production machines, IT should stay away too. Of course, a lot of companies are confusing the two these days.

    9. Re: Answer by JaredOfEuropa · · Score: 3, Insightful

      So where were you when that particular project started up?! Instead of bitching at their mistakes and fix them late in the project, step in and prevent them before they happen. Don't berate the devs for being stupid, coach them to make them less so.

      Not being there is not necessarily your fault of course. It's a fairly common mistake: not enough priority being given at the start of the project to proper design, management and staffing. Would you commission a bridge from a company that told you: "Our materials engineer is on sabbatical, but our welder Bob knows a thing or two about steel, let me tell ya!" That's what happens all too often in IT... IT can be a great profession because you do get the chance to try your hand at a great variety of things, but there's always the danger of overconfidence on part of yourself and your PM.

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    10. Re: Answer by Reverend+Green · · Score: 1

      Build the infrastructure, and developers will use it.

    11. Re: Answer by Opportunist · · Score: 1

      Embedded development is its own little beast. One of the problems you run into is that you need someone who is an electrical engineer as much (or even more than) he is a programmer. When you hire a "normal" programmer for embedded work, you're in for a world of hurt. There are things in embedded (like, say, signal travel time) that don't apply in normal programming environments.

      And with IoT becoming a veritable security nightmare, you might see what problem you're facing. Care to show me the IT security person that also happens to at least understand basic EE?

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    12. Re: Answer by Zeromous · · Score: 1

      They arent stupid they are reckless and agile (well half agile. Continuously fail at infrastructure).

      I have done boutiqe devops for software teams thay make stuff i guarantee you use everyday. They never learn.

      --
      ---Up Up Down Down Left Right Left Right B A START
    13. Re:Answer by Anonymous+Brave+Guy · · Score: 1

      I run my own businesses and work in tech fields, so I have no axe to grind there. I do know plenty of people who have been unable to do their jobs properly because perfectly reasonable requests were denied or extensively delayed by IT people for silly reasons, though. And I write that as someone who is well aware that IT get the blame when things go wrong and a lot of "unreasonable" policies to staff are actually sensible and necessary from an IT point of view.

      IT is a support function, like HR or legal. It is valuable to the extent -- and only to the extent -- that it helps the organisation do whatever it is the organisation actually exists to do. You run tech decisions by IT for the same reason you run contracts by legal or compensation packages by HR, and sometimes you also need to overrule IT in the interests of the business as a whole for the same reason you overrule those other departments.

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  4. There is nothing wrong with the tag by xevioso · · Score: 1

    in HTML. There. I said it.

  5. IT is out, DevOps is in by phantomfive · · Score: 1

    If you want to be a sysadmin these days, do the devops thing. Which basically means you are a sysadmin who knows how to write deploy scripts for AWS. Pays a lot, though.

    --
    "First they came for the slanderers and i said nothing."
    1. Re:IT is out, DevOps is in by mhkohne · · Score: 1

      Is that all that is? I have long been struggling to figure out what the heck that trendilicious phrase meant. Thank you.

      --
      A thousand pounds of wood moving at 300 feet per minute. Don't get in the way.
    2. Re: IT is out, DevOps is in by Reverend+Green · · Score: 1

      Sort of, but not quite.

      You know that old buzzword "infrastructure as code"? Yeah, that one is actually accurate. In a devops role you write the code that IS the infrastructure.

      So yes, you'll write deploy scripts, usually in the form of Ansible playbooks, Dockerfiles, Chef cookbooks, etc. And infrastructure definitions, usually in Terraform's dialect of HCL. You'll configure continuous testing (please stop misusing the phrase "continuous integration") tools and glue them into a build pipeline. And you'll adapt your colleagues' code to work with this style of infrastructure, e.g. 12-factorization.

      One thing you will NOT do is build/configure servers by hand. If you have to do that, you're doing it wrong.

      In a small company, devops is also usually the only team who know and/or care about security. For some that's a burden. But if you play your politics right, it can be a powerful source of leverage.

    3. Re: IT is out, DevOps is in by phantomfive · · Score: 1

      the only team who know and/or care about security. For some that's a burden. But if you play your politics right, it can be a powerful source of leverage.

      How do you leverage that?

      --
      "First they came for the slanderers and i said nothing."
    4. Re:IT is out, DevOps is in by rossz · · Score: 1

      I was told that with the new devops imitative, we (system admins) would be merged with the developers and we would all do the same job. That I would become a php coder. I basically told them that I am a system administrator because I enjoy being a system administrator. I am not a php coder because I don't enjoy being a developer and besides, I am a crappy php coder. I made it quite clear that I have no intention on becoming a code developer. I suspect I will have to quit within the next year or two.

      If it was just being able to write deployment script, there would not be an issue. I already do that as a system administrator.

      --
      -- Will program for bandwidth
    5. Re:IT is out, DevOps is in by phantomfive · · Score: 1

      Apply for other jobs then. There are plenty of devops jobs that don't require the dual role.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:IT is out, DevOps is in by JaredOfEuropa · · Score: 1

      Sounds like some MBA heard about DevOps and thought he needed to get himself some of that. DevOps simply means organizing IT so that development and operations are no longer in separate silos as they are in traditional IT, with oft lengthy and thoroughly formal handovers between the two. But it does not necessarily mean merging the two into a single team, and it certainly doesn't mean that every team member needs to fill both roles. In a normal transformation to DevOps, there's no reason why each team member shouldn't be more or less comfortable with their new roles. And posting job openings for "DevOps engineers" is about as dumb as asking a job applicant for certification in "Agile".

      --
      If construction was anything like programming, an incorrectly fitted lock would bring down the entire building...
    7. Re:IT is out, DevOps is in by Hognoxious · · Score: 1

      Sounds like some MBA heard about DevOps and thought he needed to get himself some of that.

      I can just see one doing that. In those exact words, in fact.

      DevOps simply means organizing IT so that development and operations are no longer in separate silos as they are in traditional IT, with oft lengthy and thoroughly formal handovers between the two.

      Isn't that just good management/common sense?

      Having said that, lengthy formal handovers are not a bad thing per se. Ever played computer volleyball - where the dev team's sole goal in life is to knock things over the net to support as quickly as possible, regardless of whether they're documented, tested, or even finished?

      And posting job openings for "DevOps engineers" is about as dumb as asking a job applicant for certification in "Agile".

      I'm pretty sure I've seen that.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
    8. Re: IT is out, DevOps is in by Reverend+Green · · Score: 1

      It's notoriously difficult to get companies to allocate time and money for security-specific projects. So that's out. But there are at least two ways to leverage being the only group that knows/cares about security.

      First, you can do an 'assist' move. Your colleague on another team proposes some project that you think is a good idea. If as devops guy you say to the boss, "this project will improve the security of our systems", that's a strong argument in favor of the project. Makes it harder for management to say "no".

      Second and more important, you have essentially a veto power, if you learn to use it correctly. If you just say "this proposal is bad for security"... well, someone might or might not listen. But if you pull out the lawyerish CYA language it works a lot better:

      "Dear Bossman, In my considered professional opinion proposal X will be severely detrimental to the security of our systems. By going ahead with X, we are exposing both the company and our customers to unnecessary and potentially disastrous risk. Having notified you of this unacceptable risk, I disclaim any and all personal responsibility for any adverse effects that may result."

      Make sure it's in writing and in the official company email system. Since covering your ass is an essential part of being a manager, they tend to recognize and respond to that kind of wording. By warning then disclaiming responsibility, you've chucked the responsibility up a level in the org chart. That's very likely to kill proposal X. And if it doesn't, your ass is covered. :)

    9. Re: IT is out, DevOps is in by phantomfive · · Score: 1

      But if you pull out the lawyerish CYA language it works a lot better:
      "Dear Bossman, In my considered professional opinion proposal X will be severely detrimental to the security of our systems. By going ahead with X, we are exposing both the company and our customers to unnecessary and potentially disastrous risk. Having notified you of this unacceptable risk, I disclaim any and all personal responsibility for any adverse effects that may result."

      That is a nice trick, I am definitely adding it to my toolkit.

      --
      "First they came for the slanderers and i said nothing."
  6. If it aint' broke by ArchieBunker · · Score: 2

    Then don't fix it. Seriously if something has been working fine for years, don't meddle with it.

    --
    Only the State obtains its revenue by coercion. - Murray Rothbard
    1. Re:If it aint' broke by H3lldr0p · · Score: 2, Insightful

      I have to disagree. You have to move with the technology, if you don't then you'll be caught when support ends.

      Support always ends.

      Products change. Companies change focus. Executives decide to leave markets that aren't profitable anymore.

      Any one of those and you're SOL if all you care about is "ain't broke".

      What needs to change? That attitude. The world is always coming up with new fools and new ways to break things. If you aren't on the lookout for ways to keep protected and to keep pace with how and why things have changed then you're fucked. All the way fucked.

      Learn. Unlearn. Relearn.

      Learn what's out there. See what it can do that yours already doesn't. See if you need that or if it's a nice-to-have.

      Unlearn the old ways of doing things. Mainframes were good for their day but their day has passed. Keep your people in training. Keep them vital with new things to learn.

      Which is what relearning is all about. Never let yourself stagnate. Get tired of doing one thing, learn how to do another. Refresh your knowledge.

      And fuck that nonsense about "Ain't broke". It'll be broke soon enough. Better to know what to replace it rather than sitting around with your hands open.

    2. Re:If it aint' broke by Ichijo · · Score: 4, Informative

      But if you don't understand why it works, then it may fail in a mysterious way at the worst possible time.

      --
      Any sufficiently unpopular but cohesive argument is indistinguishable from trolling.
    3. Re:If it aint' broke by im_thatoneguy · · Score: 3, Insightful

      "Working" doesn't mean it's secure and maintained. E.g. Equifax didn't replace one of their ad tracking scripts and as a result were delivering malware when the company serving it went bust and forfeited their domains.

    4. Re:If it aint' broke by PPH · · Score: 1

      The hallmark of a typical programmer. Get in. Build a new app. Put it into service. Add it to your resume. Get out before the first wave of bug reports come in. Rinse and repeat.

      If you don't see yourself as being responsible for a product or process, maybe this lifestyle is OK. But if you like to take responsibility for something and continuously improve it, you are more valuable to a company. And you develop a skill set that makes you even more valuable as you move from project to project. And that means more money and greater job responsibilities.

      --
      Have gnu, will travel.
    5. Re:If it aint' broke by HornWumpus · · Score: 2

      No.

      Companies will only pay you more when you change jobs.

      Work hard, care about results etc, but always be ready to jump. Loyalty to a company that will kick you the second they think they can replace you for a penny less, is for chumps.

      Also never take counteroffers. The new job always has better future raise prospects. All raises are based, at least in part, on what you got coming in the door.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    6. Re:If it aint' broke by Rakarra · · Score: 1

      This is why software engineering is still seen as an immature field compared to other engineering disciplines.

    7. Re:If it aint' broke by MrLogic17 · · Score: 3, Informative

      That's how you create Technical Debt.
      Every upgrade cycle you skip makes the next one that much harder...

    8. Re:If it aint' broke by lucm · · Score: 1

      Admit it, our profession is a joke. We are con artists working for con artist peddling the latest craze.

      It was true, until IT became a two-speed enabler of business outcomes using digital twins.

      --
      lucm, indeed.
    9. Re:If it aint' broke by ArchieBunker · · Score: 2

      At work we have a CNC machine that runs from a Mac SE with a 9 inch monochrome screen. How do you propose I "fix" that?

      --
      Only the State obtains its revenue by coercion. - Murray Rothbard
    10. Re:If it aint' broke by Gussington · · Score: 2

      Then don't fix it. Seriously if something has been working fine for years, don't meddle with it.

      Like steam trains. They still work, so why bother with cars and planes etc...

    11. Re:If it aint' broke by mattb47 · · Score: 1

      No, you fix it (replace it, migrate it) before support ends. It's a lot easier to replace/migrate something while you can still get it supported.

      And if fails after support ends, then you can be royally FUBAR.

    12. Re:If it aint' broke by mattb47 · · Score: 1

      You don't. That's an exception to the rule. Sort of. That Mac almost certainly isn't networked. Which eliminates the security issues.

      But if/when it dies, the company better be ready to deal with it and the possible risk. (Best to buy another MacSE off eBay, and have it as a cold spare just in case. Would be dirt cheap insurance.)

    13. Re:If it aint' broke by Darinbob · · Score: 1

      Doesn't matter, if the machine is a production machine vital to getting products shipped, then leave it alone. Doesn't matter if it's still running DOS, Biff from IT has no business trying to upgrade it to Windows 10. If it's in the lab, don't touch it.

    14. Re:If it aint' broke by Darinbob · · Score: 2

      One way of putting it is, "if it ain't broke, we don't pay you to fix it".

      I swear, not lying, I had to deal with three cases of the same developer changing code to "fix it" that resulted in extremely damaging bugs that hit some of the biggest customers in the face (think permanent loss of data and bricked products). And all three occurred in the same month! No one asked for the fixes, although for one of them he kept complaining over and over that it needed fixing until the manager relented. The guy also seemed to be unable to understand the K.I.S.S. principle.

    15. Re:If it aint' broke by Darinbob · · Score: 1

      Who can hire a developer who works independently and gets a program out to customers without anyone else knowing what is happening? At the very least there should be a manager who assigns the tasks, code reviewers to check it out, QA to test it, and a product manages who says "what the hell is this shit, where's the feature I asked for?"

    16. Re:If it aint' broke by Darinbob · · Score: 1

      I used to think this. But I've seen some seriously bad engineering outside of software. You think they'll just do the math and then get the right design but they're still just as much focused on deadlines and cost cutting and politics as anyone else.

    17. Re:If it aint' broke by Darinbob · · Score: 1

      That applies in all fields, not just IT.

    18. Re:If it aint' broke by HornWumpus · · Score: 1

      your raises will be less than everyone else's until you reach parity with your co-workers.

      You work for a government or some such hell hole.

      The problem you have is you think PHBs can tell what you're 'worth'. Your worth what you negotiate, simple as that. All future raises are based on that number, not just last year's number.

      To get a good raise out of the bastards (over 10%, not early career), you basically have to have an offer on the table. It's virtually always better to take the offer, you're the hot new hire, not the disloyal extortionist. Between those jumps, you have to accept the pittance COLA they give.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    19. Re:If it aint' broke by HornWumpus · · Score: 2

      And you had to put your soul into escrow.

      When things are hot, they move pay grades up, without even considering raising the pay of existing employees in those grades. I've found no exceptions to this rule. They will pay what the market demands for new hires of dubious quality, while giving small raises to proven staff. Only a fool would hang around.

      Just not too often, got to make the jumps worth it.

      Never burn your coworkers, not the good ones anyhow, that's were good new opportunities come from. Fuck the managers though.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    20. Re: If it aint' broke by HornWumpus · · Score: 1

      FYI the 'raise budget' is a senior management wish. It's your supervisor's job to make that wish come true.

      I once personally took about 150% of the entire department 'raise budget', then the PHB told the rest of the department they wouldn't even get COLAs as I 'took it all'. Sense the bastard started the conversation, I told my irritated coworkers I took 150% of 'all' and they should all jump up and down until their balls dropped. Only the bulldyke took my advice.

      But it was a counteroffer, it was a mistake to accept it. I was gone a year later anyhow, which likely turned out better. Guessing based on enterprise size (I fit better in small to medium). Still higher previous pay is always a better place to negotiate from.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    21. Re:If it aint' broke by scsirob · · Score: 4, Insightful

      Everything is broken. The fact that you have not noticed it yet doesn't change this.

      --
      To Terminate, or not to Terminate, that's the question - SCSIROB
    22. Re:If it aint' broke by Opportunist · · Score: 1

      2 words:

      Cobol
      y2k

      More words: It may work today. It might work tomorrow. It will bite you in the ass next week. Go with the times or you'll go come the time.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    23. Re:If it aint' broke by PPH · · Score: 1

      Who can hire a developer who works independently and gets a program out to customers without anyone else knowing what is happening?

      I've done exactly that a number of times. I had a boss that let people take about 10% of their time and brainstorm new or improvements on existing stuff. It doesn't get put out to the customer without some review of feedback. But I didn't have to sit around and wait for a customer or product manager to tell me what to do.

      Back when Al Gore invented the Internet, I was a part of a group that maintained a crusty old engineering data management system that delivered documents to the shop floor. Old 3270 terminals and an error prone text based interface. There was this new thing called the web people were talking about. So I asked my boss if I could try a few things out with it. A week, a copy of NCSA http server and Mosaic and I had a point and click interface on top of the database*. I showed it to my boss, who showed it to manufacturing management as some of the 'long term' technology we were pursuing. Management liked it so much they told him to get the system into production in two weeks. My boss got a promotion, I got a big raise and kept turning out more neat stuff.

      Even if it's just improvements to your own work processes and tools, just sitting on your hands and waiting for orders from above isn't a very good demonstration of initiative.

      *The sad part: I was a part of an engineering group while doing this. Our IT department got upset about how we were going around them, building our own stuff. And they asked me how I managed to keep all my HTML pages synchronized with the back end database (they didn't understand how 'live' web pages worked back in those days).

      --
      Have gnu, will travel.
    24. Re:If it aint' broke by PmanAce · · Score: 1

      Tell that to my company, report crashes are sent by email and never looked at since there are 1000s of them and it is information overload. It's not broken, it's working as intended. A simple error service sending crash reports to a database where metrics can be run would really benefit my company but they have your thinking...it is not broken so we aren't going to fix it.

      --
      Tired of my customary (Score:1)
    25. Re:If it aint' broke by Graydyn+Young · · Score: 1

      Even if it works, you lose control over systems that you don't understand. And that gets expensive.
      Ever worked for a bank? Prime example of this. Each of the major banks has one guy that understands the bottom layers of their stacks. He's in his 60s. He hasn't retired because the bank keeps driving dump trucks full of money up to his house. He knows more about banking than the CEO. He knows how to code on punch cards. He's been known to bite. You know a version of this guy, eh?
      The current process when you need a change made is to make a request and wait 6 to 8 months and hopefully he gets back to you.
      When that guy retires... I dunno man.

    26. Re:If it aint' broke by nine-times · · Score: 1

      Also, the longer you go without learning how it works, the more information about it will be lost. Documents will get lost, and memories will fade.

      If something has been working for years and you don't know what it does, dig into it in as unintrusively and non-destructively as you can, figure out how it works, and document it. Then see if you can re-create it in a lab environment.

    27. Re:If it aint' broke by Darinbob · · Score: 1

      Oh, I've done similar stuff. I was imaging more of coming up with a new feature and sticking it into the company's cash cow when they're not looking.

    28. Re:If it aint' broke by HornWumpus · · Score: 1

      I know what everybody is worth? Where did you get that? People are _all_ worth what they negotiate. You are projecting.

      Your second paragraph is just repeating my advice to never accept counteroffers. You're right, take the new job instead. Tying up loose ends and replacement training aren't your problem. The end of first year raise is sure to be bigger than the 'year after extorting a fat raise' raise.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  7. People matter most, and there aren't enough by bfwebster · · Score: 1, Interesting

    The single biggest predictor of project success/failure is the quality of the people involved.

    However, most firms are bad at recruiting and maintaining top-quality people. Often, they chase the best ones away, resulting in the Dead Sea Effect.

    Finally, "In starting a new software program, all the important mistakes are made on the first day." (The Art of Systems Architecting, Maier & Rechtin). ..bruce..

    --
    Bruce F. Webster (brucefwebster.com)
    1. Re:People matter most, and there aren't enough by lucm · · Score: 5, Funny

      I'm sure those blog posts from 2008 are fascinating, but when I see someone plugging twice his own blog in a Slashdot comment, it's an immediate SEO red flag.

      This led me to google "Bruce F. Webster", and wow, dude did you really create your own Wikipedia entry using your own blog as source?

      There's nothing in your bio that even remotely justify a wikipedia article, that's more like a LinkedIn profile.

      https://en.wikipedia.org/wiki/...

      if I wasn't a lazy bastard I'd edit your page to flag it as a WP:PROMO.

      https://en.wikipedia.org/wiki/...

      Where are the wikipedia nazis when we need them.

      --
      lucm, indeed.
    2. Re:People matter most, and there aren't enough by Nethead · · Score: 5, Funny

      Where are the wikipedia nazis when we need them?

      They became write supremacists .

      --
      -- I have a private email server in my basement.
    3. Re:People matter most, and there aren't enough by Custard+Horse · · Score: 1

      They became write supremacists .

      That post did not receive the merit that it deserved. I salute you Sir!

    4. Re:People matter most, and there aren't enough by BadTuna · · Score: 1

      Wow, Bruce Webster must be an important guy. At least that's what Bruce Webster told me. If you need further proof, just ask Bruce Webster.

      You must be an absolute fucking joy to be around.

      --
      Your sig here!
    5. Re:People matter most, and there aren't enough by Opportunist · · Score: 1

      This is also the reason why there are companies where crunch is the norm and yet quality is low, yet there are companies where work-life-balance is a reality and quality is high.

      Well, guess who leaves the former to work for the latter? And given that the latter gets to choose, they choose the highest quality personnel, leaving mediocre and outright crappy programmers for those companies that treat their personnel like garbage.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    6. Re:People matter most, and there aren't enough by Opportunist · · Score: 1

      As long as what he says is right, I don't mind someone pointing to his own webpage.

      Here, he will get the relevant feedback. If he's full of shit, it's unlikely that people will refrain for long from telling him.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  8. The world is messy by mrwireless · · Score: 2

    I used to be an IT person, but have spent time in the humanities too. From that experience, I'd say the biggest lesson of all is that often more technology is not the solution. And that as much as we nerds like to think we are rational, we often fall into the trap of being religious about our belief that all a situation needs is more tech. The humanities - ethnography, sociology, philosophy - have valuable insights to offer into the complexities of human society.

    Now when I see thing like the blockchain I see projections of ideology, and very little real understanding of the complexities of politics, ethics and social norms. To a nerd, all of that is noise, something that ideally shouldn't be there.

    To learn more about this, search for the 'technological determinism vs social contructivism' debate.

    1. Re:The world is messy by PPH · · Score: 2

      The humanities - ethnography, sociology, philosophy - have valuable insights to offer into the complexities of human society.

      Now when I see thing like the blockchain I see projections of ideology, and very little real understanding of the complexities of politics, ethics and social norms.

      Reading that another way: You need to understand the social interactions and interpersonal relationships involved with the current process before you can re-engineer it. That guy with the overflowing in-basket through which paperwork barely flows. And what the hell does he contribute to the work process anyway? What exactly is the value of his 'APPROVED' or 'DENIED' stamp? Answer: He's the division head's golfing buddy. And if you really researched the sociological reasons for his existence, you'd understand why going around him or agitating for his removal from the workflow is political suicide. You'd be better off waiting until the BOD gets so pissed at your division's slow response that they ship the whole process to Bangalore.

      Anecdote: I worked with a guy who had 'automated' a parts approval process in an aviation company. To go through the new process, you had to submit all the proper test reports, engineering and FAA approvals before the new part could be used on an airplane. The resulting rage from manufacturing was palpable. "What do you mean I can't buy parts from my buddies' company and sneak them into inventory??!!" All of the people involved in developing the new process had committed career suicide and were basically laying low until retirement.

      --
      Have gnu, will travel.
    2. Re:The world is messy by Darinbob · · Score: 1

      Which brings up a very important truth: Newer Does Not Mean Better.

  9. VocTech is the future. by 0100010001010011 · · Score: 1

    IT going forward doesn't need a dozen people with BS degrees. When you're building a house you only need so many civil engineers and architects. At some point you need a fleet of plumbers, electricians and general contractors. Some people insist that a BS is required so management finds the cheapest BS they can. For 10% of my job I would love to hire a 17-18 year old apprentice and just train them in the hands on tools.

    I don't need a BS. I don't need an Indian. I just need someone thirsty and willing to learn. I was lucky enough to have an engineering 'apprenticeship' at 16 and it influenced the rest of my career. It was hands on "do this" style learning, exactly how you see journeymen training apprentices.

    There will always be a need for advanced degrees but the ratio of degreed:apprenticed needs to change. Doctors have moved to train physician assistants, RNs, and a host of other positions to do most of their job so they can concentrate on what they were trained to do.

    If you're a manager looking for 'cheap labor' start talking to the local voctech high schools. Factor in rework and communication 'costs' and pay them well for their age. You'll come out loads ahead. They'll have relevant job experience for the future and you'll have cheap labor. If you have someone set to retire in 5 years just have the 16 year olds shadow them and do any work that they can.

    You'll have 'cheap' labor that knows your system inside and out and you can pick the best to hire after HS. It's how all of the CNC and tool and die shops in my area do it. Kids wrap up highschool and get hands on training in something they're interested in. After HS the CNC shops have 18-19 year olds that are getting paid well for their age with no debt.

    1. Re:VocTech is the future. by Tablizer · · Score: 1

      We can cross off "people skills" there ;-)

    2. Re:VocTech is the future. by Tablizer · · Score: 1

      IT going forward doesn't need a dozen people with BS degrees. When you're building a house you only need so many civil engineers and architects. At some point you need a fleet of plumbers, electricians and general contractors...

      If your stack has a friendly architecture, that may be true. However, if your stack has turned bicycle science into rocket science, then you'll need people with eidetic-like memory and top pasta-debugging skills to navigate your jungle, and they'll cost more. Judgement: It-Depends.

      Using your house-building analogy, if the conventions for blueprints are non-standard or different for each house, then the skills needed by the plumbers, electricians, etc. will be higher. They'll have to be better at guessing, ask better questions, and have experience dealing with lots of different blueprint conventions.

      If there is nobody policing the stack architects, they very well may bloat it up with buzzwords and experiments to pad their resume, pad their ego, and/or pad their job security by making a mess that only they know how to fix.

    3. Re:VocTech is the future. by zerofoo · · Score: 1

      Name me one skilled trade that doesn't require licensing or certification beyond VocTech.

      Damn near every "blue collar" trade requires something beyond VocTech school. ASE Certs, I-car, Electricians, Plumbers - heck even cutting hair requires continual licensing and education.

      The days of taking 16 year olds and training them on the job vanished about the time we transitioned from an agrarian society to a manufacturing society. Sure - some jobs will give you job-specific knowledge - that may or may not help you at your next gig when your current employer goes bust.

      Many industries have spoken. They want employees with a broad-based industry knowledge. Formalized education and certification goes a long way to ensuring that the people you hire have at least a minimum level of skill in the field.

      If your hires are terrible, it's not an education or training problem - it's an HR problem....and by the way the Society for Human Resource Management offers education and certification programs to fix your HR problem.

    4. Re:VocTech is the future. by 0100010001010011 · · Score: 1

      Using your house-building analogy, if the conventions for blueprints are non-standard or different for each house, then the skills needed by the plumbers, electricians, etc. will be higher.

      You over-estimate how accurate blueprints are. The good plumbers, electricians, etc all know how to handle the edge cases. A good plumber can walk into a plant that has pipes shoestringed everywhere and fix the problem no problem.

      Hands on training is actually a lot better for your 'bicycle science' stacks. Go look at the electrical and plumbing work in any building from the 1900s that is still in use as a factory. It's where thinking on your feet is a lot better than book smarts. Most PhD grads I know shut down if something is outside their narrow window of how things 'should' be.

      I'll take a voctech graduate over a PhD any day of the week when the actual plan differs from the blueprint.

    5. Re:VocTech is the future. by HornWumpus · · Score: 1

      HR people are the _cause_ of HR problems, not their solution.

      The solution is to take hiring away from HR, they can manage benes etc. All they're good for.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    6. Re:VocTech is the future. by 0100010001010011 · · Score: 1

      Where did I say anything about licensing? I said a BS.

      The days of taking 16 year olds and training them on the job vanished about the time we transitioned from an agrarian society to a manufacturing society. Sure - some jobs will give you job-specific knowledge - that may or may not help you at your next gig when your current employer goes bust.

      I had it in the 90s. What exactly 'disappeared' about it? I learned to solder, debug embedded controllers, a host of other skills that have come in handy since.

      They want employees with a broad-based industry knowledge.

      How's that working out for IT? It sounds like it's a hard truth that IT must learn.

    7. Re:VocTech is the future. by Tablizer · · Score: 1

      The good plumbers, electricians, etc all know how to handle the edge cases.

      Yes, the good ones; the ones you have to pay more to get/keep. The better they are the less architect and manager staff/effort is needed.

      Whether they are better due to education or experience is another matter.

    8. Re:VocTech is the future. by HornWumpus · · Score: 1

      When hiring other programmers, yes. HR people are _clueless_ at the task.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    9. Re:VocTech is the future. by turbidostato · · Score: 1

      "Many industries have spoken. They want employees with a broad-based industry knowledge."

      No, they don't. For the most part, when they are looking for a "DBA expert with solid knowledge on Oracle RAC 10g", they will take nine times out of ten somebody that can show some work with Oracle RAC 10g, even is he's a freshman, than a "solid DBA" which happens not to have worked explicitly with Oracle RAC 10g. And then, nine times out of ten, the job request will be "with technology A (or B or C)" instead of "professional knowledge and experience on field A (or B or C)". Which ends up being that 99 times out of 100 the "specialist on paper" will be chosen over the "seasoned professional". Compound it with the fact that the "specialist on paper" will accept lower pay and more bullshit and you are done.

    10. Re:VocTech is the future. by aussie_a · · Score: 1

      Nothing against the Indians in India, but when you outsource your tech support to one of the typical companies, your outsourcing to the cheapest vendor and you truly get what you pay for. It's great for the Indians who get a job that is easier and/or higher paying to get those jobs, but for those of us who value quality of work, they simply don't cut it.

      Unfortunately for those Indians they're going to likely lose the work once software can understand spoken English as well as they do.

    11. Re:VocTech is the future. by HornWumpus · · Score: 1

      I said 'take away hiring', specifically technical hiring. They can keep pushing paper and admining benes, the things they are not terrible at.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
  10. Programmer time isn't fungible. by tietokone-olmi · · Score: 4, Insightful

    Software engineering cannot be squeezed into formulas for plugging and chugging.

  11. "What are some" by Anonymous Coward · · Score: 1

    The most banal, junior school/Jeopardy linguistic construct ever.

    E.g. "What are some hard truths your organization has been dealing with?"

    You could say

    "What hard truths has your organization been dealing with?"

    Or, imagining the set of hard truths being finite, you could even say "Which...".

  12. Fred Brooks knows by turkeydance · · Score: 1

    all hail

  13. Forgot a few by gillbates · · Score: 1
    1. IT is a strategic asset, not a cost-center.
    2. Security is designed-in, not bolt-on.
    3. Security is a question of trade-offs and risk analysis, not blindly following "best practices".
    4. A network must be engineered.
    5. A silver bullet solution means the vendor takes your silver and you take the bullet.
    6. You have to treat your employees well to have a well-run shop.

    While there are a lot of problems with the way IT is done in companies today, my experience has been that the companies who pay the least for IT (as in smallest IT staff to general staff ratio) are those companies that encourage honesty, thoughtfulness, and long-term planning. I've worked for a few - at one place, a handful of staff supported 4,000 workers and had time to blab at the watercooler. But they could do this because the company was remarkably consistent about resisting IT fads, and instead looked at IT purchases from the standpoint of, "Yes, but what am I going to get out of it?!" They paid their employees, the vendors, not so much.

    Those companies which view IT as a cost center, in my observation:

    pay far more than they need for what they get

    follow the latest fads in IT

    are continually under the gun to cut costs

    constantly overwork their employees,

    deliver much worse service overall,

    and suffer from seemingly constant IT failures of one sort or another.

    For some reason, those companies which view IT as a cost center rather than a strategic asset always seem to be falling short of their goals.

    --
    The society for a thought-free internet welcomes you.
    1. Re:Forgot a few by coofercat · · Score: 1

      ...and just because Gartner says something is the "next big thing" or "revolutionary", or even that "67% of IT execs say they're going to adopt it in the next year" doesn't mean you should, and it definitely doesn't mean you should do nothing but this thing (whatever it is). This hold true for outsourcing, 'the cloud', agile, and many others.

      On a different note, I'd say that for any software purchase over a few quid, you're going to be disappointed. Once the numbers start getting into the hundreds of thousands, you're not only going to be disappointed, you're also going to be stuck with the bloomin' thing for at least 3 more years. That might have a negative effect on recruitment, opportunity costs, or your ability to deliver on other priorities.

      I've lost count of the number of "awesome new products" that companies I've worked for bought, and then had to backtrack on their aspirations once the limitations of the product became apparent. Some of them weren't even bought on the golf course - some went through some real evaluation first. The truth is though, you can't know what you need to know until you let your great unwashed masses at it - and once you mandate they must use it for all functions related to "X", they'll find all the flaws in your great decree in short order. If you're the Fearless Leader, you're best off encouraging it's use for X, whilst being very clear it was bought for Y. That way, if it sucks at "X" (and it probably does), then you don't look like such a dick. That's harder than it sounds when you've just spent an eye watering amount of the company's money on something though.

    2. Re:Forgot a few by coofercat · · Score: 1

      ...oh one more: anything you're not actively working on is legacy. Any legacy you have is a cost and a risk. If it's not making enough money to justify working on it, then kill it off (maybe not immediately, but make a plan to turn it off and then stick to your plan unless you can turn it around and work on it again).

  14. Your Way Doesn't Matter by itomato · · Score: 1

    You lone wolf, cowboy types are losing the war with your NIMBY ways. There is no spoon.

  15. We are blue collar workers by gurps_npc · · Score: 4, Insightful

    If you don't work for a tech company, you are a blue collar worker not a white collar worker.

    Even if you do work for a tech company, if you are not a manager or a high level designer, you are a blue collar worker.

    Basically, we are more like plumbers than doctors.

    We really should unionize.

    --
    excitingthingstodo.blogspot.com
    1. Re:We are blue collar workers by BoRegardless · · Score: 1

      Blue Collar Workers w/o a conscience sometimes (rarely) choose to cheat to get their "retirement." But it is the IT manager's nightmare. In other words, IT management ain't ever gonna be easy.

    2. Re:We are blue collar workers by Gussington · · Score: 2

      Basically, we are more like plumbers than doctors.

      We really should unionize.

      I disagree. We are neither plumbers or doctors, but a 'blue collar' job was one with very little skill, or a skill learnt once after high school then used for the rest of your life (plumbing, mechanic, sparky etc) Under such fixed conditions, exploitation is easier so unions serve a useful protection mechanism.
      But because IT moves so fast (most products I learnt at Uni were obsolete by the time I left), the game is self sustaining (ie smarter people tend to succeed) so don't need the same protection.
      In this environment, protection of a union would merely hold people back.

  16. Agile is bullshit by Anonymous Coward · · Score: 5, Insightful

    1) Agile is bullshit
    2) You do not need to have meetings every day
    3) Standing up for a meeting is utterly ridiculous
    4) Iteration Managers are a very poor replacement for Project Managers
    5) Scrum Masters are a crock. You should not hire these people
    6) Kanban is a bullshit methodology
    7) Hotdesking sucks. Treat your staff well and give them their own desk.

    1. Re:Agile is bullshit by mhkohne · · Score: 4, Insightful

      Yea...And you use, what? Traditional waterfall? Make-it-up-as-you-go?

      Yes, the people trying to SELL you Agile are full of shit, and NO, it won't fix your problems. It IS a useful way to look at things, if you apply it like a human being with brains instead of a procedure monkey.

      I'm gonna give you the hotdesking one - I can't envision where that isn't a completely pain in the ass.

      --
      A thousand pounds of wood moving at 300 feet per minute. Don't get in the way.
    2. Re:Agile is bullshit by HornWumpus · · Score: 1

      Agile is a manifesto, full of truisms.

      Scrum is pure shit though. That's usually what PHBs mean when they say 'Agile'.

      A good team will produce results regardless of formal methodology, a bad team can't be fixed with daily standups or _any_ other simple step. They will just game it into a time waster/excuse for not getting results. (e.g. I'm hungover...don't want to work today. Gonna restart an argument in the standup, that will burn the morning. Everybody will have zero productivity, not just me.')

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    3. Re: Agile is bullshit by sheramil · · Score: 2, Funny

      ...the reason you stand for a meeting is to keep it short by making it physically uncomfortable for the participants. Standing is actually doing exactly what you want: reducing meeting time.

      Then why not reduce meeting time further, by making it more physically uncomfortable? Set fire to anyone who shows up.

    4. Re:Agile is bullshit by UnknownSoldier · · Score: 1

      Excellent list. Here are my additions

      8) If you can't afford to give your employees at _least_ 2 monitors EACH then don't be surprised when they leave
      9) Likewise if you aren't willing to explore standing desks and/or other ergonomics likes keyboards/mice, you don't deserve your workers
      10) People are an ASSET and INVESTMENT; not an "resource" to be strip-mined
      11) There is never time to do it right the first time, but there is always time to do it over -- Murphy's Computer Law
      12) Ignoring a problem doesn't make it go away
      13) You _can't_ solve _every_ problem with tech.
      14) People are part of the _cause_ of the problem
      15) Good people are expensive
      16) IT is designed to _serve_ the employees; lose the attitude
      17) You get the security you pay for

      --
      Looking for an old-school RPG ?
      Check out Nox Archaist

    5. Re:Agile is bullshit by phantomfive · · Score: 2

      Scrum is pure shit though. That's usually what PHBs mean when they say 'Agile'.

      The key realization that clarified the purpose of Scrum for me was that it is entirely designed to goad people to work. It is designed for people who will surf Slashdot all day, and not get things done. It uses both carrots and sticks, and constant prodding to get people who lack self-control to constantly refocus on the task at hand.

      That is entirely why I hate it. For self-motivated people, it gets in the way.

      --
      "First they came for the slanderers and i said nothing."
    6. Re:Agile is bullshit by rossz · · Score: 1

      Kanban is just another word for "waterfall" because that term has a bad reputation.

      --
      -- Will program for bandwidth
    7. Re:Agile is bullshit by famebait · · Score: 2

      Not Agile. SCRUM is waterfall wrapped in BS.
      More specifically, it was designed as a way to sneak agile practices into a waterfall-organisation resistant to change, so it tries to provide at least some of what that environment demands with as low a cost as possible. It is debatable whether it achieves this.

      Agile doesn't have to be scrum.
      Adopting the ceremonies of Scrum does not make you agile.
      If your organisation already understands agility, you don't need Scrum.

      Agile is just a set of values, many of them really really important IMO.
      Some of them seem like common sense now, but you have to see them in the light of the bloated old proceses they rebelled against.

      The core philosophy stands up just fine and will continue to do so:
      - Deliver value early and frequently. This reduces risk, maximises payoff, maximises learning, and keeps you nimble for when you need it.
      - Accept uncertainty, and handle it by making sure you can adapt quickly, not by excessive up-front planning which doesn't work anyway. Sometimes you need ballistic calculations to arrive at where you want, but most of the time a steering wheel will do the job cheaper, quicker AND better.

      Standup metteings have nothing to do with anything.
      They are just a quick band-aid if you have a culture problem with status meetings dragging out or carrying too much overhead. They can indeed be a better quick-fix for that than just nagging (whether you're trying to be agile or not), but you should probably also be looking at whether the meeting needs to be so frequent, if everyone needs to be there, if the meeting is needed at all, and whether other information flows bothering fewer people would be a better tool.

      --
      sudo ergo sum
    8. Re:Agile is bullshit by HornWumpus · · Score: 2

      Scrum is formalized micromanagement with no flexibility for those employees who don't need constant short term goals.

      Combine that with the only part of Agile that managers comprehend ('talk to clients all time, weather vane the plans') and you are truly fucked. Be at -4 (active sabotage) on the process immaturity model in no time.

      --
      John McAfee 'It was like that time I hired that Bangkok prostitute; to do my taxes, while I fucked my accountant'
    9. Re:Agile is bullshit by phantomfive · · Score: 1

      Scrum is formalized micromanagement with no flexibility for those employees who don't need constant short term goals.

      That's a good way to put it. Good workers don't need to be constantly prodded like that. Any decent Agile program ("people before processes") will be designed to help train people who need constant prodding, so they turn into good workers.

      --
      "First they came for the slanderers and i said nothing."
  17. codebase is more important functionality by netsavior · · Score: 1

    Your codebase's primary job is to attract and retain top talent. Whatever the fuck you want to sell or buy or disrupt or facilitate is secondary, if you can't get people to write and maintain your code.

    You could have a hideous frankensystem that grants golden penis wishes and you will go bankrupt trying to maintain it if you don't let those two skinny guys and that fat guy convert it to Rails, then Angular, then React every 6 months.

  18. People are expensive by im_thatoneguy · · Score: 2

    Throw it away, Reboot it, Buy that software, Replace that finicky ___. Don't be the "hero" who spends 3 days debugging something which can be replaced for $500.

    1. Re:People are expensive by mhkohne · · Score: 2

      Careful with that - yea, 3 days debugging something that's cheaply replaceable is bad, but throwing out gear every month or two because you don't really understand what the hell is going on can be much worse, because you haven't actually solved the problem.

      --
      A thousand pounds of wood moving at 300 feet per minute. Don't get in the way.
    2. Re:People are expensive by mattb47 · · Score: 2

      Unfortunately, your bosses may feel otherwise. If there's isn't a way to easily expense that $500 widget, then you're stuck doing that 3 day job.

      This is horribly inefficient, but this is often typical of corporate America.

  19. Microservice Hype by Tablizer · · Score: 5, Insightful

    "To truly take advantage of the cloud, software needs to be architected and implemented differently, using microservices instead of monoliths."

    You mean convert all your API's into JSON calls and spin up gajillion web services? Why? That increases complexity. Native-app-language-to-native-app-language is much easier than app-language-to-JSON-back-to-native-app-language.

    Can't cloud do monolith? If not, what's stopping it? The performance bottleneck usually is and should be the database anyhow for must CRUD apps. Kajillion web services won't solve that. The CAP Theorem (Eric Brewer) limits your options and probably shouldn't be an app-side concern anyhow, but mostly a database side issue.

    This kind of hype created a bloated stack in our org that requires dealing with 4x more code than a normal stack would. Nobody can give practical examples of the use of such splitting: they just spit out vague buzzwords stolen from Dilbert's boss, or dreamy shit like "what if we grow to Amazon.com size"? -- Yeah Right. We are more likely to get hit by a meteor while buying a lottery ticket on a unicycle.

    Plus, these extra web layers seem a security risk: more doors for hackers to pick the locks of. Who is spreading this microservice rumor/hype? Russians? Microsoft marketers? Wrox? Knock-it-off!

    Martin Fowler said:

    So my primary guideline would be don't even consider microservices unless you have a system that's too complex to manage as a monolith. The majority of software systems should be built as a single monolithic application. Do pay attention to good modularity within that monolith, but don't try to separate it into separate services.

    As far as general IT advice:

    1. Data tends to outlive application software, so focus on good data.

    2. Be wary of wasteful hype. Let somebody else be the guinea pig. When that somebody else has it running well, THEN borrow the idea.

    3. Books are judged by the cover for good or bad, so throw the executives a pretty bone for a few high-visibility parts of a system, but keep most of the regular stuff (grunt screens) in something easy to create and maintain. Don't drag down the entire system chasing eye-candy and UI fads. By the time you're finished, it'll be obsolete anyhow.

    4. "Separation of Concerns" is a myth. Most non-trivial concerns inherently inter-weave among each other. You want to manage concerns well, not outright separate them with thick Trump Walls.

    1. Re:Microservice Hype by Shados · · Score: 1

      You mean convert all your API's into JSON calls and spin up gajillion web services

      Can use anything, doesn't have to be JSON. Any network protocol will do.

      And you don't have to use micro services. You certainly can run a monolith. But with "the cloud" you now gain the ability to spin up as many servers as you want and spin them down too. So it enables micro services as an option.

      And that option has interesting benefits. It does increase complexity (drastically), but for that cost you get a decent bit. The ability to change the stack under arbitrary pieces of code. The ability to deploy pieces of your system separately from the other. Faster builds and deploys. Hard cut boundaries between concerns that can't be crossed even if your devs wanted to.

      Now, if that's worth it...depends on your problem space.

    2. Re:Microservice Hype by Tablizer · · Score: 1

      Perhaps we are using different definitions of "microservices". I'd like to see a practical example/scenario for a typical application at a typical company.

      For example, let's say you have 75 satellite offices and each office has to submit sales goals and budget estimates each month, along with actual values for prior months, and related reports and charts comparing months and offices. (Doing it with mass spreadsheets has proven too messy to coordinate.)

      How are custom microservices likely to help here?

    3. Re:Microservice Hype by Shados · · Score: 1

      Microservices are an architectural style meant to solve the maintenance/deploy/tech debt issues by physically separating an implementations in a lot of pieces. It's not a solution to a business problem. It's a solution to a tech problem you create when solving arbitrary business problems. It's basically solving the same problem you solve with functions/classes/modules/folders/whatever, except with physical decoupling so you can swap -everything-, one piece at a time, not just the code.

      So to your example: think of how you'd split that in classes in OOP (or however your paradigm of choice split things). Now make those physically distinct microservices. Now 2 years from now when you realize there was a technology problem in fetching prior months because whatever version of Python/Ruby/Rust/Java/whatever has a security issue in a function that's used only for that part, you can move it to an arbitrary other technology (or version of the same technology) in 2 hours instead of migrating your whole app.

    4. Re:Microservice Hype by Tablizer · · Score: 2

      Now 2 years from now when you realize there was a technology problem in fetching prior months because whatever version of Python/Ruby/Rust/Java/whatever has a security issue in a function that's used only for that part, you can move it to an arbitrary other technology

      But it's less total effort to wait UNTIL such happens and split just that part out. Why bloat up 29 interfaces just to make ONE easier to split out? I don't see the effort math working for you.

      It's kind of like packing for a vacation to an unknown destination such that you have to carry winter, summer, beach, scuba, snow clothes/supplies, etc. Lotta baggage to service the Crystal Ball Gods.

      The idea has been around for about 2 decades in the form of XML-web-services and SOAP. They have not proven their general meddle after 2 decades. Changing protocols won't suddenly make the idea useful because the protocol wasn't the bottleneck causing their failure to begin with, but rather more complex interfaces and the language/protocol conversion overhead. (Yes, they have niches, like everything else.)

      Sorry, 2 decades is long enough to test the idea already. It failed. Move on.

    5. Re:Microservice Hype by Shados · · Score: 2

      For one, WSDL/SOAP web services back then weren't used the same way. They were generally used to split apps in "tiers" (eg: business logic, frontend, data layer). Sometimes someone would extract a few more for scalability or whatever.

      That's why "the cloud" (things like AWS) is an enabler here. You didn't have that back then.

      We're not talking splitting the app in 3-4 pieces. I'm talking splitting an app maintained by 100 devs in 2500 services. Effortlessly (thats the key and the only reason its viable).

      Tools like Mesos/kubernetes and continual deployment setups make this viable.

      At work, if I want to make a new service, it's not much more difficult than adding a function: Run the generator, open the service, add some code, push, hit a button or type something in slack. Done.

      We're talking 2 minutes (and on that, 1 minute is the time it takes for IntelliJ to open. You can cut that down using vim, lol). We deploy services and apps to production an average of 12 times per day per developer. Because it's "free" to do.

      Microservices are completely non-viable if you can't do that. If you don't have the infrastructure to do it. You need to get the benefits without paying a significant cost.

      Doing it like we did it 20 years ago (yes, I was a out of college then too) would have been batshit insane. And splitting stuff in just a few pieces isn't the same.

      To make an analogy, it's like comparing svn branches to git branches. I wouldn't make 15 branches a day in svn.

    6. Re:Microservice Hype by jeff4747 · · Score: 1

      Microservices are no more required than OOP. Or languages beyond assembly.

      Microservice architecture It's a tool. It can be handy, or it can be awkward.

      Off the top of my head, on the positive reasons include:

      • You can scale just the bottlenecks (your web front end is probably not very CPU heavy, but some of your business logic may be). Also,
          the scaling can be based on the work being done instead of just throwing more threads or a faster CPU at it and hoping for the best.
      • You can use whatever technology is best for that part of the application, instead of having to worry about compatibility layers if you want to mix technology (JNI, Python/C, etc)
      • Easy zero-downtime deploys and easy automated failover
      • You can rip out large chunks of your application and replace it with an entirely new technology without affecting the rest of the application. (Theoretically you can do this with OOP, but in practice there is never enough isolation in monolithic applications. "//TODO: Fix this hack with a real interface" appears in way too much real-world monolithic code because it works and you're in a rush)

      But like OOP, microservices do not solve all problems. The point of hiring a professional is they know which tool to not use.

    7. Re:Microservice Hype by phantomfive · · Score: 1

      Can't cloud do monolith?

      Yes.

      The performance bottleneck usually is and should be the database anyhow

      Yes.

      --
      "First they came for the slanderers and i said nothing."
    8. Re:Microservice Hype by Tablizer · · Score: 1

      If it's so automatic, then automatically keep them off UNTIL actually needed. If you can push a button and turn a function or class into a microservice, then wait until actually needed before you push that button.

      I still haven't seen anywhere near enough use-cases to see an advantage to making them exist and/or on by default. If they have code overhead, then there are not enough use-cases to justify the code overhead, but if they are trivial to create, then wait until they are needed to trivially create them.

    9. Re: Microservice Hype by Tablizer · · Score: 1

      There are issues with spreadsheets such as locked files, old versions in use, corrupted copies, etc. There may indeed be ways around these (plus scripting would probably be needed), but it probably takes as much time to implement the work-arounds as it would be to make RDBMS-based CRUD screens for it, and it would have RDBMS ACID protections that spreadsheets lack.

    10. Re:Microservice Hype by Tablizer · · Score: 1

      I can see how some of those may be useful for "large" applications, but perhaps such applications should be split into sub-applications that communicate mostly via the RDBMS. There seem to be a pushy group of anti-RDBMS people out there who want to do most database-y things in app code. Since databases tend to outlast programming languages, that may not be wise, among other reasons.

      You can scale just the bottlenecks (your web front end is probably not very CPU heavy, but some of your business logic may be)

      Assuming other techniques such as query tuning, DB indexing, etc. don't help, why can't those parts be turned into microservices only if and when needed? Again, why make say 29 microservices when only one will likely pay dividends? Am I missing something?

      You can use whatever technology is best for that part of the application, instead of having to worry about compatibility layers if you want to mix technology (JNI, Python/C, etc)

      Most smaller and medium shops don't want a potpourri of app languages. It makes hiring and staffing more difficult. And again, why not wait until an actual need appears before microservice-izing a module or API?

      I'm not against microservices as a tool to use when needed, I just question mass microservice-izing up front.

      Easy zero-downtime deploys and easy automated failover

      How about a more explicit example. Web servers can already provide this.

    11. Re:Microservice Hype by Tablizer · · Score: 1

      How does #1 allegedly do security better? Having API's communicate via HTTP or over the network seems to expose risk that an in-RAM API-to-API communication would not have.

      #2, One can do that with API's also. I will agree that if your dev teams are divided by technology (UI, security, database, etc.) that may make a bit more sense. In our case, teams are divided by application or entity, not by tech. There are indeed niches or org structures where microservices pay off, but the implication in the article was that it should be the default and that it's the (certain) future. Use the right tool for the job.

      #3 Seems like a company-specific issue. Amazon may catch on to "shortcuts" eventually and change their billing practices. Companies do like their revenue streams.

    12. Re:Microservice Hype by lamer01 · · Score: 1

      Do you care to elaborate on your stack? What is this generator you speak of? Thanks

    13. Re: Microservice Hype by Tablizer · · Score: 1

      That it was successful doesn't necessarily mean it's better than the alternatives, such as direct API's and/or stored procedures. One would have to do a side-by-side comparison and/or be given sufficient specific scenarios where one clearly does worse and can't be tuned. Now I do agree that microservices may be better in a mixed language/tool environment for such security management.

    14. Re:Microservice Hype by jeff4747 · · Score: 1

      but perhaps such applications should be split into sub-applications that communicate mostly via the RDBMS

      There's nothing that says a microservice architecture has to communicate via direct network calls. In fact, using some sort of database as a messaging system is one extremely common way microservices are implemented.

      There seem to be a pushy group of anti-RDBMS people out there who want to do most database-y things in app code

      Putting the logic in the database ties you to that particular data store - you're not going to be able to directly run PL/SQL in a non-Oracle engine. Running the same logic in code gives you more flexibility in what you use as the data store.

      Whether or not that flexibility is worth it depends on what exactly you're doing and where you are doing it. And on your staff - good DBAs that can properly optimize that SQL logic are harder to find than good coders.

      Assuming other techniques such as query tuning, DB indexing, etc. don't help, why can't those parts be turned into microservices only if and when needed? Again, why make say 29 microservices when only one will likely pay dividends? Am I missing something?

      Nothing says every object has to be its own microservice. You draw the lines where they make sense.

      Some of them are pretty easy to draw (web front end vs business logic vs data store). But how you split up those pieces depends on what you're implementing. Sometimes you split based on workload, sometimes you split based on team organization, sometimes you split based on how often you expect the parts to change, sometimes you split for security, and so on.

      For example, query tuning and DB indexing can only get you so far. Sometimes you just have to make another database. Having a "data" microservice gives you the option to do that without changing everything else. Again it's possible to do this with proper OOP, but given normal tight deadlines, there's going to be something that breaks encapsulation in a monolithic application with a several-year-old //TODO nearby.

      I'm not against microservices as a tool to use when needed, I just question mass microservice-izing up front.

      Because it will never happen otherwise. To do it properly, you're talking about a complete refactor of the application. That will never be in the budget, especially at a "smaller to medium" company. Doing a piecemeal migration gives you the worst of both worlds.

      How about a more explicit example. Web servers can already provide this.

      Web servers can't really provide zero-downtime deployments. Sure, the http requests have somewhere to go, but you typically lose state since the web server is not aware of state within the application.

      As a contrived example, a "shopping cart" your application was using doesn't exist in the newly-launched version, and the web server has no way to know to route the traffic to the old version.

      A microservice architecture would let you run the new and old in parallel until it makes sense to the application to retire the old version. You did some sort of service discovery to find the service back when the cart was created, and you just keep using that old service until you're done with the cart. Eventually the old service's metrics indicate it can shut itself off (0 open carts in this contrived example).

      Again, it's possible to manage this migration in a monolithic architecture. But it's manual and requires care from devops (or far more commonly, downtime so they don't have to take that risk). In a microservice architecture the migration happens automatically. Service discovery just starts returning the new service, and the same cleanup logic you were already running retires the old services when they announce they're no longer needed.

    15. Re:Microservice Hype by Tablizer · · Score: 1

      There's nothing that says a microservice architecture has to communicate via direct network calls. In fact, using some sort of database as a messaging system is one extremely common way microservices are implemented.

      It sounds like you are stretching the definition such that anything that communicates over the network is a "microservice".

      Putting the logic in the database ties you to that particular data store

      You have to tie it to SOME language. If you write it in Python then you tie it to Python. At least databases are designed to handle database-ish things: large scale data chomping. If you use the query language right, you can automatically get parallelism and scaling. Python doesn't have that, and if it did it would be reinventing a database and then just be competing as yet another database.

      good DBAs that can properly optimize that SQL logic are harder to find than good coders.

      Skill shortage/availability profiles change over time. If you are saying microservices are about reinventing/replacing the DB, well, that's kind of big and different topic.

      My observation is that database platforms outlast "in" programming languages.

      You draw the lines where they make sense.

      No disagreement there. Just make sure there is a real need rather than "everyone else cool is doing it". Or "big co's are doing it so our Mom-and-Pop shop should do it also."

      For example, query tuning and DB indexing can only get you so far. Sometimes you just have to make another database. Having a "data" microservice gives you the option to do that without changing everything else.

      Make another database? Can you provide a specific example scenario?

      To do it properly, you're talking about a complete refactor of the application.

      Again, I'm skeptical. I'd like to see a specific scenario. An "application" is largely a series of conventions. Changing conventions for overhauls requires changing interfaces, regardless of what the interfaces are written in. If a prior 1-to-1 relationships become 1-to-many, related INTERFACES will probably have to change regardless of whether that interface is language API's, JSON, XML, CSV, SQL, etc. Semantics have changed.

      Web servers can't really provide zero-downtime deployments. Sure, the http requests have somewhere to go, but you typically lose state since the web server is not aware of state within the application.

      You mean session data? If the machine the session data is on dies, it dies. Micrososervices won't save you. It's possible to have some kind of replication of session data, but Microservices don't provide that out-of-the-box, and don't necessarily do it better than alternatives, such as an RDBMS.

      Eventually the old service's metrics indicate it can shut itself off (0 open carts in this contrived example).... In a microservice architecture the migration happens automatically.

      Please clarify how an "open cart" is defined and "the services metrics". An "open cart" is a business domain object/thing. Again, that doesn't appear to be something out of the box, but biz logic created specifically for the shopping cart system (or specific components selected for it).

      Maybe for large and distributed non-financial systems like Netflix, gajillion little network services may make sense. But that's only like one out of every 10000 applications.

      Note this from https://www.nginx.com/blog/ser...

      The service registry is a key part of service discovery. It is a database containing the network locations of service instances. A service registry needs to be highly available and up to date. Clients can cache network

    16. Re:Microservice Hype by jeff4747 · · Score: 1

      It sounds like you are stretching the definition such that anything that communicates over the network is a "microservice"

      Microservices are not defined by a communications method, but by the fact that they are small, self-contained processes that implement some small part of the application.

      It doesn't matter how the microservices communicate, they're still microservices.

      You have to tie it to SOME language. If you write it in Python then you tie it to Python

      I can run the same Python code on many different hardware configurations and operating systems under many different Python runtimes, "in the cloud" or on-prem or on my development box. I can only run PL/SQL in Oracle, and in most development environments, only on a very small number of servers.

      At least databases are designed to handle database-ish things: large scale data chomping. If you use the query language right, you can automatically get parallelism and scaling. Python doesn't have that, and if it did it would be reinventing a database and then just be competing as yet another database.

      Again, doing it in the database has some trade offs. So does doing it in code. Which one to pick depends on which trade-offs hurt the least.

      For example, you're loading down the database with more work by processing the data there. Most RDBMS require a single master node to do any writes, which means you can't scale the database out to additional nodes to gain write performance. But if the DB returns a data set that is chomped on by code, I can spin up lots more nodes running that code.

      Also, you're thinking about parallelism wrong when it comes to microservices. You don't parallellize it by throwing more threads at it. You parallellize it by adding additional nodes. The global interpreter lock doesn't matter when you're not running on the same machine. And if it turns out you want to make heavy use of multithreadding, why are you doing it in Python? Since it's a microservice, you're free to do it in a language without Python's GIL issues....or use IronPython as the runtime on those nodes.

      My observation is that database platforms outlast "in" programming languages.

      You don't have to pick the latest fad language for your code. Write your microservice in C if you want. Something like Amazon's SQS won't care that it's in C...or Java...or Rust...or whatever.

      Make another database? Can you provide a specific example scenario?

      Validating login tokens. You might start by using one database for all your data because "hey, I got a database and it works". But you'll quickly have pretty bad performance because you're constantly validating login tokens. So now you want to move the tokens to another database, most likely moving to a different technology like Redis.

      If you coded your application to go directly to the database, you now have to change and test lots and lots and lots of code. If you hid it behind a "data" microservice, you only have to thoroughly test that. And if it breaks, rollback consists of deploying the old version again. Service discovery will cause every other service to switch.

      Changing conventions for overhauls requires changing interfaces, regardless of what the interfaces are written in

      Depends on what you're changing. Let's say you're adding a "comment" column to some data. The things that never use "comment" can keep using the v1 interface. Things that need comment migrate to v2.

      You mean session data? If the machine the session data is on dies, it dies. Micrososervices won't save you.

      Sure they can. You usually write your microservices as stateless and either hand state around in the microservice calls, or go to some sort of database for state (be it RDBMS, NoSQL or memory-based).

      So now if the instance of the microservice process

    17. Re:Microservice Hype by Tablizer · · Score: 1

      I can only run PL/SQL in Oracle, and in most development environments, only on a very small number of servers.

      Pick a different database. You are probably going to need one anyhow for direct databasey things even if you personally prefer writing as much as possible in a "flat" app language.

      Most RDBMS require a single master node to do any writes, which means you can't scale the database out to additional nodes to gain write performance.

      Newer RDBMS allow you to choose which letter to sacrifice per CAP theorem. Python can't do that without becoming a database.

      Validating login tokens. You might start by using one database for all your data because "hey, I got a database and it works". But you'll quickly have pretty bad performance because you're constantly validating login tokens. So now you want to move the tokens to another database, most likely moving to a different technology like Redis.

      The devil's in the details of how such tokens are validated, such as whether associated data and/or history is needed. A lot of services in practice are rarely an island and/or don't stay an island.

      You usually write your microservices as stateless and either hand state around in the microservice calls. So now if the instance of the microservice processing your transaction dies, your application can re-submit the request and it will go to another instance.

      If it's stateless why are you worried about state? It seems a contradiction. If you want server-side replication or backup of session state, then you either use a database or reinvent databasish needs.

      If (version &lt current) and (active_carts &lt= 0) shut_down_service();

      This can lead to race conditions and/or deadlocks if not handled carefully. Time to maybe consider ACID?

      And you don't have to write or maintain it.

      Companies package and sell software, that's not news.

      Anyhow, when our org or apps grow to Netflix or Amazon size, I'll consider it. For now there's still plenty of options to scale regular web apps and RDBMSs between such time. We are good ways to go before we exhaust them.

      Now I do agree it may be nice to have a transmission standard that blurs the line between web services, file systems, and databases to make it easier to switch and swap. But that's mostly a different problem than when and where to use a database.

    18. Re:Microservice Hype by jeff4747 · · Score: 1

      Pick a different database. You are probably going to need one anyhow for direct databasey things even if you personally prefer writing as much as possible in a "flat" app language.

      If I'm developing a microservice, I don't need a database at all. I can mock the data microservice (and all the other microservices) until it comes time for integration testing.

      Newer RDBMS allow you to choose which letter to sacrifice per CAP theorem. Python can't do that without becoming a database.

      Uh....no, multiple nodes running Python code are inherently making the same trade-offs without running a database at all.

      The devil's in the details of how such tokens are validated, such as whether associated data and/or history is needed.

      Even a simple select will bog down performance if you're using a disk-backed database, because you're going to have to validate that token at least once per request. Frequently more than once since you're going to be verifying roles/permissions as the request is processed.

      If it's stateless why are you worried about state?

      Because application state exists even if the microservice itself is stateless.

      If you want server-side replication or backup of session state, then you either use a database or reinvent databasish needs.

      As I mentioned, one way of doing this is to use a database for state, but again you probably do not want a traditional disk-backed database for performance reasons.

      Another way of doing this is using state that is stored in memory, either passed to each microservice or in a common, replicated service. This is much more common than using a database due to performance.

      This can lead to race conditions and/or deadlocks if not handled carefully.

      Actually, it would work. Not being the latest version means no new cart requests would be sent to that node. So when the active count goes to zero, it's safe to shut down the node.

      Anyhow, when our org or apps grow to Netflix or Amazon size, I'll consider it.

      You'd be surprised just how small your application can be while benefiting from these kinds of technologies. Automated failover and true zero-downtime deploys are large benefits even if your application is tiny.

    19. Re:Microservice Hype by Tablizer · · Score: 1

      If I'm developing a microservice, I don't need a database at all.

      That depends on the service. If it's non-trivial it will probably need at least some database work such that putting non-UI-related algorithms on the database can simplify life.

      And if it is trivial, wait UNTIL there's an actual microservice need before adding a microservice. YAGNI.

      nodes running Python code are inherently making the same trade-offs without running a database at all.

      Well, if your Python apps or libraries are doing enough database-y things like coordinating and managing shared and concurrent info, then congratulations! You've just reinvented a database! -- That future maintainers will know nothing about. RDBMS standardize storage, sharing, and concurrency issues so that each app writer doesn't have to make or learn a new and different wheel. They are not perfect (nothing is), but so far there's no competitor strong enough to unseat them. The declarative nature of SQL allows the server to automatically distribute the load of the processing and replication (if used) to multiple processors and/or servers so that app coders don't have to micromanage such. Python doesn't.

      Even a simple select will bog down performance if you're using a disk-backed database

      Who said databases have to use disks? Anyhow, again, one would have to know the specifics of this hypothetical app to propose a design and scaling path.

      Because application state exists even if the microservice itself is stateless.

      I thought you proposed using a microservice to manage session state backups, failover, and replication.

      This is much more common than using a database due to performance.

      Again, newer versions of RDBMS have better distributed processing options. They were not common before because most co's didn't want to sacrifice reliability or timeliness of the data, not because RDBMS are inherently wimpy. Per CAP theorem, there are trade-offs to consider. The newer RDBMS versions are offering the full gamut of CAP tradeoffs to compete with Hadoop etc.: you want distributed, you can get distributed, but have to still live with limits of the speed of light and the CAP-related tradeoffs it imposes. Python cannot go faster than the speed of light despite what some fanboyz may claim.

      So when the active count goes to zero, it's safe to shut down the node.

      There will be a small sliver of time between the time the algorithm checks the count (A) and the time it issues the shut-down command (B). It's possible another process could put items in the cart between A and B, and thus B can get shut down even though the cart is no longer empty. It may not be likely on a small scale, but for a high-volume system, the type where microservices are often looked at, those chance incidences grow more likely and can do bigger damage. Coordinating it properly takes us right back technologies such as ACID and dealing with CAP tradeoffs.

      You'd be surprised just how small your application can be while benefiting from these kinds of technologies. Automated failover and true zero-downtime deploys are large benefits even if your application is tiny.

      Claims are easy to make. I've heard those before from other Thing of the Month technologies. Justifying them with details, specifics, realistic test cases, and science is another matter.

  20. Three hard truths by Pfhorrest · · Score: 1

    1. The whipped cream in the bathroom is not whipped cream.

    2. We cannot escape ourselves.

    3. And sometimes, the cat door... is closed.

    --
    -Forrest Cameranesi, Geek of all Trades
    "I am Sam. Sam I am. I do not like trolls, flames, or spam."
  21. Some things to learn by WillAffleckUW · · Score: 3, Informative

    1. State actors never have your own best interests at heart.

    2. Frat tech boys will always get their feelings hurt. And whine whenever they aren't winning massively.

    3. Comment your code. Always. And stick to naming conventions, it saves a lot of time - for you, and for others.

    4. Low cost index mutual funds and ETFs will always outperform actively managed stock and bond funds. Property will always outperform all of these in areas of high population and job growth. You can't take it with you, so don't buy a house you don't need until you actually need it, and never look back.

    5. Lists are for people who have problems. Which is, quite frankly, everyone.

    6. Take showers and brush teeth/hair. Don't wear shirts or underwear more than one day. Keep spares at work or a gym if that's hard to do.

    --
    -- Tigger warning: This post may contain tiggers! --
    1. Re:Some things to learn by Dripdry · · Score: 1

      While I appreciate much of your post, IAAFP (Financial Professional, yes) and passively-managed/low cost does not outperform actively-managed in many instances. I will happily provide data. Some bond funds, maybe a large cap fund occasionally (but most of those are index funds unless specifically specialized anyway), but for any kind of market that isn't trending upward with no bumps in the road, like right now, passive/low cost gets slaughtered by the better funds.
      The key is research and knowing how to collate and compare all data. The financial industry makes this rather hard to do, I believe.
      Morningstar data below, it's a bit of a pain but bear with me on the NAV vs current market return values. Off the cuff running numbers to see what happens.
      Vanguard 500 is basically a mirror of the S&P500, so...

      Mkt Tot Ret 12 Mo (Current) 22.85
      Mkt Tot Ret 3 Yr (Current) 13.05
      Mkt Tot Ret 5 Yr (Current) 14.26
      NAV Tot Ret 10 Yr (month-end) 7.44
      NAV Tot Ret 15 Yr (month-end) 10.04
      Sortino Ratio 5 Yr 2.79
      Sortino Ratio 10 Yr .75
      Sortino is a good measure of risk vs return. It basically says that investors don't care about upside volatility but do care about downside volatility. it's not foolproof, but it's better than most of the pap out there.
      I immediately find 4 different fund companies (Pimco, JPMorgan [who I don't like personally], Hartford, and Invesco) in our system with Large Value funds which are neck and neck with the pure S&P/basic ETF, and that's Net of fees.

      That's also just Large Cap, easy to replicate as a fund. Get into anything that requires research, such as small/micro cap, small international, emerging markets equity/bond, convertibles, preferreds, commodities, natural resources... at that point you're often better, in a well-researched active fund.
      When the market takes a shit again? I guarantee you the Amana Income Fund will put to shame nearly all these hot funds, ETFs, and the benchmark S&P. My point? Strategy matters, too, but that's tangential.

      I could provide more data but I have to get back to giving advice...

      --
      -
  22. IT Costs Money by quetwo · · Score: 1

    Plain and simple -- IT costs money. The people who operate and implement IT cost money. Every bit of IT that gets implemented, from email to that fancy CRM system require money to do right. Even if you move stuff to the cloud, outsource or push it out to front-line staff to do it themselves will always cost money.

    The trick is to make that money you are putting toward IT to good use. You will spend it regardless if you make it your competitive advantage or not. So, the smart companies use technology as their competitive advantage rather than just as a cost center. Making IT a competitive advantage costs a bit more, but ultimately it will put more money into other parts of the business.

  23. Hard truths by Checkered+Daemon · · Score: 1

    You can't fix stupid.

  24. Hard Truth: Be a lifelong learner or get out of IT by ErichTheRed · · Score: 4, Insightful

    I'm 42, so I'm officially an old fart when it comes to my IT job. I'm in a senior engineering/systems architect job and one of my favorite aspects of it is my unofficial duty to impart wisdom on the newbies. My "hard truth" about IT that surprisingly few people truly grasp is that you can't get comfortable being the expert at one particular thing and coast. Even 10 years ago you could do that...I know so many people who make more than I do jumping from contract to contract doing CCNP-level router work or being the "EMC/HPE/IBM storage wizard." The formula for success used to be to pick a vendor, steep yourself in the technology, then get and keep certifications while learning what's new every few years. This is rapidly going away...regardless of what you think of cloud, CIOs hear the magic word "OpEx" and suddenly all that on-premises hardware and knowledge is out the window. For years, I did a combination of Windows Server, Citrix XenApp and System Center as my core skills, while trying to learn as much as I could about other areas. Even that has changed so much in the past couple of years...desktop apps are being replaced with web apps, containers, APIs, anything that abstracts the client layer and makes it look and act like a smartphone.

    These days, one of my jobs is to do the systems design for a huge project in Azure. Anyone thinking they can just pick up a cloud provider's stack of tools overnight is in for a bit of a shock. Couple that with the fact that all the cloud vendors are releasing whole new features every week and existing features change almost as often. Part of my job has been trying to get as many of our engineering staff on board for learning cloud stuff, and it's been a challenge with a couple of people.

    Keeping up with all the knowledge needed to be the guy they keep on staff when all the routine work is offshore is hard. I have had to dedicate a lot of off-work time to it, because no company trains their staff anymore...one of the things I hate about IT not being recognized as a real profession. The reward for doing this is a very interesting job and, not surprisingly, a higher-pressure firehose to learn from. :-) Being a dad on top of this is tough also...it requires lots of time management, late night reading and watching videos at 2x speed to do this and be a functioning parent.

    So yeah...if you want to keep an IT job, especially as things get more and more abstract, broaden your skill set and learn as much as you can get your brain around.

  25. Hot Take Below by bistromath007 · · Score: 2

    San Francisco tech startups have a serious problem with gender equality nearly as bad as the one in Hollywood, but the rest of the United States doesn't, so they can shut the hell up with their hypocritical political garbage.

    1. Re: Hot Take Below by bistromath007 · · Score: 2

      They're the ones bothering us about it, yet they're consistently shown to be the worst examples of it whenever something leaks. Given all the other ways Silicon Valley and Hollywood seem completely oblivious about how the real world works, I am definitely inclined to believe they're huffing farts in this case as well.

  26. Budget by Vrallis · · Score: 1

    You are a red line on the budget. You are nothing but an expense Your department just beg and grovel to justify its existence at every turn.

    When something breaks, and you fix it, the value of fixing it will not be seen by the company. They will only see this red line on the budget fucked up and expanded that red line even further.

  27. DevOps is out, DevSecOps is in by radicimo · · Score: 1

    DevSecOps is where the industry is headed.

    --
    100 REM PISS OFF CODE FASCISTS 200 GOTO 100
    1. Re:DevOps is out, DevSecOps is in by Darinbob · · Score: 2

      DevSecOpsJanitorIT?

    2. Re:DevOps is out, DevSecOps is in by phantomfive · · Score: 1

      What does that even mean? Like, what can such a person do that a normal devops can't do?

      --
      "First they came for the slanderers and i said nothing."
    3. Re:DevOps is out, DevSecOps is in by radicimo · · Score: 1

      Architecting security into the DNA of a product instead of grafting it on half-assedly later on, if at all.

      --
      100 REM PISS OFF CODE FASCISTS 200 GOTO 100
    4. Re:DevOps is out, DevSecOps is in by phantomfive · · Score: 1
      ok, I looked it up. Found this, I'm liking what I see. Their manifesto needs some conciseness, though. Indeed, if security isn't a part of the product from the beginning, it can't be added later.

      The purpose and intent of DevSecOps is to build on the mindset that "everyone is responsible for security"

      --
      "First they came for the slanderers and i said nothing."
  28. 2 of the hardest IT problems : poseurs and leeches by tobybot11 · · Score: 2

    I've worked on IT problems for a very long time.. coming up on 30 years here soon. In all sorts of contexts, academic, government/miltary, ISPs, ASPs, cloud providers, SaaS entities, traditional IT departments, telcos.. you name it. Ever work at a company that has 64 different billers and no plans to ever consolidate? Ever work on an awesome tool only to have it replaced by index cards because the guy in charge was afraid of computers? Ever build a perfectly capable monitoring/management platform only to have it replaced by an entirely substandard version because yours 'wasn't invented here'? Ever watch as a vendor takes big chunks of a companies money every 3 years because no one remembers the last time said vendor couldn't deliver even though it was only 3 years ago? Ever watch project after project fail because anytime any modicum of project management is applied or development methodology attempted all progress comes to a screeching halt? I have and I can go on endlessly... with examples of IT failures and very rarely, IT's successes. To sum it all up, to me, all forward progress in IT is made by people who actually know what is going on ( both from a technical and from a business/political/social perspective) .. and generally, all hard problems associated with IT are caused by the poseurs and the leeches ( in either domain ). 2 examples of poseurs.. execs that use vendors to do everything for them, including thinking for them .. or the 'X specialist' that refuses to learn the 'Y domain' because of the 'religion/supposed magic/history/tradition around X' .. 2 examples of the leeches.. the person that blocks any attempt to introduce something new or fix lingering issues because they want to protect their job.. or generally 'project managers/scrum masters/etc.' For me, the team/module is too big if you can't run it or extend it with 8-12 people .. beyond that the overhead causes everything to cave in ( not a new concept .. see MMM's surgical team concept from 1976) .. I can go on endlessly. The low point of the poseur/leech problem is this recent love affair people have with 'imposter syndrome'... it's as if the poseurs and leeches are wanting desperately to rationalize their reason for hanging around and have created this sad justification. Let's rather focus on the 'burden of the expert'.. having to constantly claw your way thru all the artifice and detritus stood up by the imposters and instead find a way to clear these folks out, make IT into a real engineering profession, and then finally automate and converge IT away as was promised long ago .. and not have IT itself leech off the system forever with teams re-developing every possible thing over and over again in the next new fad methodology or language. Sorry for the rant.. IT could go on forever. :-)

  29. Cloud & Idiots by StormReaver · · Score: 1

    A June 2017 survey of 300 IT pros found that 80 percent said the cloud wasn't meeting their expectations due to problems with security, compliance, complexity and cost. According to a January 2017 survey by cloud management firm RightScale, from 30 to 45 percent of enterprise cloud spend is wasted.

    No shit, Captain Obvious. The whole, "Giving The Keys to The Kingdom to Someone Else" idea (otherwise known as Cloud Computing) was idiotic from the start. Of course it was, is, and always will be, costly and inefficient. It boggles the mind that otherwise (presumably) smart people would be so stupid as to buy into that particular brand of snake oil.

    The only surprising thing in this section is that RightScale stopped at 30 to 45 percent. In my experience, the waste (meaning absolutely no benefit for the dollars spent) is closer to 85 to 90 percent.

  30. oh you know, by n3r0.m4dski11z · · Score: 1

    You are constrained by your circumstances only as much as you are willing to go out on a limb and risk failing.

    And web management GUIs are a sickening fad of instability.and inconsistency.

    --
    -
  31. None of our Operating Systems are Secure by ka9dgx · · Score: 1

    Windows, Mac, Linux, you name it... it's not secure, by design. None of them implement the principle of least access (POLA). All of them are default permissive environments which makes it impossible to specify at run time the extent of side-effects allowable from a given process.

    My running estimate is 10 more years before people wake up and start re-engineering things to shift paradigms. Until then, chaos will continue.

  32. Hard truth: the /. we once loved will never return by dcooper_db9 · · Score: 1
    --
    I do not block ads. I do block third party scripts.
  33. It's not about you. by hey! · · Score: 1

    Unless you are in some kind of Internet business, you are not a line department. You are a support department. just like the janitorial service. You are being paid, not to pursue your own ambitions, but to make other peoples' ambitions come true. Maybe you get to do some professionally interesting things along the way, but to be a professional you can't let that affect your decision-making.

    Perhaps a better analogy than the janitors would be the organization's lawyers. Corporate counsel a highly skilled position, but as a lawyer your job is to look after the interest of your client. If you decided to take a particular legal course because it involved a new and interesting legal theory that would be legal malpractice, but IT people do that sort of shit all the time.

    I have found working in the staff role very rewarding; you can even have a transformative effect on an organization. But if you're not interested in what the organization does and helping the people who do those things you'll never be good at your job.

    --
    Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
  34. Move managers to avoid accountability by VikingNation · · Score: 1

    I always wondered why the government moved managers around every two years. The reason is to avoid the possibility of ever holding someone accountable for fraud, waste, and abuse on mismanaged IT projects. As long as there is a culture of âoeIt was the previous management who let the contract go to hell there will never be any changes.â

  35. IT department Mantra by VikingNation · · Score: 1

    The following is the fact that everyone should realize. âoeThe IT Department - delivering you yesterdayâ(TM)s technology tomorrowâ

  36. What Are Some Hard Truths IT Must Learn To Accept? by DivineKnight · · Score: 1

    IT's Glory Days have come and gone.

  37. IT security is not a beginner's game by gweihir · · Score: 2

    But actual experts are expensive. Stay away from IT "security experts" that cannot code, that cannot configure a network or a firewall, that cannot administrate a system, mailserver, DNS server or webserver and that do not understand how crypto works and what it can and cannot do. I have seen far to many of these people and they universally make things worse in the long run instead of better.

    --
    Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
  38. Re:Work you like Dev, pay you like Ops by Darinbob · · Score: 1

    If you've got ten operations employees and ten developers, an you replace them with eight people doing the same work, then that's DevOps. It really only applies if your developers are doing web stuff so that there's a little bit of overlap when seen from a mile high.

    I was at one job in the 90s when the system and application developers were merged with the customer support team. All of the devs needed to spend time phoning up angry customers, and all of the customer support people had to fix up bugs. It only sort of worked because the customer support did know how to use the scripting language for the product, but us devs were absolute rubbish at talking to real people. That experiment only lasted a month. (later the same company took a few new developers who started that week and turned them into professional services, but that only lasted a day because they all quit)

  39. Favorite Bad IT Story by Prien715 · · Score: 1

    I was working contract at the HQ for a x86 processor maker (yes, you can probably guess who) a couple years back and IT had banned any program which attempted to even READ from the Windows registry...which I found out when Visual Studio batch file (to setup its environment) complained about being able to find some of its installation paths

    Rather than talking to IT to fix the problem, my boss pointed me to a network location which had a .exe to enable all registry writing...and a set of recursive directories for each OS going back to the 90's when it was a simple VBScript with the company's logo.

    Hacking a solution to bypass IT had literally become the de facto design pattern for over 20 years.

    (FWIW, I don't even blame IT...every I talked to was both nice and knowledgeable, but it was clear they were being handled like a commodity and had almost zero free time to help with anything that wasn't in an explicit ticket.)

    --
    -- Political fascism requires a Fuhrer.
  40. you don't get to be a d*ck by the-build-chicken · · Score: 1

    The days of you being able to be condescending, or rude, or throw tantrums because your technology or architecture was not the chosen one just because you're "just in IT, ignore him/her" are long, long gone.

    Executive teams don't care if you're the only person who knows some obscure system anymore. They don't care how clever you think you are or how your CV for sure proves that you're "in the top x% of all developers". Software systems are not so much voodoo to them now as they used to be and they are perfectly comfortable canning your a** if you don't play well with others.

    At the very least, your career projection will end if you think behaving like Dilbert is cool (if you just think Dilbert is cool you have a whole bank of other issues which may or may not be career threatening).

    I taught grads for a few years and was asked over and over for one piece of advice to help with their career...most were expecting "learn java" or "learn python" or "learn X" but it was always the same...don't be a d*ck and your career will be just fine.

  41. Being in IT Sucks by geekymachoman · · Score: 1

    Depends what sector of IT, but it's an ungrateful job.

    You have to constantly learn and improve.
    Companies tend to hire younger people they can exploit more.
    Companies tend to hire cheap barely skilled labor over investing in quality people.
    Management has no idea what they're doing, as most of them don't understand IT at all.. they just know buzzwords such as Agile, Cloud, whatever.
    If you're in some kind of NOC, you're basically a plumber.. and treated that way too.
    If you're programmer you're basically just a drone ... and treated that way too.

    Etc. Etc.

    I've been in IT since 2001, it's getting worse and worse (at least for me) to the point where now at 32, I'm trying to make something of my own (product/service) so I at least I don't have to deal with bosses, management, agile standup bullshit meetings, or discussing cloud providers.

    Hopefully I will, otherwise I might commit suicide.

  42. Re: Systemd is a perfect example of this lesson. by Reverend+Green · · Score: 1

    For reals, broham?

  43. Bottom of the food chain by DerekLyons · · Score: 3, Insightful

    IT is a support function - it's job is to keep the rest of the company moving.

  44. It's Not All About Security by johannesg · · Score: 1

    All the security in the world is pointless if the actual task at hand can no longer be performed.

    For example, my corporate IT policy forbids me sending "files" to customers. It enforces this by not allowing FTP access, and not allowing binaries, archives, etc. to be transmitted in email messages.

    This is kinda funny, because my job is writing software. I'm literally being paid to create binaries and send them to customers - something I'm no longer allowed to do. So what are my alternatives? If I'm remote-debugging an application in another country, should I just send them USB sticks or CDs every time I have an update? Or should I just fly out and stay in a hotel a couple of days each time?

    Oh, and if someone sends me a binary or an archive (or an SVG drawing - very dangerous, those), the mail is simply disappeared by the corporate email system, with neither a message to me that this has happened, nor to the customer that their message wasn't delivered. About the only thing I can think of that is even more secure is to just abolish email altogether.

    Since we switched to Skype for Business we haven't been able to make phonecalls either, so if they removed email, in any practical sense I could just stay at home. Nobody would notice the difference anymore...

    1. Re:It's Not All About Security by stardaemon · · Score: 1

      BASE64 encoding?:)
      If you have local admin you can overwrite the group policies.
      You run your script via the task scheduler on start, logon and whenever else you think they might try to push policies to your computer.
      While it may not solve your main problem, it might at least make other things a bit more bearable.

      --
      The only way to stay sane in an insane world, is to be mad yourself...
    2. Re:It's Not All About Security by coofercat · · Score: 1

      ...advice almost guaranteed to get you fired.

      You'd be better off highlighting the issue to your manager each time it occurs. When s/he gets bored of you coming by to tell them of another incident (probably after 2-3, I'd imagine), start sending weekly summaries. Be sure to include how much of your time you're spending on non-coding activities such as mailing USB sticks or whatever. You may choose to present that time as a percentage of your total contracted working hours. Once they see 20% or something, it'll get sorted one way or another (but probably not in the way you're expecting or hoping for - so be ready for that).

    3. Re:It's Not All About Security by johannesg · · Score: 1

      Thanks for your advice. My boss knows. He told me that corporate HQ is actually displeased with our security practices (for example, we tend to make ourselves local admin far too often - a state which lasts a few hours and then magically disappears again), and will be tightening the screws even further in the future. We'll see how it goes - but realistically speaking, we are right on the edge where we will _really_ be unable to do our jobs.

  45. Re:Hard Truth: Be a lifelong learner or get out of by phantomfive · · Score: 1

    Anyone thinking they can just pick up a cloud provider's stack of tools overnight is in for a bit of a shock. Couple that with the fact that all the cloud vendors are releasing whole new features every week and existing features change almost as often.

    The key is to keep things simple. You really don't need features like AWS Lambda, even though they are really fun. If you treat the cloud as a plain vanilla way to spin up and down servers, then you can build a robust, portable architecture that won't need to be rewritten at the whim of a vendor.

    --
    "First they came for the slanderers and i said nothing."
  46. Re:Off the top of my head by serviscope_minor · · Score: 1

    You're overpaying programmers for the shitty code they produce.

    Programmers producing shitty code? The answer is clearly cheaper programmers!

    --
    SJW n. One who posts facts.
  47. Some experiences by pelpet · · Score: 1

    Here is my some so far unlisted experiences from me, after 16 years in IT in various roles - right now as IT Strategist in a large organization.

    1) All IT solutions are more or less temporary and constantly evolving. Continous evolution of the systems environment is generally less risky than big projects that aim to replace several systems. Often, sticking with your old systems and adding, replacing and removing functions works best.

    2) Getting new systems is easy compared to migration from old systems and decommisioning.

    3) Collecting requirements from users are generally very hard and often fails. The best requirements specifications is a current systems or sometimes an advanced excel sheet that has outlived itself. These can be seen as prototypes.

    4) Large scale IT operations can save money but it also adds maintenance complexity, which costs money. The IT cost is not what matters. What matters is the total effect on business.

    5) Technical arguments to replace a application should be vetted carefully. If someone proposes that a new system is required because the old system is based on legacy COM+ or some other obsolete framework, this is often incorrect. It is very often much cheaper to replace different modules in applications.

    6) Measure as much as possible. Website uptime, usage statistics, server usage, response times, firewall rule hits, database requests, etc. Users and system administrators are very ofter clueless on how much their application is used or if it works properly or not. The IT department should set up a good measuring framework. Only the experts even know what can be measured.

    7) Don't overdo ITIL or similar frameworks. If you have more people on managerial roles than technical roles, you have problems.

    1. Re:Some experiences by Hognoxious · · Score: 1

      8) Anyone who has "Strategist" in his job title is an asshat. Shun and avoid.

      --
      Confucius say, "Find worm in apple - bad. Find half a worm - worse."
  48. The hardest truth to accept ... by Qbertino · · Score: 1

    ... time and time again, for all of us in IT:

    The world doesn't revolve around you.

    IT may be a cornerstone, but it's very often not the actual business. If IT falls, personnel will switch to pen and paper. If everything else fails, the best IT is pointless.

    Don't over-estimate your own importance.

    --
    We suffer more in our imagination than in reality. - Seneca
  49. Management by hcs_$reboot · · Score: 1

    1. Management doesn't understand shit about IT
    2. Management is always right

    --
    Slashdot, fix the reply notifications... You won't get away with it...
  50. Re:Off the top of my head by quonset · · Score: 1

    You're overpaying programmers for the shitty code they produce.

    Programmers producing shitty code? The answer is clearly cheaper programmers!

    No, clearly the answer is to keep doing what's being done now because it's working so great.

  51. Re:Hard Truth: Be a lifelong learner or get out of by swb · · Score: 2

    I think this is right, but choosing a vendor/technology to beef yourself up on, especially on your own time, feels like playing roulette -- you have to put it all on 23 red, essentially, to develop anything remotely like "expertise" and then *hope* that whatever you've invested in is "the thing" that your management, industry to even employment region, decides is the thing they will invest in.

    It used to be a higher-percentage bet that whatever you invested in would have a good chance of paying off. But I've seen too many people buying into something only to find out it doesn't pay off because it turns out to be marketing BS or winds up in reality being not the economic choice people with money want to make (or, you seldom lose betting that management is cheap).

    The other thing is that I mostly reject the notion that self-investment in most technologies produces anything like expertise, with the possible exception of software languages where there's a lot more opportunity for in-depth implementation. I run into plenty of people who are certification/video/example experts but who really have zero grasp of the logic/rationale of operational choices and real-world applications. And in many cases, it's not their fault but the reality of extremely expensive equipment, restrictive software licenses, and the hard reality of separating hype from fact in real-world implementations.

    For a lot of IT technology you need a lot of time and an awfully big sandbox to think you've developed any "expertise" in a particular technology. I'm increasingly convinced that only real-world production experience counts as actual expertise.

  52. Then why to many jobs require degrees? by zerofoo · · Score: 1

    The whole point of this thread was that some jobs unnecessarily have advanced degrees as prerequisites.

    If employers do not want broad-based knowledge and education, why do many IT jobs require college degrees?

    Yes, employers do list jobs with very specific requirements - many times after listing a broad based college degree requirement. This tells me they want a formally educated individual with specific work experience.

    The trades have similar requirements. I know many certified technicians (HVAC, Automotive, and Industrial) who have either two-year engineering educations or VocTech and their employers still require job-specific experience along with the broad education.

    Are there some employers who only want one very specific particular skill? Yep - and I'll bet your "career" at those employers will not last long - as soon as that technology is gone - so are you.

  53. You Need to Cultivate Non-IT-Centric Users by eepok · · Score: 1

    In a large organization, non-IT employees will outnumber IT members 100:1. IT members will be focusing on a billion different things throughout the day... but Janine in Accounting is freaking out because her monitor is flickering and Allen, her assistant, knows how to troubleshoot but got his head bit off the last time he unplugged a cable. So IT has to send someone over to give a once over and hear the bullshit from Janine about how this has completely ruined her day, etc.

    Get to know Allen. Allen knows shit. He just doesn't code. Use Allen, don't hate on him.

    Bring Allen in to meetings when discussing the new procurement system you're building for Accounting because he knows enough of the Accounting side and enough of the IT side to bridge the gap for both groups.

  54. That... by easyTree · · Score: 1

    ... there are no 'musts.'

  55. Regression Testing by DarthVain · · Score: 1

    Don't have a lot of Agile experience, managers seem to love the "latest" (it isn't all that new) buzzword. I've found a lot of the principles are done anyway with a good back and forth relationship with the developers. However... I've noticed that doing rapid Agile type development exacerbates some of the existing challenges in testing, namely regression testing. Basically you have to be testing ALL the time. I'd have to block off essentially all my time for testing, whereas in less iterative approaches, you test for a specific release, go do other stuff you have to do for your job, then when the time comes, do some more testing on a release.

    One of the PITA of testing that everyone will understand is regression testing where whatever it is that is being worked on, breaks something else, many times with no seeming connect (at least at the time). Anyway with more discrete releases I think it is easier to nail this down. However when there are constantly releases, of which any of them could break anything else, you just end up testing ad infinitum for the duration of the project. Which is fine if you have one project you work on. If you have a dozen projects all on the go, it becomes untenable. So I guess it is more of a resources issue that management might not understand. Also some of those principles of Agile basically box up failures into critical or not, which one would do normally anyway, but again due to the numbers involved, some of those non-critical can snowball into major issues, to which at that point it's too late. There seems to be a lot of, well with Agile, you just got to live with mistakes and move on and do more Agile, etc... Doesn't make for a very stable release ever.

    All the meetings are supposed to facilitate better communication that is needed in such short intervals/iterations, however I've found wasted time where you're testing a function in the test environment, only to find out later you wasted your afternoon because the developers had already fixed it in the development environment, but it wasn't ready for deployment yet, etc...

    Anyway not supposed to be a condemnation of Agile, but it has its issues, and is certainly not infallible or the fix that management might think it is. A flexible waterfall is just as good if not better in many situations. I don't know too many that do a strict waterfall anyway in reality, which is indeed somewhat cumbersome. Agile is the other end of the spectrum and at least in my opinion, just as cumbersome as it's opposite. I think much of these methodologies are a way for management to try to idiot proof or reduce the amount of skill required for any particular project. However reality is, if you get good developers, and good project management, business engagement and documentation, and testers that know what it is they are looking at you will always have better outcomes than less skilled, but following a strict methodology. Bottom line from a management perspective and project costs, methodology is free, and skill costs. However at the end of the day when looking at TCO it might not be, but then again, that might be another project and another manager, call it a success, put it on your resume "AGILE" and move on...

  56. Re:Off the top of my head by ilsaloving · · Score: 1

    You kind of touched on it, but the big one:

    Everyone automatically thinks "newer is automatically better", but it isn't.

    There are so many new frameworks and whatnot that you can't kick a rock without exposing a new one from underneath. And those frameworks half about the same lifetime as the insects in my analogy. People are wringing their hands at banks, etc, because they're running out of COBOL developers. But what do we have now? Entire frameworks, languages and services, develop a bunch of hype, only to be abandoned after a few months or years. So now anything based on said frameworks and languages need to either be rewritten, or you need to pay significantly more money trying to find someone still willing to support said thing.

    And I'm not even talking fly by night OSS projects, although there are plenty of those. The likes of Microsoft and Google are doing the same thing with entire product offerings. The more new services come and go, the more you realize that you ultimately have to rely on yourself if you want a functioning long term project or service.

  57. Some hard truths for IT by anegg · · Score: 1

    If we take "IT" to mean a general IT department, not just any use of computers in a company (i.e., we leave out embedded processors in products, software development where the software is the company's product, etc.) then a few hard truths might be:

    There is rarely if ever an easy "one size fits all" answer for corporate IT strategy. If you don't have a senior IT staff that first understands their company's business, second understands the IT strategy in support of the company's business, and third understands how a particular new technology (such as a cloud service) may play a role and can talk about the pros and cons, then you may be doomed to have a chaotic "strategy" where personal power drives decisions and the company's IT solutions depend upon the powerful regardless of whether they are knowledgeable. You may also be doomed to weak and ineffectual management by committees and decisions by default because no one dares to take a stand in favor of what they think is right (and few would understand a cogent argument even if laid out in comic book form).

    Everyone in your company can do "IT" (they don't need you to do it for them). Ever since DEC started selling Peripheral Data Processors, then the first "departmental minicomputers" (Data General Nova, DEC PDP 11/70s, VAXen, etc. etc.) emerged on the scene, corporate IT departments have been locked in a tug-of-war over who does "IT". If the corporate IT department wants to be in charge of IT, they have to demonstrate their leadership and competence at delivering IT solutions that the business likes and can use effectively (at least effectively enough that they don't decide to go off and do it on their own).

    Change in IT is constant. Just when you think you are done and can rest a bit, something new comes along and you have to figure out what its value is now, what its value will be in a year or two, and how to control the adoption/integration of this new thing into your every changing set of IT solutions.

    Although change in IT is a constant, at a high level many things remain the same. The business needs tools that help them do their job (whatever that is). It takes time to achieve new capabilities, but if it takes too long to get the new thing working, the need has changed by the time that you do. Business needs to trust IT, and IT has to respect and support the business. Users are *not* a "test load" on the system, they are the reason why you got to spend a bunch of money on the system in the first place; if you piss them off, you will eventually be in a bad place. Not every bright and shiny new thing will find a place in your environment, but you will have to be able to communicate well with the advocates of each and every one of those bright and shiny new things.

    There are probably more "hard truths," but that is a start.

  58. Re:Hard Truth: Be a lifelong learner or get out of by ErichTheRed · · Score: 1

    I totally agree, and this is the eternal problem. Employers want instant drop-in replacements for job candidates, and it's totally impossible to do it all anymore. You have to have a focus -- mine has been on systems and end user stuff, and I've been shifting as needed over to Azure stuff, mainly focusing on IaaS. The problem, like you said, is making a wrong bet. My solution has been to learn a lot in my core field and sample from others, being ready to learn as much as needed. You have to choose how you use your valuable time for learning and how far down each rabbit hole you need or want to go.

    My real-world example is as follows...I've shifted from end user computing to systems engineering, and a couple years back I started hearing more and more "web developer-y" talk. Web dev is something I just haven't been involved in -- beyond standing up the odd Apache server or putting an app into IIS and tweaking a web.config file. But with the "API economy," and cloud providers using RESTful interfaces to manage resources, I had to get semi-skilled. I had to learn enough about certificates to be dangerous, scripting and PowerShell imprvement, how REST works, some provider-specific syntax stuff, etc...all while keeping my feet in the day to day stuff I was working on. When it came time to start working with Azure, I had to ramp up extremely fast but having at least some clue about "how to learn" everything really helped me out. AWS and Azure and GCP have documentation aimed squarely at "dudebro developers" cranking out JavaScript apps at startups. Coming at it from an infrastructure side means having to learn a few new skills, new vocabulary, etc. before you're truly productive.

    I'm not saying it's an easy problem to solve. What I am saying is that keeping your eyes open is important. Learning to spot what's a fad, what's a rehash and what's going to require massive time investment to keep up is important. There's tons of "fear of missing out" especially now that people are starting to call 4 year old technology "legacy". If you let yourself become too narrow-focused an expert on one particular field, it can leave you in a bad position if you miss a key shift.

  59. Obviously... by NotFamous · · Score: 1

    Stay down in the sewer you filthy clown!

    --
    Some settling may occur during posting.
  60. I only know two by sootman · · Score: 1

    1. This is old, and therefore good.
    2. This is new, and therefore better.

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  61. Re:Work you like Dev, pay you like Ops by h4ck7h3p14n37 · · Score: 1

    If you've got ten operations employees and ten developers, an you replace them with eight people doing the same work, then that's DevOps.

    Ummm, no? I'm the DevOps lead at my company, but we still have an entire staff of developers.

    Devops is supposed to be a group that has experience with both production operations and development. You're supposed to involve them in the development process early so they can keep the developers from doing dumb things from an operational point of view and painting themselves into a corner.

    I spend my time deploying new infrastructure, managing the monitoring, alerting and metrics collection systems and doing software releases. I also have to educate developers about how to use tools/services properly. I have noticed that people without production experience tend not to be so detail oriented, especially developers with no admin experience. They will totally trash your environments if you let them.

  62. Humans make mistakes by h4ck7h3p14n37 · · Score: 1

    If your processes depend on humans never making a mistake, then they are doomed to failure!

    Humans are not infallible beings, they will make mistakes. Your processes need to anticipate those mistakes and be able to recover gracefully from them.

  63. Re:Work you like Dev, pay you like Ops by Darinbob · · Score: 1

    I never understood this. Do this "don't do dumb things" during design, at which point you have many groups involved. Devs should not be making up their own features independently anyway. Having operations look over their shoulder once the plan is put in place and implementation is underway seems like overkill.

  64. Re:Hard Truth: Be a lifelong learner or get out of by swb · · Score: 1

    Employers want instant drop-in replacements for job candidates, and it's totally impossible to do it all anymore.

    I feel like this is the real crux of the problem. Employers simultaneously want someone with broad enough experience across disciplines to be useful in all of them, but *also* expect deep-dive expertise in all of them at the same time or any one of them at any time.

    I think this was mostly possible 15 years ago -- you were kind of worthless not understanding switching, networking, server hardware and OS all at the same time to some fairly deep level, and all of it was mostly obtainable.

    Now? I only see a couple of those things being understood at deep, expert levels at the same time. I think you can functional in all of them, but not really in expert in any of them.

    What's funny is when you get exposed to some of the heavily silo'd people from a place like EMC. Once they start talking about *anything* outside their silo, it's like talking to my dad about technology. I didn't know it was *possible* to be a certified expert in storage systems, yet retain a 1995 level of knowledge about switched networking.

  65. Easy by ebvwfbw · · Score: 1

    Windows is not secure.
    You still have to secure your cloud presence. It's just someone else's computer.
    You need to backup your data offsite.

  66. What have we learned? by skovnymfe · · Score: 1

    Consultants are not a replacement for people who know your business and can implement solutions tailored to your business.