Posts

Showing posts with the label architect

My 4th book is out: Diego Pacheco's Software Architecture Library (SAL)

Image
I wrote my 4th book! Diego Pacheco's Software Architecture Library (SAL). This book is free; it's me giving back. I hope you like it. It's my first git book. Architecture is one of my passions; this book will help you in your journey. If you are not an architect, this could be a good starting point. If you are already an architect, it could be a chance to learn something new. You don't need to be an architect in order to do architecture. So even if you are an engineer or an engineering manager, this book might give you food for thought. This book is Free.

The Monk and The Rockstar

Image
I have been doing practical and real software architecture for more than 20+ years. Software architecture is a great passion of mine, close to my heart and even to my identity or just id function if we think about functional programming :-). I have mentored and coached many architects during the last two decades. Today, I want to share some thoughts on something that represents the complexity and duality of the software architect role. Being an architect is not easy, it requires a lot of sound judgment, trade-offs analysis, design skills, research, requirements extraction, trend prediction, futurology, and lots of non-obvious skills. Architects must code, be practical, and make very good calls, resulting in better positioning for the future. Doing such a task is not easy and requires a lot of hard work; it's demanding and requires constant improvement and attention to detail. What is essential to extrapolate an architect's non-obvious antagonistic skill set, which the architect...

Design 101

Image
Software Design is a super important discipline. However, Design is often made by accident. Software Design is really needed because there is a huge cost associated with some changes further down when you have a scale and lots of software. Lots of engineers dont understand design or understand it on a superficial level. Software design is on the core of everything we do in software and I believe we need to talk bout this super important discipline. So I made a slidecast talking about the subject. Let's get started. 

Don't Outsmart hard choices: Why architects are the ultimate tech debt perpetrators

Image
Problem-solving is both a blessing skill and also a curse. It's on every software architect/engineer veins. It's pretty addictive and makes us feel useful and smart. Having sharp problem-solving skills is always great. I mean talent is gold. We want more talent, and what talent do intelligent solutions to complex problems. The heart of software engineering is fixing problems. Don't get me wrong this is good. However, sometimes we need to go with HARD DECISIONS. I can't think of a harder choice today than decide to pay the technical debt. However, once you got a design wrong and started things with the wrong feet is easy yo keep pushing problems aways without belly and keep the debt growing. Why does it happen?  

Architecture 101: Vision, Properties and Skills

Image
Software Architecture is defined either by accident or by design. Architecture becomes real once you ship your system to production. However you might only see the issues related to poor architecture decisions after some time or as a consequence of scale/hyper-growth. Software architecture is hard. Previously I was blogging about the Design aspect of software architecture and the relationship between Architects and Architecture. Today I would like to cover even more basic aspects like (A) What's my vision on software architecture? (B) What properties should we expect from a proper or well-architect system? (C) Fundamental soft-skills an experienced software architect need to be able to master it. So Let's get started!

Software Architecture and Architects

Image
As a consultant, a question I got a lot is what is software architecture anyways? What should architecture do, what is the skillset it needs to have? So, first of all, I believe everybody in your team should be a software architect. That's the silicon valley way. Brazil has a huge demand and very few qualified people for us to work in that model which ends up having a few software architects per company. Hiring is extremely complicated, slow and difficult and easily you will pay a lot for someone who is not a proficient architect. However, develop these skills is a good idea for every engineer there are a couple of problems like A) Not everybody wants to be an Architect. B) It takes time. Companies dont have time and the demand is here; So this forces a pre-mature software architect exposure. At the end of the day, it does not mean this is a bad thing. Having opportunities is great for everybody but it all depends on how you develop and use your opportunities.  Going back to the...

Being an Active Architect

Image
This could sound strange. Martin fowler said once, who need architects? (fowler article) . I always believe that to be specialist in something you need to that thing, for me is very complicate the view of *Specialized Architect* the IT Industry have. First all IF you dont CODE you are not an architect anymore, because CODE is want make you pure, its the bound that make you practice every will keep you current. If you think about money when money become with no value? when the coin is not current, so if the coin is not running and its old its consider not current and lost the value, why for software architect we think just because you did something 5-10 years ago you still have value? Because is far as i know things change pretty much everything is sense of technologies from 3 to 3 years. There is value being a mentor and give guidance for other architect, discussion high level solutions are well but this is only 30% of the problem, that's all the piratical, operation and producti...