/ Management

Productivity tips

This blog post provides a list of suggestions to improve your productivity and impact at work.

Communication
  • Write short emails. They save your time, save the time of the reader too, and ensure you get your point across clearly.

  • Reply quickly. Aim to reply to 70% of your emails within minutes, 20% within hours, and 10% within days. Obviously this is only possible if you obey the first rule above, which is to write short emails.

  • Use your inbox as your TODO list. This means you need to move out (to folders) emails that are processed/done.

  • Learn to use gmail folders and labels. Learn how to colour-code your labels (google for instructions).

  • Communicate in 3 directions: downwards to your subordinates, sideways to your peers, and upwards to your superiors. Some people forget that each direction is equally important.

  • Prefer Slack over email.

  • Praise in writing, complain orally.

  • Use cc: freely and widely - make sure that everyone even peripherally involved in a subject is copied into the email.

  • Don't use bcc: - it causes too many potential embarrassments.

Security
  • Update your browser and preferably use Chrome.

  • Update your OS and preferably use a Mac or a Chromebook, not Windows.

  • Use strong passwords - you need to understand this xkcd cartoon.

  • Use a password-protected screensaver.

  • Store all your passwords in the password-safe, except of course the password-safe password itself.

  • Encrypt your hard drive.

  • Enable your firewall and anti-virus.

  • Install all available updates on your mobile phone.

Software Development
  • Do pair-programming. Code written via pair-programming is higher quality, and projects get done faster and better. It's also a great way to learn from your colleagues.

  • Insist on the 12 points of the Joel Test.

  • Try to delete code. Software developers often assume their job is to write code. The best developers however are constantly looking to reduce complexity by deleting/refactoring code. Ideally your net contribution to the company over the time in terms of lines of code should be 0, or negative. If your net contribution is a positive number of lines of code, you may be adding technical debt and actually doing harm to the company.

  • Modularise code. Complex code leads to technical debt and is a big drain on a company. You should aim to de-couple code into standalone modules, so as to keep complexity down to a minimum.

  • Use proper naming - don't use abbreviations, and use the right words for your variables, routines, files, modules, objects.

  • Communicate and interact. We have private rooms so that developers can enter the hyper-productive state of flow required to write good code, but don't lock yourself up in a room all day. Spend some time interacting and talking to colleagues, preferably also pair-programming.

  • Be available after-hours in case of an emergency. It's important to have a good work-life balance, but don't be the person who goes completely offline after hours and then walks into the office the next day not realising that there was a serious system problem the previous evening, that others had to fix in your stead. Be part of the team - be available and aware of what's going on.

Management