What We’re Reading Next

What should we read next?

Please post ideas on the Google Plus group.

Here are some suggestions we’ve had already

The Elements of Computing Systems

(From NAND to Tetris)

Building a Modern Computer From First Principles by Noam Nisan and Simon Schocken

It encourages the reader to implement an emulated computer using a handful of tools written in Java, and then to build an OS to run on the hardware, and software to run on the OS.

Software Architecture for Developers

Software architecture, technical leadership and the balance with agility  by Simon Brown

This book is a practical, pragmatic and lightweight guide to software architecture for developers. You’ll learn:

  • The essence of software architecture.
  • Why the software architecture role should include coding, coaching and collaboration.
  • The things that you *really* need to think about before coding.
  • How to visualise your software architecture using NoUML sketches.
  • A lightweight approach to documenting your software.
  • Why there is *no* conflict between agile and architecture.
  • What “just enough” up front design means.
  • How to identify risks with risk-storming.

This collection of essays knocks down traditional ivory towers, blurring the line between software development and software architecture in the process. It will teach you about software architecture, technical leadership and the balance with agility.

Please note: this book is a work in progress but if you buy now all future updates are free.

Software Craftsmanship

Software Craftsmanship – Professionalism Pragmatism Pride by Sandro Mancuso

After decades and many different methodologies, software projects are still failing. Although there are many reasons why they fail, there are a few things that cannot be ignored: managers see software development as production line, companies do not know how to manage software projects and hire good developers and many developers still behave like factory workers, providing a very poor service to their employers and clients. With the advent of Agile methodologies, the software industry gave a big step forward, however, the percentage of failing software projects are still incredibly high. Why is it? Why are we so bad at it? What is missing?

Although the term has been around for over a decade, it was just in recent years that Software Craftsmanship emerged as a viable solution for many of the problems the software industry faces today. Proposing a very different mindset for developers and companies, a strong set of technical disciplines and practices, mostly based on Extreme Programming, and with a great alignment with Agile methodologies, Software Craftsmanship promises to take our industry to the next level, promoting professionalism, technical excellence, the death of the production line and factory workers attitude.

How can we become better developers? How can we make our companies deliver better software projects? With real stories and practical advices for developers and companies, this book is recommended to all software developers and every professional directly involved in a software project.

Please note: this book is a work in progress but if you buy now all future updates are free.

 

Java Performance

Java Performance by Charlie Hunt and Binu John

“The definitive master class in performance tuning Java applications…if you love all the gory details, this is the book for you.”
–James Gosling, creator of the Java Programming Language
Improvements in the Java platform and new multicore/multiprocessor hardware have made it possible to dramatically improve the performance and scalability of Java software.

Java™ Performance covers the latest Oracle and third-party tools for monitoring and measuring performance on a wide variety of hardware architectures and operating systems. The authors present dozens of tips and tricks you’ll find nowhere else.

You’ll learn how to construct experiments that identify opportunities for optimization, interpret the results, and take effective action. You’ll also find powerful insights into microbenchmarking–including how to avoid common mistakes that can mislead you into writing poorly performing software. Then, building on this foundation, you’ll walk through optimizing the Java HotSpot VM, standard and multitiered applications; Web applications, and more. Coverage includes

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: