13 comments

[ 3.2 ms ] story [ 65.0 ms ] thread
This seems very personal, describing a single person’s expectations and their experience in a single narrow subset of programming jobs.

Many of the “expectations” were not something that people were really expecting. Many of the “reality” parts are not always true, too.

It is anecdotal in nature, and should be interpreted as such. But they're still pretty useful for those without much experience or for individuals that have a difficult time with this type of situational awareness.

While they're certainly not always true, they're conditions that one should be aware of the possibility of. One particular anecdote in the article:

> Disagreements are often about the underlying fundamental assumptions and world views that are so core to a person he can’t articulate them, any more than a fish can see water.

Has been a fundamental component of my career. I've spent time working in virtually every major business function (from marketing to software engineering teams), giving me a very well rounded understanding of the (often very) different lenses that different types of people and different job functions view things. Now, I spend more and more time getting pulled into client servicing work, as I'm able to jump down the rabbit hole with any stakeholder that ends up in the room, using the same viewpoint and thought process they do to assuage and concerns they have.

Author here.

Different people expect different things, so the expectations in my post can't obviously be interpeted as universal.

> Many of the “reality” parts are not always true, too

Which is why they're phrased as "often" or "sometimes" or "can happen". Not "always happens". If I've forgotten to add such a qualifier somewhere, please let me know, and I'll fix it.

Many of the “expectations” were not something that people were really expecting.

Is your anecdotal claim a valid counterargument to another person's anecdotal claims you disagree with?

Expectation: everybody I work with should be competent and should want to achieve as much as possible every day

Reality: moodiness, ego, lack of effort

(comment deleted)
I liked this until I read the author’s idea of “user experience”.
Expectation: People know what you do. Reality: No really knows what you do.
Expectation: People know what they do. Reality: They have no clue.
I've been developing software professionally for 20+ years, the past ~7 as a freelancer. My own experience is that the level of professionalism, respect, communication, and collaboration continues to drop such that I'm very tired of working tech and looking to change careers in 2020. All I want to do is use this huge collection of skills I've developing in a positive way to create business outcomes, yet every project I encounter seems to be getting weirder and weirder with the amount of dysfunction. Again, just my personal experiences but have been reflecting a lot about this topic lately. One wonders if the social and political turmoil is leaking into behaviors in the professional world.
I personally name this: Asshole Leadership

All the crap trickles down and infests everything, not just IT.

Think about it.

> huge collection of skills I've [been] developing

One thing I've noticed about that is that if the skill was developed more than about 5 years ago, it's frowned upon, if not outright rejected. I'll be presented with a problem that's a perfect fit for, say, a relation database, or a cron job, or a shell script - but the simplest solution is rejected as being too archaic. Instead they insist on some workflow management tool, or Spark, or a GraphQL database that doesn't fit the problem, just because it's newer and must be "better".

There are different kinds of skills. Postgres vs spark is one kind. C++ vs python is another. Statistics vs networking is a third. The top of the skill pyramid changes quickly, but the fundamentals change slowly. A tool might be outdated while the solution it implements is not. (But “ooh shiny new thing!” can still be a problem)