Posts

Showing posts with the label solutions

Breaking problems down

Image
Some technical problems can get quite challenging. It's pretty common to feel like you dont know how to approach them or even panic. Especially if you are starting on technology. Even the most accomplished and experienced feel the impostor syndrome . IMHO if you do not panic is already 90% done 😉, then the next important thing is to keep going. Small incremental progress is essential emotionally wise in the sense of confidence-building. Small wins can be addictive. The first steps are often the most difficult because we are talking about a technical discovery process.  The tech discovery process might sound like something new and fancy, but actually, we are talking about something as old as the rocks: Analysis. But! How do we do this analysis? Which leads us to the questions such as: How to approach complex tasks? How to break problems down? 

Architecture 101: Thinking about Design

Image
Architecture is about many things but I always believed * Design * was in the heart of architecture. However how we design something? There are many aspects to cover. In order to do better designs you need basically 3 things: * Problems to exercises your design skills. * A continuous learning process: Knows your tools, technology and always look for new approaches and techniques. * Review and Feedback process which could be done via a series of practices like Design Sessions, Design Review, working POCs.  It's also imperative to know your tools, what features do you have in your disposal, what techniques people often use, what principles can be applied and are often good ideas like Isolation, Testability, Debugability and which ones are smells or often anti-patterns like using Cassandra as a queue or Reflection in Java without caching . There are always macro and micro concerns you need to take into account. At the end of the day, small things can make a big difference in d...