First Principle Software Development is an approach that emphasizes reasoning from fundamental truths to build high-quality software systems. From physics perspective – it means – going from bottom – to up. From Business Perspective – it is the opposite. Here are some tips to help you apply the First Principle Software Development methodology effectively. Understand…
Category: Software Development
Good Hardware & Software is About Time
Good Hardware & Software is About Saving Time – one, if not – the most – important resource in human life. Processing Speed High-performance hardware, such as modern processors and solid-state drives (SSDs) and having enough RAM memory, can significantly reduce the time required for various tasks. All modern Operating Systems have process and resources…
Best Practices are about Pain Reduction
Experience and understanding of Best Practices is archived through Pain even in the Information Technology Field. Embracing them – may lead to Pain Reduction – in the long term. Security S stands for Security in IOT. If you are value creator, you think more – how to serve the public, how to create value, how…
Conditional Imports
There are several ways to archive cross-platform support in dart/flutter, and conditional dart imports is something that I haven’t seen in other OOP languages. Stack-overflow post Here is the response from stack-overflow: https://stackoverflow.com/questions/67937479/how-to-add-conditional-imports-across-flutter-mobile-web-and-window Example My use case was using the http client adapter – used by the Dio network package. I’ve created two files: //http_adapter.dartimport…
StartUp to Enterprise – What You Need?
Here you have some steps you need to walk through to transform a StartUp to Business to Enterprise level company. MVP Create or Present a Minimal Viable Product and go in front of the target audience to prove that is is sellable or usable. The product may be even only on the drawing board. For…
Switching between Services and GUI
My personal career seemed to evolved – by switching between implementing Back-End Services and GUI (Graphical User Interfaces). OOP In the beginning – in University – I’ve learned the Object Oriented Programming. I’ve also attended a course about Design Patterns that expanded the possibilities of OOP to create good architectures. The tricky thing about this…
Automation Software – Bus Factor Minimiser
Automation Software is time saver, money saver, speed accelerator, and Bus Factor Minimiser – besides everything else. Bus Factor The bus factor is – how replace-able are you? Will a company continue do its work – without you? This is the ability to share knowledge between the team, so if an assessment happens – someone…
Soft Update – coming to all Software
Soft Update, also called Code Push or Live Patch – is coming to the Software near you. It is a way of bringing the latest version of the software – without forceful restart. This is especially bad UX / annoying – when the software is the Operating System. Already Present Code Push Linux has Live…
Software Development Environments
I’ve written in the past about Software Development Environments https://tomavelev.com/blog/Software%20Environments. Their ultimate goal is to have the same source code – running everywhere – with just – settings/data difference. In short, they are: Local/Dev Test Integration Staging Production This time I’m gonna point out some examples in Flutter and Java. Flutter flavours Flutter projects does…
What Statistics are Important in Software Development
There are several Statistics that are important in Software Development: Code quality metrics These metrics are used to measure the quality of the code being developed, including metrics such as code complexity, code coverage, and code duplication. All programming language have static code analysis integrated into the IDEs (more about having Full Developer Experience. Defect…