Posted by IN / 0 responses

How to Get Better: Read

25 January 2016

This is part 2 of a series in how to get better as an automated testing engineer. In part 1 we talked about working with people better than us. Today I want to talk about ingesting content, specifically books.

books

Recently, on the podcast I co-host, we talked about getting better through reading and our favorite programming books. Make sure to look at those 4 books (Refactoring: Improving the Design of Existing CodeTest Driven Development by ExampleStructure and Interpretation of Computer Programs, and Working Effectively with Legacy Code).

Additionally, I’ll add a few more that made a difference in my career.

Design PatternsDesign Patterns – these are patterns commonly occurring in programming. Knowing them is like understanding cultural idioms. You’ll see where people used them and they’ll clue you into likely problem sets the authors faced and architectural decisions that are most likely nearby.

Further, understanding this will help you communicate better with software engineers (at least the good ones) and have a leg up in design conversations.

I will mention for this and most of these books, if you’re not already a pro with object-oriented design and principles, go back and learn that first.

 

 

 

 

EffectiveEffective Java – While this book is for Java, the ideas I learned in this one carry over to helping my understanding of different languages. For instance, in Java Strings are immutable. This has a certain impact on performance of the system and memory usage when strings are poorly used. But then what does that mean in other languages? And how does immutability occur in other languages or does it? This is just one example among many lessons by Joshua Bloch.

You’ll note this was originally written for Java 6. I looked for a version tied to a newer version of Java and I didn’t find one. Glancing over it briefly this morning, I realized most of the concepts at still relevant to Java and working in Java.

 

About the Author

Paul Merrill

Paul Merrill is Principal Software Engineer in Test and Founder of Beaufort Fairmont Automated Testing Services. Paul works with clients every day to accelerate testing, reduce risk, and to increase the efficacy of testing processes. You’re Agile, but is your Testing Agile? An entrepreneur, tester, and software engineer, Paul has a unique perspective on launching and maintaining quality products. He also hosts Reflection as a Service, a podcast about software development and entrepreneurship. Follow Paul on Twitter @dpaulmerrill.

Leave a Reply

Your email address will not be published. Required fields are marked *