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.
- 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 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.
- 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.