I consider myself above average and a key distinction is not wanting to build complexity. Microservices, k8s, fancy languages, or integration into things like Dynamica CRM are all generally mistakes unless you have a very good reason for doing so.
I also spent a lot of time optimising my workflow, which leverages build/test on change and large volumes of automations. Unit tests are also key.
I've had people on my team with these views and often their expectations need to be re-calibrated. They want to spend their time rewriting the codebase their way instead of being actually productive.
Those people are not 10x engineers, despite them sometimes thinking they are.
I think that re-engineering code based needs to be a calculated decisions, but i also think that there’s a large amount of resume driven development too.
There are places where there’s a need for k8s and similar, but largely that’s when you’re at google level scale. For the rest of us plebs, maybe leveraging simpler paas solutions or traditional mechanisms are more effective.
Except CRM. If you’re building in CRM you’re just making a mess, no matter what the rationale is.
Yes. Complexity is the root cause of many systemic issues in many projects I see. I see probably 2-3 medium applications every month. Either things are totally engineered or under-engineered (e.g., traditional php/aspx applications).
I also spent a lot of time optimising my workflow, which leverages build/test on change and large volumes of automations. Unit tests are also key.