Want to Become a Better Software Developer? This is the book for you!
Want to write code that consistently does what it is suppose to do? Want to write code that has minimal defects, is secure and operates efficiently? Want to write code that is easy to read and maintain? Basically... do you want to become a better software developer? This is the book for you!
Four of our senior software developers and managers have spilled the beans about what it takes to write better code.
This 60+ page ebook focuses on best practice processes and tools to build a strong codebase foundation. Filled with tips, tricks and techniques, you'll be writing better code before you even finish reading the last page.
What this Book Offers Tips, Tricks & Techniques
1. Know What you Want to Achieve
Software development is a discipline where our reach often exceeds our grasp. This chapter looks at the most basic element of getting software development right: know what you want to achieve.
2. Pick the right tools for the job
This chapter looks at the technology stack we use, and gives you advice about how you should choose yours.
3. Decide on your style and stick to it
A defined code style is something that is important to have, to document and to enforce. This chapter looks at how to decide on your style and stick to it.
4. Relentlessly Push for Simplicity
The two underlying issues that cause code quality problems are complexity and inconsistency. This chapter looks at how to simplify code and reduce issues.
5. Focus on code comprehensibility
Good code doesn’t just work; it communicates its purpose to the reader. This chapter gives tips and advice to help you write code that others understand.
6. Techniques for Improving Code Comprehensibility
Improving code comprehensibility can be done iteratively with only minor changes to approach. This chapter looks at some of those approaches.
7. Test Early, Test Often
In order to ensure your software works as it should, you’re going to have to test it at some point. This chapter covers off what you need to know.
8. Automate Code Review
Throughout the software development lifecycle code quality can be automated. This chapter looks at when, why and how.
9. Code Reviews & Refactoring
Code reviews are an essential part of maintaining high code quality across an organisation. This chapter looks at code review software, benefits of code review and handling resistance, as well as what is code refactoring and why you should do it.
Expert Advice from Expert Developers About the Authors
Chris Maish is a Solution Architect at F1 Solutions. He’s worked with us for over 10 years and has worked on projects, including OmniStar, DAFF ARC and iTravel. Chris holds a MCTS in Web Application Development with the Microsoft .NET Framework 4 and has over 13 years’ experience in software development. If Chris didn’t go into software, he says he’d probably have studied to become a composer, an aerospace engineer or a professional juggler.
Nicholas Bourke is the Development Team Lead at F1 Solutions. He’s worked here for over 9 years and has worked on some of our most exciting projects, including OmniStar, eLAPPS, and NAATI SAM. Nick holds a Bachelor of Information Technology from the Australian National University, and has over 9 years’ experience in software development. If Nick wasn’t a software developer he says he would have become an Archaeologist.
Zarthost Boman is the Director of Operations at F1 Solutions. He has over 19 years’ experience in software development and has worked here for over 12 years. During that time he has overseen all of our major projects. Zar holds a Bachelor of Information Technology and Graduate Diploma of Business Administration. His favourite part of software development is designing and implementing user interfaces, especially in web applications.
Murray McCulloch is a Senior Software Developer at F1 Solutions. He’s worked here for over 6 years and he has had a big involvement in the development of our OmniStar solution. He has over 23 years’ experience in software development and has worked in nine jobs, eight cities, four states and two countries. He uses that experience to mentor and manage our more junior staff.