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?
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.
>> What Are Some Hard Truths IT Must Learn To Accept? ...that IT is not engineering, and that engineering is not IT.
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
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.
Software engineering cannot be squeezed into formulas for plugging and chugging.
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) 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.
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.
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:
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.
Table-ized A.I.
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! --
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.
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.
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. :-)
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.
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.
DevSecOpsJanitorIT?
Where are the wikipedia nazis when we need them?
They became write supremacists .
-- I have a private email server in my basement.
IT is a support function - it's job is to keep the rest of the company moving.
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.