Architecture Foundamentals

I want to suggest this book: “Fundamentals of Software Architecture: An Engineering Approach” (https://tinyurl.com/35ewyab4) for both newbies and expert engineers. What do I like about this book?

  • Very clear about the architecture properties.
  • For every architecture, at the end of the chapter, we find a card with the strengths and weaknesses.
  • Advice for tools (drawing and other).
  • Considers the soft skills for an architect, such as how to communicate with each other (for example, how to write an email to communicate an architectural decision). It puts humans at the center, not just the technology.
  • How to build an architecture career.
  • How to stay updated in this field.

Need anything else?

The Software Craftsman

I’m very enthusiastic about the book “The Software Craftsman: Professionalism, Pragmatism, Pride” by Sandro Mancuso (https://amzn.to/34ksWKV). It’s in my top three for the IT book. I would like to suggest to every people that has some interest in software development, not only for the engineers. The book explains a mindset (using a hype word) and some good practices that the software developer should have in their work. These practice, habits or how you want to call them are necessary to create good software but in the process to create good products are involved also other professional figures (i.e. manager), so if they know what’s good for the developers, software architects and so on, it’s better for everyone, for the engineer, for the manager and the customers. So read it.

Contents

The book expands the concepts that you can find in the Manifesto (https://manifesto.softwarecraftsmanship.org/). The main things are:

  • Write good software (that it working is obvious)
  • Mentorship the younger developer
  • Use TDD and other Agile practices
  • Collaborate with everyone, also say “no” if it’s necessary to have good software.

About TDD and Agile practice they are not connected to the “Craftsman”, in this time it seems that better thing to do to have good software, if tomorrow we have other practices that permit us to make better software, the real Craftsman have to use the new things.

In the end, learn and share (forever).

Note: English is not my native language, so I’m sorry for some errors. I appreciate it if your correct me.