Categories
development leadership lifehacks

Be passionate about something that isn’t your job

There’s a recurring trope from the tech Ponzi schemers that you need to hustle in your youth. Work weekends. Work unpaid. Climb the ladder. It’s what they did, so it’s the only way.

It’s not.

Be passionate about your job. Be passionate about solving your customer’s problems. And be passionate about understanding and representing all your users.

But also be passionate about something else. Something that inspires you to leave the office. Something that satisfies a dream. Don’t narrow down your life to just your job.

Go surfing. Play in a band. Crochet. Spend time with your family and friends. Reset your ideas of what’s normal in working life, because the Ponzi scheme relies on you giving everything to your job, and convincing the next generation to do that too. Because the alternative is to look up and look around.

If you feel you need to work for free at the weekends, volunteer at a homeless shelter, not for a corporation.

Use your weekends for hobbies, for relaxation, for catching up with people in other industries and finding out that these opinions only exist in echo chambers.

Join the conversation on Twitter

Work your brain. Get new ideas. Reset your mind.

Watch TV.

Read books. Walk in the wilderness. Get out of the glare of the screens, and the superstars.

And don’t forget to wear sunscreen.

For more, listen to this podcast on making the most of your leisure time

Advertisement
Categories
lifehacks

Productivity sieve

There’s a lot of information out there. And more generated every day than you could process in your lifetime. So you need to filter out the important nuggets and discard the rest. The most important thing is what you ignore, because you’ll be ignoring most of it.

Many productivity frameworks deal with this problem the same way. Take
the firehose of emails, RSS feeds, Twitter recommendations, that book at the meetup, … and collect them in one place (or, if you really must, 2 – one physical, one digital).

Only add things that look interesting, and be intentional about it. Not every email or every tweet, just the ones you’ve marked (IFTTT or Zapier are a great help here). That’s your first filter.

Then, at a scheduled time, on a regular schedule (weekly or fortnightly) decide what you’re doing with everything in the one place. That’s your second filter.

Then, for the things you’ve decided are important, review them, rewrite them, record them. Your words are the next filter.

And don’t be afraid to rewrite, to delete. I use git for my notes so I know I can keep things clean and look at the history if I need to.

Or, to put it another way:

Put everything in your Universal inbox (Trello, Evernote, Notion, …) – one place for “this looks interesting”, from web, photos, videos, etc. but only what you’ve chosen to put in. Don’t let another person or an algorithm choose for you.

Automate the copying, not the decision to copy.

Each week, for everything in your inbox, make a decision.

👉 Either “this is useful” – archive and tag
👉 Or “this is actionable” – add to task list
👉 Or “why did I bother with this” – bin it

Split tasks into “now and next” and “coming up”

👉 “now and next” is stuff planned until your next horizon (tomorrow, next week, next sprint),
👉 “coming up” is the rest of the stuff important from your latest planning session (this week, this month).
👉 Everything else is unimportant right now, and either is in the ideas archive waiting to be promoted when the project is attached to resurfaces, or is dated to surface at the right time (e.g. annual subscription)

Don’t carry excess weight.

Categories
development lifehacks quickfix

What are you doing now that your future self will thank you for?

There’s a lot of productivity guides and self-help advice out there, but if you really want to make a lasting change, you need a mantra or a question that cuts through all of that and helps you focus. I know some people like Does This Being Me Joy? Is This True To My Inner Self, or What Would Joe Do?

I think whatever it is, it has to be yours. Mine is “What are you doing nw that your future self will thank you for?”, and was forged out of “write your code as if the next person to read it is an axe wielding maniac who knows where you live” with the footnote “everyone can become an axe wielding maniac at 3am in the morning when nothing is working”.

