Posts

Showing posts from April, 2020

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

Why you should consider Blogging

Image
That's not the first time I write about writing . I recommend logging to Several friends of mine, not only because they are studying and doing interesting but because they experience matter. In my previous post about writing , I was explaining why blogging is super important for remote work and learning. There is a great relation with Blogging and Remote work with I capture here and here .  However, for this blog post, I want to capture other aspects that go beyond the basic reasons like Marketing and Personal-brand. So why you should consider blogging? There are lots of good compelling reasons for it. So Let's get started!

Coping with COVID-19

Image
So who could imagine besides Bill Gates which were dealing with virus since windows 95, that we would have much of the event in our lifetime? This virus is awful for lots of reasons, it spread fast, it's world-wide and or either we die due to disease or because the economy(loosing or jobs), there is a domino effect, even it the virus do not get you in the first strike, economically it will eventually affect you. I'm used to remote work for +10 years I'm living a gypsy life, 6 months in Brazil, 6 months in USA or EUROPE so I can consider myself a kind of digital nomad; During the week, I don't see much difference considering my routing. However, on the weekends, I felt the difference. Often I used to go to nature to visit some parks with waterfalls(not the daily waterfall project dudes :-) ) or a beach,  visit a brewery or bar, go to a good new restaurant which I did not try out, you know the normal things. Weirdly enough now I go out to groceries and very quickly wit

Tools Beyond Meetings

Image
Right now, everything is different due to COVID-19. Even before the COVID-19 meetings were often seen as the one tool to fix all sorts of problems. Meetings can have value if you have a clear agenda and people get prepared before the meeting which never happens so meetings tend to bring lots of waste and kill engineering productivity because it becomes flow killer. The reason why meetings are a goto tool for every kind of problem because it's easier, however, the price is high: Affects Engineering productivity because it's an interruption and often things dont get done and you need more meetings. So you might be wondering what we can do about it, well there is plenty of things we can do about but in order for any solution to work we need to have Discipline which is hard, that's why lots of meetings continue to happen. I'm and always was a huge Chat fan. In the past, I used Skype, Atlassian Hipchat, Teams, and Slack for the last 6 years these tools are great because t

Having fun with Rust

Image
I',m in love with Rust 💓 since 2018. Last year I spend a great amount of time architecture and designing systems with Rust and also Learning and coding. Here are some of my POCs . I've also done several posts about Rust . So this is another one, today I want to show another lick ass things you can do with Rust. No need to say that Rust is Fast and kicks ass but today I will show so cool code I was doing with Rust by coding some Euler with Rust and Java, In comparison, some stuff in Java is actually is better than rust but most of the things are better in Rust. It takes some time to get used to Rust but once you do you will see that the Compiler is just completely amazing and helps a lot. I',m coding rust with VSCode editor thanks to RLS .  One of the features I want to show you guys is called If Let and for me is a killer feature it's super cool.  So let's get started!

Thoughts on Estimates 2

Image
So this is the second video about my thoughts on Estimates. The first video is here if you did not watch it. I end up doing a second video because I realized there was more stuff I want to say and elaborate more like: Estimates not being reliable and liner. Moscow is really helpful to increase the success chance and also small things like XP Simple Design, Metrics, Team Layout, Branching Model, Architecture and so many other things which I cover on this video. So this video is a bit bigger than the first one(8 min) but not that big(12min) so I hope you guys like it.

Learning with POCs

Image
POCs(Proof of Concept) is a standard tool in any software architecture belt.  Lots of people just play with some standard APIs all call it POCS, thats not POC. In order to have a POC you need to establish a goal or concept you want to prove that it works. Calling an API could be a POC? Well, most of the cases not assuming the API works and ins straightforward. However, if the API is hard to call or you need to do complicated things that are not straight forward a simple API call might be a POC. Today I want to share how I do POCs, what kind of POCs I do and how I managed to be effective with them. So I believe this is an interesting subject because most people I know barely do POCs and I do a lot. So Let's Get Started!

Thoughts on Estimates

Image
Estimates and a very huge concern for pretty much company doing business now a day. Especially during COVID-19 times I dont belive the questions like when something will be done will be out of the table soon.  However, is very hard to get estimates right but is possible to take action to reduce the blast radius of estimates and try to get something reasonable.  Today I want to share a short video I recorded some thoughts on estimates. If you are following up muy blog you will see these ideas were published in previous posts if you did not read my latest posts on similar matters you can read it here: 1 , 2 , 3 , 4 , 5 , 6 , 7  and 8 . In this video, you will see why estimates often go south and what we can do to improve and deal with estimates in a reasonable way.

Making Sense of Streaming

Image
There are lots of os problems or use cases that can only address properly addressed today by using streaming techniques. Streaming is needed due to the high volume of data and is almost 100% sure you will need it as your business grow up. Today I want a lecture I recorded last week about the subject. You will see a brief evolution of big data solutions from Hadoop to Modern Streaming with Spark and Flink. You also will see why streaming is needed and why we cannot use traditional solutions for it. I hope you guys like it. Let's go!

Observability & Domain Observability: From Understanding to Value

Image
Observability is a must-have a property any mature distributed system solution and/or digital product.  There is no way to "buy" observability, you need to earn it. Observability is like car insurance. No one likes to pay insurance, however, if there is a care crash you do really really want it. However, you cannot acquire the insurance at the very moment of the crash it does not work that one. The car insurance metaphor would work partially If you have a monolith system. As you have microservices, therefore distributed systems, you have many more failure points and in order to detect that the "car crashed" could be much more hard and complicated. There are many challenges in order to have observability on the system. The main idea is that Observability is something LIVE which means it is not a one time job. So you want to have a better understanding of your system via instrumentation which will lead to better observability and this loop keep going. Some time abou

The Issue with Coaching

Image
Coaching is under lots of critics down here in brazil, the critics started to happen around ~5 years ago around 2015/2014. As time pass more and more Coach role is being criticized for several reasons.  This kind of theme always gets me with mixed feelings in regards to blogging and videos because they are often flamewar subjects therefore I try no to blog about. After lots of considerations, I decided to blog some thought about it. I was wondering to blog about it last week but it was a super busy week so that why I'm writing today. During COVID-19 time my blogging activities had increased a lot since there is no place to go. Back to coaching, IMHO is not a bad thing, actually, it's good however I deeply understand why people are trying to avoid as much as possible. For these blog post, I want to talk about the Good and the Bad things about coaching and also about some forces behind it and problems which need to address no matter if you do coaching or not. I believe there