Mrs Conan, my amazing 8th grade math teacher, once said in front of the class: “Mathematics is for lazy people!”. By that, she meant that once we'd learned what she was teaching us, we'd easily know how to solve complex problems very easily.
Trigonometry, geometry, arithmetic: all are shortcuts towards solving larger problems. Wait, did someone say "Shortcuts"? Sounds like something any lazy person would absolutely be interested in!
For as long as I've been coding, I’ve been looking for shortcuts that allow me to "get to the point" and solve problems as easily as possible. I don't like "hard labor" or repetitive work, and I've been referred to as "lazy" by a few members of my family as well as a few teachers.
I'll look for litterally any way I can avoid doing any work myself. Either by leveraging other people's work, or by jumping to the next easiest thing to do to keep me occupied. Here's my thought framework:
Research: understand enough about the problem and its boundaries.
More research: has anyone else already solved it or solved a similar problem?
No work: If it's already been solved, let's reuse their work!
Hopefully no work: If nobody has done it before, it could be because it requires a lot of work. This is where I'll try to assess the value of spending calories on it, and if I feel like it's not worth it or too risky, end up looking for other areas where my time could be better spent.
This leads to some interesting side effects, some good, some bad…
Some Pros & Cons of Me Being Lazy
Failing fast: one of the side effects of looking for shortcuts is that I am attracted to any type of small tasks. Small tasks typically mean lower-risk and faster resolution, therefore I can fail fast and learn from these aborted experiments.
I learned a ton of keyboard shortcuts, terminal commands and how to use a lot of tools that could do simple or repetitive tasks for me. Anything to avoid having to click around or to do the same thing twice!
My potential-future-work radar is very good at spotting how some work could easily snowball in tons of work. That means I tend to have a good sense of how to build things that require little to no maintenance.
Large, high-risk/high-reward projects are a source of anxiety that I am still struggling to get comfortable with. There's been a few times where I turned down opportunities because I got scared of the amount of work and the difficulty.
I look like I'm doing a lot of "researching" and not a lot of "doing" work.
I sometimes spend more time finding ways to avoid completing a task than it would take actually doing it.
Knowing this, I have a huge amount of respect for people who manage to deliver on an innovative vision that requires a ton of work. They can take risks I'd love to be comfortable with one day.
About Looking Lazy at Work
Delivering value in a way that looks effortless isn't always well perceived (some bosses like someone who looks busy). Two things come to mind:
Like a lot of developers, I like automating repetitive work, which requires a bit of upfront work but looks effortless later (again, for some bosses like to see people work hard).
I tend to overconsider obstacles at early stages of in a project. I sometimes give up too easily instead of simply putting the hard work into overcoming these obstacles. Depending on the culture of the team, this may either be looking as me not wanting to do the work (lazy), or as me choosing wisely where to spend my time (efficient).
As I'm trying to figure out how not to let my laziness take over, I came up with a few strategies to trick myself into being more productive…
Tricking My Lazy Self Into Productivity
As my laziness sometimes takes over the good work and leads to missed opportunities, I have developed a few methods for taking on higher-risk tasks and larger pieces of work.
Adopting a beginner's mindset helps a lot: avoiding to rely too much on prior experiences and having a naïve approach towards new problems. As a result I dismiss less ideas that would have scared me as soon as I'd started thinking about the amount of work they require to be implemented.
Breaking large amounts of work into smaller pieces so I don't procrastinate nor run away from it. For example, an epic "Fix all documentation typos" could be broken into smaller "Fix typos in section X" tasks. This strategy allowed me to write a book about CSS by breaking into blog-post-like chapters.
Procrastination is my friend! If I put a big fat task (taxes, anyone?) at the top of my todo list, I'll start doing litterally anything else, such as cleaning the house, reading a long backlog of articles, and even writing this article! How's that for productivity?
Thinking about how good I'll feel when a large piece of work is completed: this particularly helps when writing talks, where laziness meets impostor syndrom.
Sometimes you've just got to do the work… As much as I hate admin work, I have put countless hours of my time into things that really matter and won't even teach me anything I can re-apply later, like: applying for a US work visa, applying for a green card, organizing a wedding… In these cases I tricked myself with "let's end the pain asap", and put in the required sheer hard work to meet unmovable deadlines.
Are you lazy?
I'd love to hear how you trick yourselves into being more productive Hit me on Twitter: @kaelig