Although I sympathise with the sentiment, that's just half of the story. Today, I can deploy a high available cluster in minutes using any cloud technology + kubernetes and my favourite web framework. True, I need to learn half dozen of frameworks, and _it feels_ like I'm not working in the core problem, but had I tried to implement an equivalent system without those tools would have taken me months, and I would end with an ad-hoc half tested non-reusable mess.
We blaze through those well-worn paths so that we can quickly get back to the interesting things. I orchestrate clusters at a high level and still get to solve difficult, stimulating problems every day.
The world of software development is immense. You can treat it like a job, or like a creative path, but to synergize both requires a lot of effort. Complaining that there aren't interesting programming jobs comes across as uninspired. Go look for them!
> We blaze through those well-worn paths so that we can quickly get back to the interesting things.
I could sign up for that! But what interesting things? That cluster will in nearly all companies just be used for yet another CRUD API supporting yet another social or adware platform. Yawn, please no.
If you are aware of companies doing actual intellectually creative programming anymore, please share them. I have no doubt they exist, but they are becoming way too rare.
In the past 1.5 years, either as part of a team or by myself, I have worked on...
- a multiplayer web VR platform with hundreds of challenging problems across the entire stack
- a AI-powered information engine and ontological system with layered insights
- a multi-platform realtime communications research engine
- a web3 Patreon clone & a web3 universal messaging system
- a decentralized identity management application
- a decentralized, self-managed, open source YouTube/TikTok clone
- three game development competitions
- a novel computer vision research project for a sports company
- a graph-based end-user programmable productivity suite
- Multiple prototypes for new social media platforms
- a collection of web-based precision tools like an archiver, URL shortener, etc.
- an AI-generated blog
- an AI-generated wiki & knowledge base
- a few more things I'd have to think about
I love what I do, I love waking up to code, I love going to sleep thinking about architectural problems. I love spending all day in a deep state of problem solving.
If you have a specific kind of creative programming in mind, I can help you look around for something more fulfilling.
(The C4 model)[https://c4model.com/] is a nice way to capture (IMO) the most important characteristics of a system, and you can learn it in half an hour. Optionally, you can add state transition and sequence diagrams for selected parts of the code.
One important thing to take in consideration is that diagrams are not blueprints. What they don't represent is as important as what they include. That's why I like C4: it's limited to answer an important but small subset of questions about your system.
I just gotta say... for a system that's supposed to diagram complexity, the website does not do a very good job of conveying how it actually works. It's like ten pages of super dense text in a weird layout that's incredibly hard to follow =/ I think this front page alone is 10x more complex than any of the diagrams I've had to make, lol.
Are there some example output diagrams that are easy enough for any stakeholder to read and understand, or do they have to read this website first before being able to consume a diagram created in this system?
asdf is very nice, with the exception of its interface. You have `asdf <context> <command>`, `asdf <command> <package>` for others. It's actively hostile for memorisation.
Mine was that I had forgotten to take a class or that the records were lost and I had to redo the last years of college. It was a nightmare I had even a decade after getting my degree.
Same here -- my classmates and I go back to high school for taking one history class, as due to administrative difficulties one requirement for the degree was not met, and noone noticed until now. I went there more than 20 years ago.
Ughhh, I had a dream within the last couple months where I had to go back to high school for a very similar reason, to finish one last class or something. I couldn't tell you why, as things in dreams often don't make sense, other than that I had to. And it was very strange having to be in those hallways with all the school kids as an adult.
I've been reading The Courage To Be Disliked” about Adler's theories, and it's very interesting. According to him, we all have feelings of inferiority. It's normal and could even be healthy, it'll help us to improve. What's negative is the inferiority complex: when we internalise our feelings of inferiority and use them as an excuse to avoid changing.
The idea of feelings of inferiority being a normal part of living is freeing, it helps to accept them.
GitOps not necessarily means developers should define every aspect of it. In my current work, SRE uses gitops and they are the main contributors to most repositories. But things like creating an AWS ECR repo for a new project or creating k8s resources is happily delegated to developers.
No. In my current company k8s + helm + istio + argocd + good support from SRE/infra team has made things pleasurable. Seniors introduce the complexities of the system to juniors in a controlled paced way. One thing I would change is to replace terraform for crossplane.
https://www.libelektra.org/home is an attempt to bring a registry to linux. It doesn't have the problems of its windows equivalent. I wish this project was more popular.
Microsoft didn't even intend to use it for long. developers discovered apis for it and started using it despite it being unsupported at the time.
Microsoft's extreme backwards compatibility decisions have kept it around since then, and now since it is still supported, it is still used.
the registry was first intended to be an internal implementation detail while something better was designed. us hackers ruined that plan, but we're still happy to blame Microsoft for their compatibility promises and our own misuse of the registry.
The thing that helped me the most to design maintainable systems was the use of Clean Architecture. In particular, the [Cosmic Python Book](https://www.cosmicpython.com/), which offers practical examples on how to implement Clean Architecture in Python, and which design patterns are more useful to keep every layer independent.