Things will not change
tobiastom.name
tobiastom.name
I know of a certain community where this seems to happen a lot. Instead of commenting on the actual content or the idea, it's always "Their web page doesn't SCROLL the way I like!!" and "What amateurs--they should have used Angular React Ember js with Docker!!" and "I didn't read any of the article but the title is CLICK BAIT!"
People are often quick to make the easy critique of something based on irrelevant surface characteristics.
If someone spends months working on a site to incorporate new technology, it's really frustrating if the main feedback is that it breaks scrolling in someone's esoteric preferred web browser.
It's not even surface characteristics, it's just the ability to make a comment, to be a participant rather than an observer.
People need their own identities validated, and that is hard to do in a social world of opinions and ideas that is constantly shifting - you can look up information that validates your thoughts and chances are, you can just as easily find information that invalidates those thoughts, and this is eternal and unchanging.
The characteristics of truth seeking on the internet is chaos. There is so much under the surface stuff that goes into fueling ideas and shaping them. If a funny meme can explode in popularity over the internet, why can't an opinion that has no foundation in the facts, but instead it just 'clicks' correctly with a set of minds? It is nonsensical, but yet, it makes sense.
I don't know if it is genuinely easier to criticize something than it is to make a positive or neutral comment. I am interested in whether it is possible to have intelligent and polite discussion last for longer than what seems to be seconds at a time, in public, anonymous forums.
I do know that I have been thinking about developing an intellect that is okay with being confused for extended periods of time, just because it's something that I haven't tried to do in all my years of internet communication and various other kinds of education. I don't know what would happen to the shape of technology, of coding, of ideas, of analysis, if many people at once, gave themselves the chance to breathe, instead of having to constantly digest (or verify against their own) a selected path in a realm of chaotic, loosely connected, incomparable, inconstrastable, unsortable, etc, ideas. I just feel like this constant reaction to preference makes us feel like we are in control, when it's more that our individual control begins to control us.
The shape of reasoning for technology in the contemporary age looks more like that which is irrational and disorderly.
/shrug
Constructive, productive communities are very tenuous things and I think there's just a natural entropy that happens as they grow where the tone of the conversation gets watered down, snarkiness and flames beget more snarkiness and flames, the more mature community members get annoyed and stop participating, and after a while it's just a bunch of people who don't know what they don't know screaming at each other about which phone/language/Linux distro/whatever they use.
It's tempting to attribute this to the profession as a whole ("my fellow developers used to be interesting, now they're all jerks!"), but I think it's more just the inevitable deterioration someone sees if they go to the same forums or stay on the same mailing lists for a few years. It might also be due to the observer getting more mature and clueful and picking up on negatives that have always been present in those communities, but previously unnoticed. Back in 1995 I really put Usenet on a pedestal, but that's partially because I was way more immature and thought many of the other posters were far more insightful than they actually were. In other words, it may seem like everyone else has become really clueless and immature but part of that could just be you, the observer, becoming more experienced and mature.
At the same, it's also true that people have generally gotten nastier towards one another.
Better tools improve our lives, but better tools should not be the primary focus of average developers. If too much of the labor force becomes obsessed with creating tools, there won't be enough of us left to build great things with them. If we spend too much of our time testing new tools, our innovation will end with tools.
Creating great things takes mastery. Mastery requires a foundation. If we aren't careful, we may soon become masters of rejiggering our stack with no idea what to do once it's complete. If that becomes the dominant habit of our industry, we'll be in trouble.
The pace of change dictates that threshold to some extent. For instance, when the hottest tool for x or y barely survives the new product development life-cycle, then it's a problem. When this is combined with the sometimes hyper-opinionated, absolutist culture referenced by the author, then we're deeming products obsolete before they've even been used.
I've come to call it tech for the sake of tech. It starts to become divorced from the business and exists for its own sake. One cure for this is running your own business that relies on the code you produce. Tendencies toward infinite refactoring and constantly learning the latest tool-set to swap in will die quickly, when stacked against the need to just get it done.
This is so true. I've seen people refuse to take web dev classes in PHP and wait for availability of Java/Python classes (and not doing anything in the interim). I've seen people from marketing, sales, recruitment etc (who've never written code) put down PHP. It gets a little annoying at times.
That said, I'd never call mercurial outdated. If I saw it on a resume or someone mentioned it when asked what version control systems they'd used, I'd consider it a major positive, much more so than if I only see CVS, which in turn is better than seeing no version control at all or having someone give a blank look when asked what version control systems they've used.
And if someone says they've used both mercurial and git, that's the perfect opportunity to ask them to compare the two and mention what they like and don't like about each. If you've only ever used one, you don't necessarily have the basis on which to make a good comparison.
I've used both mercurial and git (as well as RCS, CVS, SVN, tla/baz, and bzr), and I can spell out exactly why I prefer git over each of them.
Don't get me wrong, it's possible to write great code in PHP, it's just a language that makes it easy for you to shoot yourself in the foot.
There's a difference in that PHP originated as a low-quality templating language, and that C/C++ are historical monuments of computing that most of the infrastructure of the world and most of the interpreted languages of the world run on.
There's not much of a difference in people calling both old, only used by dinosaurs, essentially unsafe, and the root cause of all bugs being choosing to use them in the first place.
Would you learn to drive on a Lada?
Tools matter as a result of what you want out of them. In this case learning to drive. They honestly don't have that much value themselves. A guy who learns to drive on a Lada can drive a Mercedes too.
The same is true for programming languages, even though we love to pretend it isn't
Let's continue this analogy until we swerve off the road.
Someone who learns to drive automatic is going to have a much harder time when they switch to driving a stick-shift, vs. vice versa.
Someone who learns to drive above the Arctic circle in the summer may run into trouble because they never learned how headlights, fog lights and brights work.
"I accept that I cannot change anything with complaints."
I respectfully disagree as both a complainer and the implementer of things that people frequently complain about. Not everyone can fix what's wrong with their software (even when it's open source). Not everyone knows how or where to give feedback. Sometimes all you can do is complain publicly, hope others see it and help make the right people aware.
While I hate it when I write code that is broken or that people don't enjoy using, I need to know about it. I sometimes go to forums where our users help each other with our software. When I see complaints, I give the person a link where they can explain their problem or desire in detail. It's extremely helpful to us and to them.
Even if you don't reach the intended people with your complaint, saying it out loud can be incredibly liberating. It allows you to walk away from it. Just knowing that others are frustrated by the same issue makes you feel less alone.
I understand what it's like to be around people who are always negative. And I understand the posturing and snakiness in our field. I agree it needs work. (Was that a complaint?) But it does serve a very important set of purposes.
> Nobody talks to each other so everyone is reinventing the wheel.
> Still, nobody talks about sharing concepts that would definitely improve all of them.
> I will continue to talk to each and everyone about old, new and maybe broken technologies.
> Stop talking about tools, stop being a smart ass about why something should have been done differently.
I really dislike the opening of the last quote, and I think the author would probably rephrase it if he looked at it in this context. I don't want people to stop talking about tools more method, we just shouldn't be jerks about it and we should ask more questions than we prescribe medicine.
As to the other points, I'm not entirely convinced I agree things have gotten worse. I actually see more collaboration than I saw 10 years ago. I think he's confusing the shear volume of open source projects with people not collaborating and communicating. I think it's basically a lot easier for lone coders to publish and share their solutions, so it appears the entire collaborative landscape has changed.
While a lot of recommendations are indeed largely hype (SPAs, MongoDB, ...) and often not useful solutions, there really are some technologies that really are just poor and/or broken from a technical point of view, and need to be replaced. PHP and MongoDB (again!) come to mind.
As far as I'm concerned, discussion about new tools isn't the problem - hype is. If newer tools legitimately make things easier, without any unreasonable drawbacks, then it's perfectly okay to recommend them - but beware of false simplicity.
That is an awesome choice of words, really. Just reading it makes me hopeful for the future.
"A little knowledge is a dangerous thing."
So this is hardly anything new. It's been the status quo for as long as people have been learning. That's partly why people like learning: because it makes them feel powerful and privileged.
it's always a balance between getting things done and evolving the way you craft your things.
all things that are successful are build on other things. it's extremely rare to start from scratch.
Unfortunately, it's tough to find a job if you tell your employers what you really think about their choice of tech stack sucks or they have no idea what they are doing.