Skip to main content

Software Development


Error handling with results in Typescript
·902 words·5 mins
David Simão
What are the main takeaways of error handling with result objects and how does it compare to the try-catch idiom? Looking into different approaches and some examples.
Building a simple rules engine in Typescript
·1300 words·7 mins
David Simão
Building a lightweight, general purpose and easy to use rules engine under 30 lines of Typescript. We’ll start with an example use case and build the engine around it.


Multiple test input combinations with jest
·670 words·4 mins
David Simão
A simple method to generate exhaustive input combinations for test cases while maintaining a healthy and readable test codebase
Engineering Friendly Product Manager
·1181 words·6 mins
David Simão
The rules of engagement in solid partnership with engineering. The do’s and don’ts as seen from a software developer’s perspective
Creating optimal pull requests
·2040 words·10 mins
David Simão
An essay on the role of pull requests and their importance in the software development cycle and what strategies can we use to improve them
Docusaurus vs Gatsby vs Hugo
·2210 words·11 mins
David Simão
A comparison between Docusaurus, Gatsby and Hugo, as blogging frameworks and why I chose to use Hugo for implementing this blog


The complete software engineer
·2408 words·12 mins
David Simão
What does it take to excel as a software engineer and what other aspects beyond programming can help us differentiate ?


The journey of a push notification
·975 words·5 mins
David Simão
Lessons learned from building a push notification system for a cross-platform mobile application at Truphone