

I’m Uwais Alqadri, a Software Engineer
specializing in Swift and Kotlin, with 4 years of experience in mobile app
development, both cross-platform and native.
Based in Indonesia
I’m Uwais Alqadri,
a Software Engineer
specializing in
Swift and Kotlin,
with 4 years of
experience in mobile
app development, both
cross-platform & native.
Based in Indonesia

Hello ✋
Hello ✋








LONG RUN, MEANINGFUL JOURNEY
LONG RUN, MEANINGFUL JOURNEY



























MY PRINCIPLES
MY PRINCIPLES
Pragmatic Programmer
Pragmatic Programmer
Inspired by The Pragmatic Programmer by Andrew Hunt and David Thomas, this manifesto captures the essential principles of pragmatic software development. At its core is the belief that great developers take responsibility for their work—solving problems instead of blaming tools, requirements, or processes. A pragmatic developer understands the broader context: knowing why something is being built is just as important as knowing how. This mindset ensures the creation of adaptable, maintainable, and scalable software that meets real-world needs.
Inspired by The Pragmatic Programmer by Andrew Hunt and David Thomas, this manifesto captures the essential principles of pragmatic software development. At its core is the belief that great developers take responsibility for their work—solving problems instead of blaming tools, requirements, or processes. A pragmatic developer understands the broader context: knowing why something is being built is just as important as knowing how. This mindset ensures the creation of adaptable, maintainable, and scalable software that meets real-world needs.
Writing clean, flexible, and maintainable code is a hallmark of pragmatic programming. Principles like Orthogonality, which promotes separation of concerns, help prevent cascading changes and make systems more robust. Simplicity and readability are valued, as code should first and foremost communicate with humans. A commitment to continuous improvement drives developers to explore new languages, paradigms, and tools. Automating repetitive tasks—such as testing, deployment, and infrastructure setup—not only boosts efficiency but also minimizes errors, allowing developers to focus on problem-solving.
Writing clean, flexible, and maintainable code is a hallmark of pragmatic programming. Principles like Orthogonality, which promotes separation of concerns, help prevent cascading changes and make systems more robust. Simplicity and readability are valued, as code should first and foremost communicate with humans. A commitment to continuous improvement drives developers to explore new languages, paradigms, and tools. Automating repetitive tasks—such as testing, deployment, and infrastructure setup—not only boosts efficiency but also minimizes errors, allowing developers to focus on problem-solving.
Being a problem solver means fully understanding the domain before jumping into code. Pragmatic developers break down complex challenges into manageable parts and iterate toward well-thought-out solutions. Communication also plays a vital role: clear documentation and articulate technical discussion foster collaboration and shared understanding. Testing and refactoring are not afterthoughts but integral parts of development. Writing tests early and often builds confidence in the codebase, while refactoring keeps it healthy and easy to work with over time. Proper version control practices, like meaningful commits and feature branching, support effective collaboration and project management.
Being a problem solver means fully understanding the domain before jumping into code. Pragmatic developers break down complex challenges into manageable parts and iterate toward well-thought-out solutions. Communication also plays a vital role: clear documentation and articulate technical discussion foster collaboration and shared understanding. Testing and refactoring are not afterthoughts but integral parts of development. Writing tests early and often builds confidence in the codebase, while refactoring keeps it healthy and easy to work with over time. Proper version control practices, like meaningful commits and feature branching, support effective collaboration and project management.
Central to all of this is the ETC (Easy to Change) principle—a powerful reminder that software must evolve as business needs, technologies, and user expectations change. Designing for change means avoiding rigidity, where small tweaks ripple across the system, and fragility, where changes cause unexpected bugs. Core design principles such as Encapsulation, Modularity, Abstraction, and DRY (Don't Repeat Yourself) make systems more resilient. Readable, well-formatted code with meaningful names aids future modifications. Coupled with automated testing, frequent refactoring, and a preference for composition over inheritance, these practices ensure that code remains robust, understandable, and ready for whatever comes next.
Central to all of this is the ETC (Easy to Change) principle—a powerful reminder that software must evolve as business needs, technologies, and user expectations change. Designing for change means avoiding rigidity, where small tweaks ripple across the system, and fragility, where changes cause unexpected bugs. Core design principles such as Encapsulation, Modularity, Abstraction, and DRY (Don't Repeat Yourself) make systems more resilient. Readable, well-formatted code with meaningful names aids future modifications. Coupled with automated testing, frequent refactoring, and a preference for composition over inheritance, these practices ensure that code remains robust, understandable, and ready for whatever comes next.

MY PRINCIPLES
MY PRINCIPLES
Shokunin (職人)
Shokunin (職人)
The Shokunin (職人) philosophy, as articulated by Toshio Odate and echoed by figures like Soetsu Yanagi and movements such as the Toyota Production System and the Software Craftsmanship Manifesto, embodies a profound dedication to mastery, moral responsibility, and service through one’s craft. It goes beyond mere work—viewing craftsmanship as a lifelong pursuit guided by integrity, humility, and the intention to benefit others.
The Shokunin (職人) philosophy, as articulated by Toshio Odate and echoed by figures like Soetsu Yanagi and movements such as the Toyota Production System and the Software Craftsmanship Manifesto, embodies a profound dedication to mastery, moral responsibility, and service through one’s craft. It goes beyond mere work—viewing craftsmanship as a lifelong pursuit guided by integrity, humility, and the intention to benefit others.
This mindset is increasingly relevant in disciplines like software engineering, where the ethos of quality and accountability aligns closely with Shokunin values. Shokunin also embrace a deep responsibility to users, teammates, and future developers. Their work must be clear, maintainable, and timeless. This responsibility shapes how Shokunin approach foundational systems—investing in resilience over fleeting trends—and their relationship with tools, which they see not as excuses but as extensions of their skill.
This mindset is increasingly relevant in disciplines like software engineering, where the ethos of quality and accountability aligns closely with Shokunin values. Shokunin also embrace a deep responsibility to users, teammates, and future developers. Their work must be clear, maintainable, and timeless. This responsibility shapes how Shokunin approach foundational systems—investing in resilience over fleeting trends—and their relationship with tools, which they see not as excuses but as extensions of their skill.
Shokunin do not rush to ship; they build to endure, ensuring that every detail serves long-term excellence. This is mirrored in the concept of Kaizen (continuous improvement), where the goal isn't perfection but relentless refinement—in code, process, and self. The principle of precision as a discipline reinforces the refusal to accept mediocrity, insisting that engineering must be both functional and elegant, avoiding brittle, short-sighted systems.
Shokunin do not rush to ship; they build to endure, ensuring that every detail serves long-term excellence. This is mirrored in the concept of Kaizen (continuous improvement), where the goal isn't perfection but relentless refinement—in code, process, and self. The principle of precision as a discipline reinforces the refusal to accept mediocrity, insisting that engineering must be both functional and elegant, avoiding brittle, short-sighted systems.
Finally, the Shokunin way demands humility, mentorship, and a reverence for simplicity. Mastery is incomplete without a willingness to learn and teach—sharing knowledge refines understanding and cultivates future excellence. There is beauty in simplicity, and true craft seeks clarity over complexity. Ultimately, the work never ends; mastery is not a destination but a journey of continuous refinement. Shokunin honor their craft even when unseen, because excellence is its own reward.
Finally, the Shokunin way demands humility, mentorship, and a reverence for simplicity. Mastery is incomplete without a willingness to learn and teach—sharing knowledge refines understanding and cultivates future excellence. There is beauty in simplicity, and true craft seeks clarity over complexity. Ultimately, the work never ends; mastery is not a destination but a journey of continuous refinement. Shokunin honor their craft even when unseen, because excellence is its own reward.
Your Craftsman is Waiting for Your Order
Your Craftsman is Waiting for Your Order
Available Hours: Monday to Friday, 7:30 PM – 10:30 PM
Available Hours: Monday to Friday, 7:30 PM – 10:30 PM

