For 30 years, command line interfaces have been developed and extended to solve many problems we can have, as developers. That's why the shell is the keystone of a powerful and efficient development environment. It's important to choose one which help you accomplish your goals without getting in your way. It's exactly what Zsh does.
As developers, learning is part of our job. We need to learn about many different topics to be good problem solvers. How to learn effectively, and efficiently? This is the question this article try to answer by brushing over the vast concept of learning.
Cognitive biases can bring mistakes, bugs, and wrong implementations. Knowing what cognitive biases are, what are the most common ones in software development, and how to fight them, can help you takes more logical decisions and create effective solutions.
We love, in the software industry, to give to each others titles. Junior developer, senior software engineering, front end programmer, and so on and so forth. Is these titles meaningful? What information do they carry about the people holding them? Can we think about a whole new set of titles, translating more accurately what really want companies from their developers?
As developers, we are alternatively teachers and learners. How to share efficiently our knowledge, avoiding the filthy expert blind spot? The cognitive load theory can help you understand the problem, and logging your knowledge acquisition process can be a powerful solution.