Posted on August 03, 2023
Technical Debt - What is it?
Posted on April 16, 2023
This year, I embarked on an exciting journey of harnessing solar power for my home. My starting point was a 400Wp solar panel that I installed on my balcony. This inverter for this is a Deye Sun 300, which houses a built-in webserver. This server continuously provides data about the amount of energy currently being generated.
Posted on January 20, 2023
As we ushered in the new year, I found myself the proud owner of a 400Wp solar panel that I installed on my balcony. The kit I got came with a Deye Sun 300 inverter. Like many, this inverter has an in-built webserver, which conveniently displays the amount of power being generated in somewhat real time. Naturally, as a smart home enthusiast, I was eager to integrate this data into my Loxone smart home server. Allow me to share with you a step-by-step guide on how I made this possible.
Posted on December 13, 2022
Many of us think that we are moving too slowly and that our processes take too long. We started to measure how long our finished code idles around as a pull request, tracking the lead time over certain periods in the hopes that we can be faster. The process of creating pull requests, collecting feedback and iterating on code has become second nature to most of us and isn’t even questioned anymore. But what if there was another way that would allow us to go out there and release faster?
Posted on June 13, 2022
If you try to google comparisons between a “programmer” and a “software engineer”, you will find many attempts on what could be the difference. At NWSE we typically refer to the people who write code as “the developers” or “the engineers” (oftentimes overlooking the important contributions of our QA engineers). A lot of resources out there try to draw the difference between a programmer and an engineer by looking at the formal education of people, stating that engineers generally have a formal university education and deal with complex mathematics and overall know the complete interaction between the systems they are working with.
Posted on April 22, 2022
At the beginning of the year 2022, an ex-google engineer made the case that pair programming is a waste of time. His argument was that since a company is employing two programmers to do the work at the same keyboard, the output must be greater than 2x the output of a single programming for pair programming to make sense. Furthermore he argued that if two programmers pair, the pair always devolves to the least-common-denominator with respect to the performance of the pair, making them always slower. In my opinion the author of this statement only took efficiency and not effectiveness into consideration. When programming is just about typing, the above statements may be true, but when we talk about good engineering, it’s more than typing.