This article is a response to @narnaiezzsshaa "Why We Suddenly Have Developers Who Can't Think in Systems"
No journey starts without a context, a purpose and goal. It has been build over time from experience and exposure. The question is if we celebrate it, give it the proper value in a process of becoming.
I made a new account in order to give a reflection on Narnaiezzsshaa's post. This says something about a general process, and my process in particular.
Growing a 20 year old tree in 4 years
Stop and think about it. The seed needs 20 years to grow; but we create a mindset that wants to be short term thinking. Even if we cut branches, craft them and do other things; it won't alter the reality that we need enough 20 years to make something sustainable. To give it the illusion of a result in 4 years.
My problem is not your problem; it is a particular problem
Tools optimize for the average user, the general public and this leads either to a situation of overkill or under representation as we cut up everything in smaller stand alone parts that should make a synergistic part of a whole.
Mastery is not about knowing how to use tools; mastery is about getting to the solution on something you've never seen before. In order to get to that point; you have to be exposed to many particular problems. These come from a context, that have been put together in a new way, and therefore have given rise to new complexity. This is why your problem is not my problem. In order to understand it; you must be willing to spend time understanding it's foundation and journey.
The tutorial trap
Going over many forums; I see the same pattern. People asking for the next best tutorials; wandering, feeling lost. Yes, we have all different goals and preferences. But, if I told you to build a human being; would you only focus on the vision, the eyes? Or waste collection in functions? The top level scope of the problem is that of a whole system, orchestrated to work together by individual parts!
Tutorials give you an isolated part, solution. The way out of it is either for companies spending their budgets again on learning on the job, mentoring etc. Given the fact that budgets probably stay roughly the same, salaries have to be adjusted. You can't only feed the trees and let the saplings starve.
Open source, side projects and a transitional way out
That leaves us with a few other possibilities; joining an open source project, build your own side project or form transitional collectives of developers who work on problems together. Making errors, thinking about the deeper underlying abstract problem. I call this the transitional way out. As long as many companies are pre-seed, pre-revenue and others are spending time on their side projects or only in tutorials we have become the seed. A fundamental intrinsic feature of seeds is that they never ever look down on a drop of water.
No matter where the drop of knowledge, insight of experience comes from, it is how messiness builds resilience slowly over time.
Transitional thinking versus industry thinking
Thinking organically, not in pipelines. Insights are created in messy processes, when the mind is ready to weave the signals together. Learning is not testing; learning is about exposure and doing things again and again. Trying new ways after failure and talking to others; sharing knowledge and experience.
This process needs an environment, that is slow enough to make the learning happen and fast enough to make progress; such that we create confidence in the long journey ahead.
Stress and reducing anxiety
Sometimes I read about others feeling overwhelmed, lost or dreading to go to their jobs. Here is where industry thinking based on pressure and competition breeds anxiety. But, what would happen if we just started creating, like the seed? Every drop of experience towards something. The challenge would become, if a person has the patience to just create enough to learn, see enough to witness and remember enough to sustain a new ecosystem of learning by doing. Thus letting go of stress and reducing anxiety. Life did not optimize for industrial monetary output. hence learning and growing has an enormous variety in time and processes.
Embracing transitional thinking
- Do a little, contribute
- Get yourself a scenario to work on
- Become operator literate
- Embrace autonomy
- Take responsibility
- Build real systems together and get exposure
- Debug as a mandatory skill
- Architect as in chess; always a few steps ahead
- Drift, explore and come back with insights
- Respect messy, incomplete systems that are becoming
- Enjoy the journey, take the frustration and be proud of doing so
Top comments (0)