AQA Resources and References
Whether you’re just getting started or have years of experience, never turn down the opportunity to learn something new - or re-learn something old from a new perspective. I’ve compiled two lists below of resources: books and training. Your mileage may vary, but I’ve found these to be insightful.
Anyone that knows me knows that I love a good book, often a particular kind of book, but also programming books! I find that I learn far better from books then I do from other media, especially videos. Videos sound nice, but it’s difficult to take notes as you have to constantly rewind and replay while with books it’s easy to read a paragraph or two, stop, think, and write and summary. Plus it’s fun to flag things! Also because I can read! Yay literacy!
Project Management and Processes
With the extreme versatility of most modern programming languages and IDEs and the simplistic (or at least well understood) architecture of most projects, bad processes more often lead to a bad product morso then any other component of development.
Essential Scrum - ISBN-9780137043293
Literally the Scrum book. When the first company I worked at, like so many others, decided to switch to Scrum/Agile, they bought this book for the entire development staff. In a company with 1000+ development staff, I could probably count on my fingers the number of people that actually read this book (mostly because they attended a book club that I helped organize). I found that the people that complained the most that we were doing Scrum incorrectly were also the loudest to brag that they didn't bother reading the book. Don't be that person. Have T-shaped skills, be self-organized, and own the development process - for the sanity of your team.
Mythical Man Month
Mythical Man Month - ISBN-9780201835953
The book that brought us Brooks Law - Adding a developer to a late project makes it later - and the winner of a Turing Award, this is the quintessential project management book. Required reading in most Computer Science programs, the insight Fred Brooks provides in his decades of experience is invaluable. Though written back in 1975, the lessons taught here are still ever relevant today - a testament to how the more things change the more they stay the same.
The Phoenix Project
The Phoenix Project - ISBN-9781942788294
A novel about DevOps that uses a fictional narrative to explore DevOps principles. I personally found it fascinating, but some people do have a hard time getting into it, so it’s not for everyone.
Programming and Development
Like any skilled trade, developers must keep their skills sharp. Programming books are difficult to find as far too many focus on learning a language. Languages change, often rapidly, such that by the time a book is released it’s already out of date. Instead, find books that teach the concepts behind the language.
Pragmatic Programmer - ISBN-9780201616224
The book that launched the Pragmatic Programmer series of books and brought us the DRY principle - Don't Repeat Yourself. I find this to be a more developer-focused version of the Mythical Man Month with its many suggestions on how developers can improve their skills and write better programs. Stone Soup, Boiled Frogs, and Evil Wizards await!
Production Ready Microservices
Production Ready Microservices - ISBN-9781491965979
Microservices and event-driven integration are the ways of the future and they fit nicely with our current DevOps, Cloud, and Scrum/Agile principles. Many companies I’ve talked with are looking toward this architecture for the bases of their new projects and this book does an excellent job breaking it down to a digestible level.
Seven Languages in Seven Weeks
Seven Languages in Seven Weeks - ISBN-9781934356593
Bored of doing the same style of programming day in and day out? Think you’ve seen all there is to offer? Think again! This is an excellent little crash course into seven different (very different) languages. Break away from the more traditional language syntax and do something different - plus you’ll learn how to evaluate different languages based on their strengths and weaknesses.
Objects First with Java
Objects First with Java - ISBN-9780132492669
Just getting started programming? Coming into AQA from a QA background? You may be interested in this book. This is the book I learned to program from. This isn't your typical ‘language learning’ book, this is a book about concepts. It teaches you the concepts of Object Oriented architecture and design using Java as a vehicle for those lessons. You will of course come away with a deep knowledge of Java, but more broadly you’ll learn about OO which is applicable to a wide field of languages. Do note this is a ‘textbook’, and as such the latest edition is very expensive - and you don't need it. Buy one version back to save a lot of money. Just make sure you download the right version of BlueJ to match.
QA and AQA
QA is an oft mistreated and misunderstood field even by some that practice it. In AQA this mechanism is magnified due to its young age. While I have yet to find any grand AQA specific resources, I find a little general QA knowledge can go a long way.
Lessons Learned in Software Testing
Lessons Learned in Software Testing - ISBN-9780471081128
James Bach is the premier thought leader in QA and this is his seminal work. Each chapter is broken down into small nuggets of wisdom and every paragraph is pure gold. Absolutely a required read for anyone in QA if not development as a whole.
Managing the Testing Process
Managing the Testing Process - ISBN-9780470404157
This is a rather dense tome, and absolutely a technical manual. It’s well written, but it can be tough to get through. Even still, it is a wealth of knowledge around how to manage a testing team and how to integrate QA as part of the overall development process. I find it complementary to Lessons Learned in Software Testing.
The Cucumber Book
The Cucumber Book - ISBN-9781680502381
I highly recommend everything by the Pragmatic Programmers series, but this specifically is the closest you’ll find to an AQA specific book. Cucumber is the largest and most robust framework for AQA. It is both a process and a tool rolled into one and this book guides you through it.
Performance Testing with jMeter
Performance Testing with jMeter - ISBN-9781784394813
Honestly not the best book overall, but it’s short and quick and gives you a good primer on jMeter testing - far better then any online tutorial I tried. Hardly definitive, but a good jumping off point.
AQA as a skill requires at least a little knowledge of everything. We’re expected to be experts and generalists at the same time. Never take any piece of information for granted and always be wanting to learn more.
Learning from the Octopus
Fantastic book with so much knowledge to give in such a small space. From a purely developer perspective, this can help you identify bad processes and learn how to replace them with better, more robust, and, most importantly, simpler processes.
Introduction to Logic
Introduction to Logic - ISBN-9780205820375
I took an Introduction to Logic class in college and it ended up being one of my favorite and most worth-while classes of my four years there. This tome is probably a bit dense and obtuse for a general audience - it was intended as a textbook after all - but I do stand by that people should learn proper logical reasoning and how to spot fallacies. So maybe don't use this book exactly or have it around for reference when reading other, more guided books.
From books we learn, from others we experience. I’ve searched high and low for places to widen my skills. A cup a tea and quiet afternoon with a good book will only get you so far. Eventually everyone needs to branch out and become actively engaged in their profession.
Association for Software Testing - Black Box Software Testing
Cost: $175/course + $150 yearly membership
A course in software testing. Old and new testers alike will learn something from this course. It’s broken into three levels: Foundations, Bug Advocacy, and Test Design and is based on James Bach’s works. I really can't speak highly enough of this course. It is astonishingly great. I took the Foundation course back in 2017 and can't wait to take some of the higher levels when I get the time. Don't let the description fool you though, this is a bootcamp. It is gruely. During the course, I spent every bit of free time studying and doing course work - and it was incredibly worth it. Overall it was well-designed and packed with knowledge. I can attest anyone that has taken these courses is not only knowledgeable of QA but devoted to their craft.
Seriously. Get out, get active in your community. There are probably usergroups happening near you right now - and if there’s not, start one! This is a great way to network and learn, and possibly give back and contribute!