Be kind to yourself. In the moment, of course. But to really find peace and satisfaction, you need to be kind to your future self.

  • Write a test suite for your future self so they just need to add one more test for that error condition you didn’t think of, instead of having to write the entire harness.
  • Be smart enough to write dumb code. 3am you is not as smart as now you, and has forgotten the context you currently have.
  • Do the dishes. Especially the porridge bowls.
  • Embrace Mise En Place. Prepare your space, lay things out beforehand. Even the night before. Tomorrow you will be happy not to search for things before morning coffee.
  • Get some rest. Tired you doesn’t like Doomscrolling you.
  • Switch off from work. Future you didn’t want to be an always-on stress bunny. Future you would much rather know tourist French or the 4 Seasons on guitar.
  • Document your decisions. Especially design decisions. You can never have too much context.
  • Always be ready for your next holiday. Write things up as you go. Don’t be irreplaceable.
  • Share 80% of something ok and get feedback to turn it in to great, instead of trying to release 100% fantastic. Future you likes the conversations the feedback sparks, and that last 20% wasn’t the way you would have done it alone.
  • One small step now is far more effective than a possible leap in the future.
  • Valuable unfinished tasks pay compound interest. Figure out how to find the valuable ones.
  • Check in with your past self once in a while and think about what you would do differently to make today easier. Then do that.
Categories
lifehacks

Clockwise : suggestions for managing your time

  • Plan ahead (with contingency)
    • Whatever works for you – personal JIRA, Trello, stacked sticky notes, dead tree notebook
  • Stay focussed
    • Specify windows to check your email (e.g. first thing in AM and after lunch) and ignore emails until that window
    • Rather than letting new tasks distract you, write them down, then continue on your current task – and have a time to review and prioritize those tasks during the day.
    • Avoid context switching – humans are very bad at multitasking and your brain is highly prone to disk-thrashing, especially if you think you’re good at multitasking. See this TIME article for a summary of the research.
    • Some people work best with time-boxing : concentrate on a single task for a fixed period of time. Read about the Pomodoro technique.
  • Say No if you need to – or you’ll disappoint
    • If someone asks you to do something, get a deadline for it to help you decide if you have time
  • Track as you go
    • 6 minutes are a good building block of time to decimalise your day, especially if you’re filling out timesheets.
    • If you’re working on more than 1 project, you’re going to forget very quickly what you’ve done by the end of the week
  • Review your time – find ways to optimise
    • Personal retrospectives. Are you spending your time on what you should be spending it on?
  • Learn when to delegate, both to management and within your team.
Categories
development leadership lifehacks programming

The manager and maker schedule

All technical leads should write code. If you’re not writing code, you’re a manager. And that’s fine. But stop pretending you’re technical. Many Technical Leads or other senior technical staff have a preferred time split between the admin and technical parts of their job, but I don’t always see that in practice.

Some technical leads double down on the technical part and ignore the leadership part. Those are the people who need mentored. It’s the hardest shift when becoming the leader, to accept that your most valuable time is no longer the conversation you have with the compiler, it’s the conversations you have with and on behalf of your team.

You need the time to have those conversations, to keep the team delivering, and delivering the right thing. But you also need up to date technical knowledge to give you the right context for those conversations.

Managing time can be one of the trickiest skills for a new technical lead to learn. The process I use is simple, but it requires discipline.

If you want a split of 60% coding to 40% admin, then schedule it in advance. Pick 2 admin days and 3 development days. Or if you’re most creative in the mornings, schedule 3 hours at the end of each day. Into the admin days put your 1-2-1 meetings and other line management, and your cross-functional meetings, and the team planning and retrospective meetings. Lay out time for emails and backlog pruning and catching up on your reading list. And then block the remainder off for development, deferring to your task board for detail. And make those events as public as you can so your team and others know when they can schedule your time.

Maybe those times are dictated by others and you end up with regular meetings scheduled in your Zone time.If you can’t move it, work the schedule around it. Turn those into your admin days. The most important thing is to define a split, and stick to it.

Categories
development lifehacks

Give yourself time to think

