As a general content I agree it's a bit off putting, but I find it a lot of fun when generating content among friends like internal jokes and educational content. I got my kid to drink some meds by generating an image of a hero telling him it's important to take.
Yes but it seems the order is taught is important. Without actual industry experience, it never occurred to me it could be useful.
After some years working, it's clear it's useful in some capacity but it's easy to overdo it (like require every detail of the system to be in those formats) or misuse it (sequence diagram improperly documenting async flows).
I didn't go through, but have seen quite a few. It's indeed a less advertised position since it might be more common in smaller companies (less money/reach) and it might be a founding opportunity (less pay, higher risk), so it goes under the radar compared to very specialized positions.
It's a fairly rare set of skills. People in these positive usually are bad in most of them and it becomes harder to ramp up the team later (mentoring, quality).
Generalist can be a specialization in itself. Imagine someone that can do a bit of front-end, backend, infra, design, would be a specialist in bootstrapping a startup.
Don't get too attached to market/industry defined roles.
Another way to raise rates is to take risks (like deadlines, promises) but every person had their own risk profile.
I can't tolerate OOP stuff that `obj1.calls(obj2)` and changes `obj2` anymore. I didn't care before, now it makes me want to refactor everything or not write it at all.
Using Elixir kind of made me not want to use anything else.
Pain is constructive in the right dose, and it's also risky since you can lose trust if delivered incorrectly. It requires maturity to give honest feedback and recognize that it might be biased since we have a lot of limitations on how we perceive others.
The most brilliant programmer I've ever worked with wrote hardly comprehensible code since they could understand other's code easily, so they didn't feel the need to write readable code because, in their word, "What do you mean you don't understand it? It compiles, it runs, it works, you don't need more than that".
(I'll take a stab at this, but my knowledge is rather limited on this one so take it with a grain of salt).
Markets are a mix of locality. Some markets have more global reach than others.
The car mechanic example is a mostly local one, with the car parts being shipped from somewhere else, maybe in the same country or outside, which might take some influence on the price. Operation cost is local (rent, labor, other supplies) and customers are local, so the prices on mechanic services are stable and location based.
Software engineering has more global reach. It can be done remotely, but the labor is a mix of local and global (learning online, but also local universities, conferences, meetups), which justifies the pay gap between a local to the company (excluding timezone and culture differences, which makes the process and supply size smaller). It's also hard to evaluate the quality of work (see difficulties in hiring, analyzing performance).
The strongest argument I see is the cost of comfort (made somewhere else on this thread). Wages are largely decided on what other companies are paying and remote is a fairly new thing, so it's still highly unstable.
Pricing on products are also notoriously difficult. Some apps have prices adjusted by region.