There are points in almost every task that requires your decision.įor example, you need to ask yourself at least once: “ have I reached my goal?”.Īnd then either get done with it or continue to work.Įven small decisions may have big impact. Of course, here I simplify the problem a lot.īut I need this simplification to show you few important things. Some of alternative ways could be shorter (containing less hops), some of them could be much, much longer! What would happen if you choose another step at the start? Here we see a whole net of possible decisions. When you zoom in, a single decision could be even as small as “ which finger should hit the given keyboard button?”.Īnd now let’s imagine more possible moves that also could solve your task. When you zoom out, they almost disappear. I like to draw graphs, so it’s depicted as a graph.Įvery node here is a small choice you’ve made.Īrrows represent the “movement” between them.Ī number of intermediate steps is arbitrary and depends on your own definition of “small decision”. Let’s draw your way through the imaginary “work task”. You choose your path without even thinking about it, without even noticing the fact of choosing. Sometimes you make this choice consciously, but often not! That’s what I mean by the “small decisions” term.Ī lot (tens, or even hundreds per day) micro-choices you make in your work. Or maybe wait until someone asks you about the progress? Or maybe simply wait until an answer forms inside your head (also known as ‘procrastinating’)? How will you act when feeling struck: ask your teammate (and which one, when you have several of them), google your problem, stackoverflow it? How will you deal with “bad code” challenging your way: ignore it, or try to fix right now, or defer a fix for a “better time”? Implement straightforward change, or roll out few refactorings beforehand? Imagine you’ve just started to work on some feature.īy reading documentation, or by checking code out, or by asking your colleagues?Ĭhange some code first, or think about test cases? Just watch after yourself during work process, and soon you will be able to notice them. In our job, you need to do a lot of small decisions every day. Today I want to speak about small and often invisible decisions that guide you through your everyday work. Often you even have to perform at the edge of your own abilities.Īnd when you want to perform at such level, you must be aware of all aspects of your profession. In all of these areas you could show some results after relatively little amount of practice, but it requires years of studying and training if you want to achieve truly significant level. There is an idea that programming has many similarities with martial arts or musical performing. The quest for masteryĪs usual, I want to speak about programming. I don’t know if they are contains some wisdom, or just a bunch of useless commonplace. Words written here are not the truth, they are nothing more than my biased reflection of it, based on my limited experience. Most of the time it’s worthless: others don’t see more than chaotically jumping light spot. That’s why people try to invent new and new words to explain same conceptions.Įveryone hopes that his/her explanations will be good enough to make other understand “the inner nature of things”. How could you understand if this trail should take you out of the forest? How could you convince your party to follow it? How could you find a trail with such a weak tool? The only thing you could show to others is a little spot of light randomly jumping back and forth, appearing and disappearing spontaneously. Our attempts to share own thoughts to others can be compared with attempts to find a way out from the dense forest during a moonless night aimed only with a laser pointer. Sometimes thoughts of our human nature makes me sad. Would you like to walk here at night? Photo: Andrey Hitrin
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |