Technology as a friend
👬

Technology as a friend

Tags
Programming
Description
Published
Published September 5, 2023
⚠️
Disclaimer Like any other personal advice, rules work for me may not work for others. Examine them critically.
 
Hey there! I'd love to share some general rules that have helped me become friends with technology, so I don't have to constantly fight against it. By doing so, I've been able to channel this relationship into something meaningful, such as creating blogs, apps, or websites that can also benefit others.
 

Embrace change with an open mind

Breaking inertia is hard due to the law of physics, but accepting that what used to serve us may become obsolete is even harder due to emotional attachment. It's a laborious process to collect recipes, build mental models, and cultivate beliefs about the best way of doing things, while a tailwind of new technology may render them all useless.
However, software construction is about - managing complexity to make it easy to change. Similarly, Agile is a manifesto about responding to change rather than a meaningless corporate jargon (like this). Only when we're open to change can we truly seek solution that may lead to innovation rather than shortcuts to get things done.
Next time we feel reluctant to change, instead of letting frustration cloud our judgement, view it as an opportunity to learn something new. For example, have you tried to use AI/ChatGPT as your coding assistant instead of viewing it as a threat to your job? Have you taken advantage of any technical innovation before
🤔
Jump into conclusions
too fast? Although it’s painful to see our investments fail, it’s better accept reality and deal with it. Change is the only constant.
In the beginner’s mind there are many possibilities, but in the expert’s there are few - https://www.goodreads.com/book/show/402843.Zen_Mind_Beginner_s_Mind
 

Don’t start from blank canvas

There’s something called the Blank Canvas Syndrome. Why it’s hard to write, to paint, or basically to engage with any creative endeavor? Because creativity is a difficult pursuit. More specifically, it’s a process that needs preparation and practice. Famous artists are known to the public by their masterpiece of art, but what remains relatively unseen is their creative process and craft they use to create them. Nothing comes out of thin air, without the process there’s no art.
There is also a caveat about practice. Don’t conflate it with the amount of time you spent on a subject. 10,000 hours doesn’t guarantee any mastery because competence and experience isn’t the same thing. Exam-oriented education, 996 working hour system are all good examples. Practice isn’t repetition but iterations.
Get into the habit of showing up and overcome the fear and embarrassment of imitations. We’re imperfect mirrors. There’re a lot of (much more than you’ll need) high quality open source template, library and tools that can help get you pretty far. Don’t reinvent the wheel when unnecessary.
 

Focus and prioritize

Pick the right thing to work on and be ruthless in saying no to everything else. Whether it's achieving product-market fit for startups, identifying the North Star metric for product growth, or simply getting things done on the job, we must avoid spreading ourselves too thin. A fear of missing out coupled with our bias towards novelty will ultimately hurt our productivity.
We’re living in an age of distractions, thanks to the abundance of societal wealth and the thriving attention economy. Be cautious about distractions disguised as options. Every moment we indulge in those distractions comes at the expense of not doing the most important thing we could be doing. Don’t lose time and money by doing fake work.
While technologies and our personal preferences are important, they are merely vehicles to an end - creating something that people want. It is important to cultivate a habit of asking ourselves what problems we are working on and why we are solving them. At no point should we allow the solution to outweigh the problem.
I fear not the man who has practiced 10,000 kicks once, but I fear the man who has practiced one kick 10,000 times. - Bruce Lee
Too many people delude themselves into thinking they can parallelize a million things at once, but they can't. Multitasking is a mirage. Humans run single-core CPUs. All they can do is swap context in and out, losing ever more to switching costs as they do. - https://world.hey.com/dhh/how-to-have-buckets-of-time-38693993
 

Invest in things that don’t change

Choose boring technologies and learn to use time as an effective filter for stuff that is worth investment. There will always be newer and shinier technology race for our attention, and it’s our natural tendency to follow them. But most of them aren’t better.
Instead of constantly searching for the best solution for a specific problem, dive deeper into the domain to understand about the design principles, trade-offs and early inspirations of frameworks, instead of blindly following best practices in a specific domain without understanding, learn common design patterns that are shared across domains.
Ground your thinking. Instead of asking “How do I use X?”, “How does X compare to Y?”, asking “What problem is X trying to solve? Is it the same problem I am tackling? Is it good enough or do I need a better solution?” instead.
Programming into the framework not in it. Don’t let your imagination and creativity bound by the limitations of your tools. Invent wheels when necessary.
It is important to view knowledge as sort of a semantic tree — make sure you understand the fundamental principles, ie the trunk and big branches, before you get into the leaves/details or there is nothing for them to hang on to. - https://fs.blog/elon-musk-knowledge/
 
The above summarizes the principles that I think are important for using technology to our advantage. This is not an exhaustive list, so I will update it whenever I gain new insights about this topic. If you have any suggestions or are willing to share what works for you, please let me know.