About

Hi There! Welcome

Welcome to The Non-functional Dev! I’m Carlos Mario Araujo, a software developer passionate for quality management.

When and why everything started?

After working as a teacher for almost 5 years, I started as an entrepreneur in a company for medical equipment maintenance. In this context, the implementation of an effective quality management process is not only beneficial but mandatory. During this experience, I had to learn and apply multiple standards related to quality management, such as ISO 9001 (customer satisfaction), ISO 27001 (information security), ISO 19475 (document management), and ISO/IEC 17025 (competence of testing and calibration laboratories). As a result, I develop a strong quality-oriented mindset, giving me also the opportunity to perform as a quality management consultant.

OK. But.. Where is the code?

Our clients and portfolio grew, and the process became unmanageable, at least in a physical way. With some experience in coding and a very low budget, I started to study web development and simultaneously implement our own application to manage the service. Naturally, I was not only interested in creating a product but in developing a high-quality product, with the future goal of offering this service to others. Therefore, from the very beginning, I aimed to replace “x” with “a_meaningful_variable_name.

Growing in Development and Quality

I have worked in the development and maintenance of software for various industries, including risk management, project management, and real estate management. These roles have further broadened my understanding of the critical role that non-functional requirements play in ensuring software quality

Why ‘The Non-Functional Dev’?

The name “The Non-functional Dev” reflects my focus on the often-overlooked aspects of software development that play a crucial role in creating robust, maintainable, and high-performing applications. From readability and maintainability to system design and testing, I believe that the ‘how’ is just as important as the ‘what’ in coding and system design.

What will you find here?

  • Code Quality: Tips and techniques for writing clean, readable, and maintainable code.
  • System Design: Insights into architectural patterns, scalability, and performance optimization.
  • Testing and Automation: Best practices for testing and continuous integration/deployment.
  • My Stories: Personal experiences, case studies, and lessons learned from my career.

Join me on this journey to elevate our software development skills and build high-quality software that stands the test of time. Let’s delve into the nuances of non-functional requirements and explore how they can make our lives—and our code—better.