Today at work, Friday 8th January, I gave a 5 minute lightning talk at work and I chose to talk about my list of top 10 best practices for developers, being 5 minutes I hadn’t much time but here is what I talked about with a little more meat on the bone in this blog post.

Keep your kills up to date

  • Use video websites like Pluralsight and the like to keep your skills relevant and up to date so you’re not left behind.
  • Read books
  • Have a blog
  • Use twitter to keep up to date when possible, it’s a fast paced world and its difficult to keep up to date so try to make time

Share your knowledge

  • If you hear about or read something of interest to colleagues pass it on
  • Share the new technologies you’ve looked at or some code you came across which is well written.
  • Give demo’s to your team mates and show them why this might be something worth learning etc.

Have good personal discipline

  • Check your code in regularly
  • Keep your check-ins small, don’t wait days before committing and don’t have one big check-in with hundreds of file changes if you can help it.
  • Keep an eye on your build server, try not to have broken builds for days, when you check-in check your code builds on the build server, don’t be lazy.
  • Tidy up as you go, don’t leave files, folders, backups etc. lying around.

Take an interest

  • Take part in code reviews, add your thoughts and comments.
  • Take part in team meetings, add your voice, don’t be silent.
  • Know your codebase, well as much of it as you can.
  • Know how everything works from writing code, building it, running the tests on the build server and also how does it get deployed, don’t leave it for others to do.

Test Everything

  • Write unit tests.
  • Write Integration tests.
  • Write front end tests.
  • Write tests for your build scripts.

Automate everything where possible

  • Automate Builds.
  • Automate Tests.
  • Automate Deployments.
  • We are engineers so automate, less manual steps the better.

  • Read other team members code.
  • Read code from Github, BitBucket etc.
  • Learn from other developers, there are plenty of great examples out there.

Document your processes

  • Document your build process.
  • Document your servers, accounts, permissions etc.
  • Think of the next developer, maybe a new employee how would they benefit from your documentation.
  • Limit technical debt – keep on top of your technical debt each sprint for example.

Leave the code in a better place than when you found it

  • Clean up your codebase, remove dead code, remove unused namespaces etc.
  • Remove or fix Skipped Tests.
  • Tools like ReSharper can help you clean up code in seconds.

Feedback

  • Feedback good or bad is important, from colleagues, your boss, your end users/customers.
  • Get Feedback on your software from people who use it day in day out.
  • Get Feedback from your build server, how long are the builds taking, how long do tests take to run.
  • Feedback is golden, and the beat way to improve.

Give Back

  • Do a lightning talk at work.
  • Do a presentation or a demo at work.
  • Giving back can be very rewarding.
  • Encourage people, don’t criticise or condemn.

It was fun doing it and I look forward to doing more talks soon.