To be clear I think this is more a case of “it fucks with me” but this is where I am now.
This fucking application. This fucking SaaS (PaaS? Do I fucking care?). I mean, these guys need props where props are due. It’s turned into the defacto standard from an industry perspective concerning ITIL process alignment and management specifically around the Incident/Problem/Change market. From there is where the headaches occur. Some of them you’re going to get at every goddamn company that can afford this software, and some of them are squarely at the feet of this platform.
Let me lay it straight. You start digging into ServiceNow and imma tell you first hand. This shit is what happens when you have an application grow in popularity so goddamn fast you don’t have time to baseline, re-baseline, or many other things you should be doing when your velocity looks like you’re climbing the goddamn white cliffs of Dover.
So here’s the quandary you run into with a platform that has seen the success that they have seen.
Joe Developer builds this shit in his basement and releases it as a side hustle. “I work at a company that uses BMC. This shit is garbage.” He thinks to himself “I can do this better.”
You know what? That arrogant fucker is right. We’ve heard it before. An incident is an incident is an incident. A problem is a problem. A change is a goddamn change. I don’t care what industry you’re in. When it’s IT the basis for those core values is the same. Where it gets sticky is when your goddamn snowflake asshats start throwing in your “Oh but we need XYZ because who the fuck knows why but we need it!”
Next thing you know, that beautiful ITIL process turns into fucking Frankenstein.
So as I was saying. Joe Developer has this great idea. It catches on in popularity. Next thing you know Joe Developer has a team. Next thing you know Joe Developer is starting to purchase smaller companies to fill niche requirements or build out on those niche requirements. The thing is, what was originally a standard implementation… Well now you have this garbage inconsistent code base. Something is done 1 way in module A but done a completely different way in module B.
Most sane people would stop and re-baseline at this point. I understand that due to the aforementioned velocity it wasn’t a position that ServiceNow would (or could) take as a company but simply put. You reached a point where the platform literally has everything including the kitchen sink. I’m sitting here as someone who works in an Enterprise with an already burgeoning suite of tools that overlap not just what ServiceNow does but better looking like this.
There’s a separate rant to be had on JavaScript in all this which really I don’t have the time or inclination to entertain but I will leave it here.
JavaScript is a disgusting language. It’s fine if you’re building a SPA or some bullshit webapp that Jill in Accounting is going to use for EOD accruals but seriously, you’re asking me to build custom code on a million different areas in ServiceNow… All using custom JavaScript modules. Not PowerShell. Not Python. Not Java. Not Perl. Fucking JavaScript. I’m being asked to build custom script executions using JavaScript. It’s like a shit sandwich.
Moving on. Databases.
I have a soft spot for Databases. Knowing how companies like these grow I can only assume they’re powered off of a MySQL/MariaDB back-end which good on them. As I began to realize how every fucking part of this application is customizable (so cool yet at the same time… do not give us fuckers this power cause we are dumb and break shit!) basically everything you’re building in this app is a goddamn string.
I can’t speak for the DBA’s of the world but quite frankly a CREATE TABLE statement like this scares the fucking everlasting shit out of me.
CREATE TABLE mycustomtable (
id TEXT,
columnA TEXT,
columnB TEXT,
columnC TEXT,
columnD TEXT)
God I felt dirty just typing that. But here’s the thing. Unless you’re digging into how you set things up and doing tweaking… This is basically what you’re getting. I go back to Jackie Chan.
I mean at the end of the day it is a PaaS so hits to performance is shit they have to own as a company.
You hand a bunch of kids a chest of power tools and someone is going to maim themselves and someone is going to attempt to obliterate the sandbox from the face of the earth.
So what we’re faced with at the end of the day is an obscenely powerful tool that can literally do anything you throw at it but just like staring a child down the barrel of your gun you really have to pause and ask yourself “Should I pull the trigger?”
This is, sadly, also just scratching the edge of the surface on this PaaS. When you start to dig further into things such as the Security Model you realize that unless you’re paying a bunch of people handsomely to support this in your Organization you’re going to quickly end up with an untenable pile of dogshit.
ServiceNow was built on the premise that “You’re in control! Do what you want to do! We provide the platform you build based on your needs!”
On a whitepaper that’s fine and dandy. In the real world? You’re going to step away to one of the million other things you’re doing and you’re going to come back to this.
Why? Because you’ve given everyone the power to do what they want. Unfortunately everyone is a fucking idiot. This is why we can’t have nice things. I’m speaking from experience.
ServiceNow is relatively new to me. It’s not even my core area of expertise at work. God if I’m this worked up over ServiceNow imagine something I care about more?
Now if you don’t mind me. I need a fucking drink.