Good points, but implicitly equating good design with functional design irks me. You can define your terms as you wish, but at least be upfront about it.
> Branding is centrifugal; design is centripetal.
Functional design is centripetal. "Good" design is one which achieves the designer's goals, which are often much more complicated than that.
>My stance on this has probably shifted in a negative direction over time, primarily because of my growing awareness of how often technology is used for wealth accumulation. I don’t think capitalism will solve the problems that capitalism creates, so I’d be much more optimistic about technological development if we could prevent it from making a few people extremely rich.
What's wrong with people getting rich by producing goods and services, and selling these to willing buyers? People laundering wealth into undue political power, regulatory capture, erecting barriers to market entry ("pulling up the ladder behind them") are different problems than people creating wealth. Efforts on creating a just society should focus on the former - preventing wealth creation is not the solution to injustice. In fact, since people have vastly different abilities and inclinations for creating wealth, a just society is also one with vast wealth disparities.
If you were comparing what the other company was charging your company for their developers: Labor and software services have different markets. Because, among other things, tax/insurance regulations and the expectations of contract longevity are not the same. A software shop needs to charge 2-3x salaries to be profitable. I was referring to a theoretical free market for labor.
If you were comparing salaries, either your company was compensating you with extra prestige, job security, etc. or you were underpaid.
Yes, fast-growing companies can grow out of my preference zone and as other commenters said, jumping ship when that happens may be the correct way to go.
There are other issues with slow-growing or not-growing companies. When the company is not growing, people are incentivized to take a zero-sum approach to their work relationships. If the pie is not growing, you need to guard your own slice and take from others. This creates a toxic environment. If the company is growing, then collaborating on growing the pie can become the shared attitude.
Most of the people I know who pursue creative/crafting hobbies alongside a software development job have chosen to work for well-known big companies, for prestige and safety, and ended up unfulfilled in their jobs.
Most big companies are not good if you want to solve problems and build stuff. Especially "the enterprise", where software is seen as a cost center so the less of it the better. The effort of managing up eats a creative person's soul.
I want the clarity of being able to talk to "the boss/the customer" and solve their problems and get paid the market rate for my skills. Not prepare endless PowerPoints for my skip-level, who has no ownership but has to act in their own best interests in a swamp of principal-agent problems.
This is why I am very happy at a fast-growing small tech company where one can have honest conversations about the customer and the product. How do other people deal with this?
This reminded me of the story of the VC who tried to avoid meeting Larry & Sergey when they were looking for investment:
> David Cowan’s college friend rented her garage to Sergey and Larry for their first year. In 1999 and 2000 she tried to introduce Cowan to “these two really smart Stanford students writing a search engine.” Students? A new search engine? In the most important moment ever for Bessemer’s anti-portfolio, Cowan asked her, “How can I get out of this house without going anywhere near your garage?”
The discontinuities at the used care sale prices graph seems like an arbitrage opportunity on depreciation. Buy right after a round number, sell right before another, pay less on dep.
> Branding is centrifugal; design is centripetal.
Functional design is centripetal. "Good" design is one which achieves the designer's goals, which are often much more complicated than that.