> They’re not hackers, but they understand that programming is a craft; that programmers are artisans, not serfs.
Gold. Pure gold.
I've long wandered in the wilderness. I've had years of writing bullshit business applications. I've even dabbled in investment banking (where programmers, excluding quants, are the second lowest paid professionals at the bank, only higher than support/IT people). I've worked on bullshit semi-startups.
Now I work for Google where ironically... I write internal applications. This may seem like a cruel joke but it's really not. There is so much respect for engineering as a craft here that it occurred to me that it's not the writing bullshit business applications that was sapping my will to live, it was the business-types who so consistently treated engineering as an interchangeable cost center.
I've done the freelancing thing too. Never again. The world is full of delusional people who think they're the next Steve Jobs and that their idea, by itself, is worth something (it's worth precisely nothing).
I think my own thoughts on Biz's view of IT crystalized when I witnessed a conversation between a tech and a manager about dress code. The tech had been paged at 11:30pm about an hour after he went to bed. He couldn't fix the problem from home (hardware failure), so he thru on jeans and a polo shirt and drove into work. He fixed the problem and got everything ready for the incoming medical test kits by 4am. It was an amazing piece of work and let's just say certain types of samples really cannot be delayed. He hung around and watched everything from his desk. His desk is in a restricted zone behind security where no customers are ever allowed (I do believe it would be a federal law violation). It was around 9am and all the kits were processed and he was going to go home. A manger asked why he was not in proper work attire (sports coats / slacks or suit). He told the whole story adding he didn't want to wake his wife so he grabbed what he could. His boss said "well, it your career".
It never ceases to amaze me how large organizations (in all industries) seem to hyperfocus on minutiae over getting things done.
People will throw a fit about whether or not the meeting minutes were filed in the right place, in the right format, or whether or not someone is in the precise sanctioned work attire... but huge problems will just slide.
The modern corporation is a horrifyingly inefficient waste of time in so many places.
That used to confuse me too. I've come to the conclusion that the reason people focus on things that don't ultimately matter is because it's easy. Anyone can see that someone isn't wearing a suit, works odd hours, doesn't file their TPS reports in triplicate, etc...
On the other hand big problems are hard to solve. People frequently bemoan the glut of poorly skilled individuals who claim to have software engineering skills. One would assume that that there could be a similar ratio of crap people in other fields, management, for example.
In short; managers focus on these things to an extreme because they are bad at their job and policing people's wardrobe is the fizz buzz of the management world.
I don't think it's that the trivial problems are easy, but rather they don't understand the hard ones. Everyone has an opinion on the color to paint a bike shed [1], but technical problems are much tougher to conceptionally deal with.
I have a pet theory on the whole thing. Humans are pretty much pattern matching machines. I get the feeling that a certain percentage of individuals in abscense of a known crisis will value the pattern over basic feelings. It gets worse after someone else has had to perform actions and now the person who did nothing must do something. So resolving out of pattern things is a priority.
I know it sounds weird and I am probably doing a bad job explaining, but it just seems like some people cannot stretch beyond the pattern that the rules say should be there. You are absolutely right, it doesn't excuse anything, but it just seems like you can make some amazing predictions of post-crisis behavior based on what you think they think the "pattern" should be.
>I have a pet theory on the whole thing. Humans are pretty much pattern matching machines. I get the feeling that a certain percentage of individuals in abscense of a known crisis will value the pattern over basic feelings.
> I mean a Tiger in coming towards you. Do you notice (or care about) the bustling leaves on the bush?
I think you missed the clause "in abscense of a known crisis will value the pattern over basic feelings". Not being a zoo keeper, I would think a Tiger constitutes a crisis.
I cannot help but think the manager found that there was no current crisis, someone had taken action, he must now take action, then we get the thing out of place. I would assume (yeah, that word) the normal behavior would be to send the tech home with a "great job" and a "we got it from here". Nope, let's fix the pattern.
Well not just that, large organizations have policies which perfectly echo with saying 'No good deeds go unpunished'.
In my case I observed a few things which I could not believe from my own eyes. When you put in a lot of effort to deliver to things you are considered not a good team player, some how even the guy who performs the least is considered better than you. You are expected to share both credit and hard work rewards with some one who had absolutely nothing to with your work. Refuse to do so and you suddenly become a bad team player.
You are always expected to be in full dress code, sometimes this takes so much precedence that its often taking as bargaining thing in performance appraisal discussions. You have to be good to your boss, revere him as hacker extraordinar even if he is actually a Jack ass.
The list goes endless. If large corporations spend even 10% of the effort they spend on these things on work, they could move mountains.
Nope, he had a family and was the sole income source. It was a long time ago (90's) and I do believe he transferred departments not long after. Responsibility trumps rage in the short term sometimes.
I'd rather him bring it up to HR. If he quits, do you really think the manager would realize it's because of him? And do you think that his manager would even realize what happened?
I left for a consulting gig about 2 months later. I call my time there my 3 seasons in heck. At the time, it really felt like watching a slow motion car wreck on ice. You know the kind where all the cars are doing 5mph, but no one can stop it. Dilbert wasn't funny to me before that job, I honestly didn't get the humor. After that job, I understood.
One of the greatest hallmarks of the enterprise is ensuring that nobody within their organization is replaceable. They standardize on languages like Java because of its prevalence in the marketplace, they document the dickens out of every task, no matter how small or inconsequential, they ensure that everybody and everything within their company is a commodity.
This enables them to worry about things like dress code with impunity, as they're relatively free to hire and fire without having to worry about who is going to manage that system that only they knew about.
Then they wonder why they aren't able to deliver exceptional or world-class service.
However, all you'll do is reduce the average employee skill to can-just-about-do-FizzBuzz levels. That is not good at all. And since you can raise the 'average skill of the programmer' by just allowing jeans & tshirt (which costs nothing), it seems like a sensible investment to make.
A lot of huge corps won't care. As long as they can muddle along (with the help of consultants of course). The phrase that I see a lot of for this is "not our core business".
Java has, perhaps, the largest talent pool of developers available of any 'Enterprisey' language. If it isn't Java, I'm sure it's some flavor of .Net.
The point wasn't that Java = easy, so let's use Java, rather, that the entire mindset of the Enterprise is that THEY don't understand the craft at all. They believe they can swap out developers as easily as they can swap out help desk workers (which also seems easy in theory, but isn't in practice -- a great help desk tech is worth their weight in gold.)
As their intent is to reduce IT workers to a commodity, I would also venture that it's harder to hire the truly talented (more often than not.) The focus isn't on technical excellence, it's on baseline competence, ability to follow SDLC workflows and, basically, to develop consistent amounts of code so that scheduling is as repeatable a process as possible.
There are exceptions to everything, of course, but I'm speaking from my experience working in and consulting for Fortune 50 companies and Federal Government, where the behavior I described is possibly more prevalent than somewhere like Cisco or EMC (read: technology companies), but I stand behind the position as more the rule and less the exception.
Gold. Pure gold.
I've long wandered in the wilderness. I've had years of writing bullshit business applications. I've even dabbled in investment banking (where programmers, excluding quants, are the second lowest paid professionals at the bank, only higher than support/IT people). I've worked on bullshit semi-startups.
Now I work for Google where ironically... I write internal applications. This may seem like a cruel joke but it's really not. There is so much respect for engineering as a craft here that it occurred to me that it's not the writing bullshit business applications that was sapping my will to live, it was the business-types who so consistently treated engineering as an interchangeable cost center.
I've done the freelancing thing too. Never again. The world is full of delusional people who think they're the next Steve Jobs and that their idea, by itself, is worth something (it's worth precisely nothing).