I can't help the poor [in knowledge] if I am one of them, so I got rich and gave back, to me that's the win win -- Jay Z
Software development is a journey of discovery. This journey is a marathon, not a sprint. By defining the important things, whatever that is, software development becomes more efficient. Architecture lays out how to accomplish this journey and what the important things are. Software architecture is seen as cast in stone. This is why a lot of software development teams disregard explicit design for an implicit one. Modern software architecture needs to be evolutionary, it needs to be flexible enough to accommodate the discoveries along the way. The better the design of your software, the easier it will be for you to carry on in the journey of discovery and remain flexible enough to make the important changes. This page has a collection of my thoughts on software architecture. Have a look around to see what catches your attention. You can find related ideas here: software development concepts.
This article is a summary of my presentation at the O’Reilly Software Architecture Conference in London. Maintaining an API gateway these days generally involves handling different types of user facing apps such as a web, mobile (of different platforms) and IOT devices. The Backend for Frontend (BFF) pattern specifically addresses this aspect of software solutions.
I was in New York on the 12th of April to deliver a talk at the O’Reilly software architecture conference on how my team and I built a report-casting mobile app for the 2015 Nigeria elections.On the surface, the talk was just about how we, as a team, built two mobile apps with a shared… Continue reading →
We had always wanted to build something relevant for elections in Nigeria and we had a lot of talk around this subject in 2011 when the last general elections in Nigeria were held but never did anything more than just talk about it. So when the 2015 elections were around the corner again, the talk… Continue reading →