I’ve spoken before about how a quick time out to grab a coffee can help you get to the bottom of a problem, but sometimes you need longer. You need time to switch off and think. 

I feel guilty about just sitting and thinking, despite trying mindfulness techniques, so for me, my best thinking comes when my body is busy but my mind is free. Sometimes in the shower (and apologies to my wife for those days when I take an extra 10 minutes to think through something), sometimes swimming, sometimes mowing the lawn.

Take time to get bored. Boredom is not boring. Boredom gives you ideas.

Read these…

Action is good, thinking then acting is better. Make time to think.

Categories
lifehacks

Reducing waste by delegation

Sometimes the best way to get something done is not to do it. Use your time wisely. Lean on someone else. Drop the ball. Focus on what’s important.

Don’t write your own ORM, NHibernate and Entity Framework are probably faster, more secure and less buggy than anything you could write.

Don’t manage your own servers. Let Microsoft, or Amazon, or Google, or a myriad of other providers do it for you. Let someone else monitor the patch list, recover from failures and continually roll out new hardware.

You own your dependencies, but sometimes that’s better than owning a half-baked, home-brewed alternative.

Categories
development lifehacks

Reducing waste by automation 

Reducing waste is one of the key concerns of agile development, and is a defining character for Kanban, where blockages are ruthlessly identified and resolved. Timeboxing provides a low-cost means of identifying waste and a framework for tackling it, but doesn’t provide many solutions on its own.

For tasks that continually cause blockages, such as the release process, or testing, automation is a good way to eliminate the repetition, and the chance of human error. Indeed, the engineers in the audience will immediately recognise the key drivers for Continuous Deployment and Continuous Integration in the examples I’ve given.

And yet, whilst we appreciate the gains it can make, how many teams set aside specific time in their schedules for “automation” as an activity alongside “refactoring”, “upgrading dependencies” and “deleting dead code (including tests)”.

Check your backlog, and if automation, in some form, isn’t there, ask yourself why those repetitive manual steps still exist in your workflow and why they have priority over the other work you have to do.

Categories
development leadership lifehacks

Did you have a useful week? 

Did you learn something? Did you stretch yourself? Did you challenge your assumptions, or your practices? 

Do you feel like you achieved something last week? Did the frustrations inspire you to make it easier next week? Did you share them with others, in the pub, or on your blog, so others can learn from your frustration? 

Did you set new goals? Are you going to be a faster typist? Are you going to learn functional programming? This time, are you going to lose weight? 

Did you make new connections? Did you make an effort to understand the people you work with? Did you do something to strengthen your work and personal relationships? 

You don’t have to do all of that. But did you think of it? Did you write it down? Did you, in some small and agile way, improve yourself? 

Can you say to yourself, today, that you had a useful week? 

Categories
development leadership lifehacks

The importance of language: acknowledgements 

There’s a few little things that sneak in to conversations and emails that you probably don’t realise you’re doing, until someone points them out to you.

No problem VS You’re welcome

Darlene Price has a great list of phrases you should never say at work. One that really stuck with me was replying to “thanks”, with “no problem”. It was something I did reflexively, either because I thought I was Australian, or because I wanted to minimise the work I’d done. As the article above explains however, it also implies that it would be a problem in other circumstances. Whilst that may be true, there’s an implicit “it’s OK, this time” vibe that, once I spotted it, started to come across to me like a passive aggressive threat. I don’t think that’s how it was perceived, but once I saw that, I couldn’t unsee it, so stopped using “no problem” almost immediately after reading that article.

You’re smart VS You worked hard

This is a parenting basic tip, but it’s a useful thought in general. If you’re smart, then you’re #1, so why try harder. If you worked hard, then you can see the effoer for your reward, and hard work is not a barrier to future success. If you’re smart and you fail, then you’re just not smart enough. If you worked hard and fail, then you either keep working, or seek help. It’s OK to ask for help if you’ve put effort in and need support. It’s not OK if you’re not smart enough, your ego will get in the way.