3,496 karma · joined January 23, 2019
https://github.com/danjac
There are many places on Earth with nice weather and scenery (depending on taste). There are many cities with great night life for younger people, or good schools for families. None of these things are unique selling points intrinsically required for a tech hub. And if remote work becomes the norm (and yes I know all the arguments for and against) you can live in your dream town with the right mixture of scenery/weather/nightclubs/schools without paying the premium.
The one thing SF has is inertia : tech happens there because it happens there. But Detroit used to have inertia, too.
Hollywood, after all, was just a dusty desert town that became the hub of the movie business because it was easier to move there and start a new one than dealing with Edison's lawyers back East, so maybe the tech industry needs to get out of SF, start a new hub somewhere else, and leave the city to the NIMBYs.
To be fair, it's over a year old, and probably the state of the art and best practices have advanced to the point where many of these are unlikely to happen. But in general, Kubernetes is widely considered a very big complex thing full of footguns for the unwary for a reason.
So while I agree with you that sure, you can get up and running by watching some videos and copy-pasting a few YAML files, the problem is when you are deep into critical production and you run into issues (the classic "I get woken up at 3am by an alert or my boss and we need to fix this in 10 minutes") and you lack the deeper understanding of the framework to even know where to start.
Or even worse, you insert an insidious security issue through a misconfiguration and you are not even aware you have been owned. Security is notoriously difficult to get right, even for people with experience in frameworks and systems, let alone a newbie. Kubernetes is not "secure by default" and again, there are footguns for the unwary:
https://snyk.io/learn/kubernetes-security/
None of these things make Kubernetes bad, per se, and I'm sure the benefits outweigh the costs. But personally I would be cautious about adopting it for serious production without having some solid real-world experience first.
There's a bigger question here as well, regarding small teams (as in startups, not just pizza teams in a tech giant). Where do you want your very limited time and focus to be? If I'm building some SAAS application I want to put my coding focus close to 100% towards the business model. If that model requires me learning new tech then fine, but otherwise it's a case of "use what you know", because new tech that isn't focused on that is going to waste my precious time and resources down the line.
Thankfully the game has so far successfully rolled all its Bad Management Saving Throws.
I'm sure - even though I'm not particularly smart - I could get a simple k8s solution up and running in a week with the help of a YouTube video.
What happens six months in when I hit some critical k8s related issue and I lack the basic understanding of where to even begin to debug and fix it? For example I may introduce a serious security issue in a CI pipeline or whatever just due to inexperience and unfamiliarity.
I'm not saying Kubernetes (or for that matter, microservices) is the wrong pick for a small 3-person team. You know your own business better than I or anyone else and I'm sure you made the right choice. But personally I would be cautious about adopting a core production technology where my experience consists of one week and a YouTube tutorial.
So aesthetics comes into building their own distinctive "brand" (as opposed to the brand of the client/company they are currently working for). That's not to say they won't justify their design in terms of what the client needs, it just pushes them away from using "boring" aesthetics - for example, pushing for a trendy-looking design for a backend admin dashboard that would have been just as usable (and cheaper) to build with a bog-standard Bootstrap theme.
This isn't to blame designers, that's just the economic reality of the business.
"Feature creep" in a small company is a sign of flailing around trying to capture a market. Sometimes a whole new feature is developed under pressure from Sales to land a big whale client, or a desperate CEO who thinks runaway success is just that one key feature away.
In a big company feature creep may be the result of a corporate culture that doles out promotions and bonuses for building shiny new things rather than the boring work of maintaining old things. Google is a good example of this, only with entire new services rather than features.
Either way feature creep is symptomatic of deeper problems with a company, regardless of size.
This also holds for project management practices such as Scrum.
Yes these crypto bros are young grifters out for the big score with zero integrity or morals and hopefully they will look forward to spending their best years in a jail cell. But they are enabled and encouraged by a good old boys network of VCs, journalists, and other influential figures in the tech community. Madoff at least picked rich people as his marks; the media have blown up the likes of SBF as geniuses and encouraged ordinary people to invest money they can't afford to lose in crypto.
What matters is that the society itself believes in the traditions of democracy, freedom and the rule of law. If that withers and dies, perhaps because people no longer consider these ideals to be as important as their pet ideologies, or because the citizens no longer share a common epistemological reality, or because oligarchs are given free reign to buy politicians, courts and media, then it doesn't really matter any more what your vaunted Constitution says.
In contrast to DC movies - very hit and miss in quality, but you can at least watch a movie without having to follow a dozen other TV shows and other films in the franchise.
I suspect (from dabbling in Clojure some years ago) that the Clojure community has more enthusiasts than practical users, who enjoy building stuff that meets a Platonic ideal of language purity instead of the messy work of supporting long-term libraries that are far from Lispy perfection but meet the needs of real world projects.
That was pretty much early 2000s web development.
If you trust your developers (whether in-house or contractors) to do the job you can pretty much let them manage themselves with whatever kanban-ish system that works for them. If you don't, you have a ready methodology that gives you meetings upon meetings and two week deliverables and every little thing broken down to the smallest unit under the guise of "empowerment".