Live data from Hacker News

Uncomfortable Truths in Software Engineering

buttondown.email

151–160 of 400 posts

Re: Uncomfortable Truths in Software Engineering

#151

Earlier quoted context omitted.

It's not common now! The software world is huge; a niche of a niche is not some bellwether of the industry.

> It's not common now! It is [1]. Over 60% of Javascript developers use it somewhere, and over 1/3rd of all developers use it for something. Almost all widely used npm modules have @types annotations as well. Outside of node, it's arguably the most ubiquitous voluntary extension of the JS ecosystem ever. [1] https://redmonk.com/jgovernor/2019/05/07/typescriptexploding...

The key of my point is "niche of a niche", which is seemingly the exact point you're making in arguing that typescript is common.

Common among JS developers != common among programmers != common among professionals in the software industry

Re: Uncomfortable Truths in Software Engineering

#152

Is mobbing really better than pairing? I've never done it. Sounds awful. I got into this game to have long stretches of solitary work, that's when I'm at my best. Not entirely obviously, I still work on a team. Anyway, pairing can work well under the right circumstances, curious to hear anyone's take on whether mobbing works or not.

This was the only statement in the article I disagreed with.

Re: Uncomfortable Truths in Software Engineering

#153

Is mobbing really better than pairing? I've never done it. Sounds awful. I got into this game to have long stretches of solitary work, that's when I'm at my best. Not entirely obviously, I still work on a team. Anyway, pairing can work well under the right circumstances, curious to hear anyone's take on whether mobbing works or not.

It depends....if the mobbing is what my former agile consultants were pushing (having everyone from dev's to business analysts do it) then no, it doesn't work. The few places that I have seen it work sort of well is when there is some big issue going on such as a production outage that can be benefited from having a group of devs together looking at the issue. Aside from that the level of engagement goes down the mor…

This is my experience as well, for a large issue or for learning new tech (Let's say you have a new lib which everyone will be interacting with) it makes sense. For day-to-day it's at best a waste of resources and at worst an excuse for people to do less while getting the same pay.

Re: Uncomfortable Truths in Software Engineering

#154

Is mobbing really better than pairing? I've never done it. Sounds awful. I got into this game to have long stretches of solitary work, that's when I'm at my best. Not entirely obviously, I still work on a team. Anyway, pairing can work well under the right circumstances, curious to hear anyone's take on whether mobbing works or not.

I've done it, it's significantly better in terms of software robustness and having a good time. You definitely get less code written than you would individually, but at the end of it everyone involved understands how the code works and why it conforms to the requirements which keeps your team's general knowledge high and turbocharges training for juniors. It's also just pleasant to do a genuine team activity and have…

This is some of the first I've heard of mobbing.

Is it generally (or in your positive experiences) done remotely, in-person, or could be either?

Re: Uncomfortable Truths in Software Engineering

#155
post #121

Earlier quoted context omitted.

That's a category error. Ruby is not a framework.

Doesn't matter, almost nobody uses Ruby without Rails. And my statement holds true for any Ruby framework.

> my statement holds true for any Ruby framework

Are you sure all Ruby frameworks use the same "path w.r.t. metaprogramming" as Rails? It's been a while since I looked at them but I recall many priding themselves in the difference back then.

Re: Uncomfortable Truths in Software Engineering

#156
> Pairing is probably better than two solo devs if both pairers can handle it.

Man, am I the only one that absolutely detests pair programming? Not only do I find it socially awkward, it completely kills my productivity.

Software development is often about building a very complex model in your head and then figuring out the changes that need to be made. Having to dedicate half of my mental bandwidth to handling social interaction is just devastating to that process.

Re: Uncomfortable Truths in Software Engineering

#157
post #6

There’s no rigorous academic evidence for this, but a lot of companies have been backporting typescript/mypy/sorbet onto existing dynamic codebases and the case studies have been overwhelmingly positive. Not to be a buzzkill, but migration reports from any tech A to tech B are always overwhelmingly positive when the industry has a newlywed period with tech B. Save for a clear, undeniable failure the stakeholders will…

Number one, static type checking is hardly a "new tech" for which the industry is in a "newlywed period". If anything, it is the middle-aged wife that the industry's crawling back to, as the passion fades from its dynamic mistress dalliance. Secondly, the obvious counterexample here is MongoDB. Way too hyped-up during its honeymoon, and then almost immediately crapped on by the entire industry (to the point where we'…

I'd strongly suspect that we'll see a cycle for this over time. Fast Java incremental builds, minimally typed languages like go, and IDEs which actually worked for most statically typed languages ushered in the current trend of favorable static typing views.

I'd bet this lasts for as long as static typing remains fast and comprehensible to the average dev just trying to get something done. I suspect language designers and library builders will add more typing foo until builds are either slow or the code becomes a mess of factories, traits, monads, functors, and other constructs - ushering in a new wave of dynamically typed languages which "just get out of your way".

Re: Uncomfortable Truths in Software Engineering

#158

My Own Addition: 14. Those who code for a living make good money. I have a lot of friends who went into various fields, and it seems relative to the number of buttons we press daily, anyone who works on software makes great money. We didn't spend a ton of $ to go to medical school and 3 years of residency. We didn't go to law school and take the bar. Most of us went to 4 years, or less, of school, and here we are mak…

It feels like we're tradespeople being paid like businesspeople because we're in demand right now and it could change at any moment.

Re: Uncomfortable Truths in Software Engineering

#159
post #42

This one from the article is a bit weird: > Sophisticated DSLs with special syntax are probably a dead-end. Ruby and Scala both leaned hard into this and neither got it to catch on. Rails is one of the most popular web frameworks around and a combo of Rails and Ruby power some really high traffic / high importance platforms like GitHub, Shopify and Stripe's API.

Also nothing in Ruby that's called a "DSL" is actually a "special syntax". It's necessarily all just method calls on objects, ruby has no actual mechanism to introduce new syntax. So I'm not entirely sure what the OP is meaning to mean.

I don't know about Scala.

Re: Uncomfortable Truths in Software Engineering

#160
post #141

Earlier quoted context omitted.

> Regulation though is not part of the free market capitalism paradigm Who told you that? People like to simplify views and say that people are "anti-regulation", but really people are anti-poorly-thought-out-regulation. What famous capitalist do you know that argued theft for example should be unregulated?

Show me a corporation that would whole heartedly support regulation of the market they're in.

Corporations also have the means and the connections to lobby the state, which ensures the regulations are more to their liking. All helping entrench the corporation.

The effect is that small competitors are kept out. They can't afford legal departments and legions of developers to match the regulatory requirements.

For now, the Internet is relatively unregulated, which allows alternative media and platforms to emerge. This is a good thing, imagine having just YouTube and Facebook forever.

Post reply on HN