About
A mechanical engineer turned software professional and a passionate open source advocate. I have 4+ years experience in the industry, with most of my undertakings being in the aerospace/ mechanical domain. This unique skillset has given me quite a rare exposure in the industry. And thanks to this, I have experience in software design, development, stress analysis, code review et al.
Whenever I am involved in a project I try to follow some good practices such as:
- Simplicity: The system should always be as simple and small as possible. When software projects grow, so do errors and bugs. Techniques such as line-by-line inspection of software, relevant unit testing, and physical examination of hardware that implements protection mechanisms are great. For such techniques to be successful a small and simple design is essential. This is sometimes described as the KISS principle and YAGNI.
- Least privilege: Each user and program should operate using the fewest privileges possible.
- Open design: In order for a system to be secure it must never depend on attacker ignorance. Instead the design should be based upon technology that depend upon public scrutiny - whenever possible.
- Complete mediation: Every access attempt must be checked and validated.
- Easy to use: The human interface must be as easy and intuitive to use as possible. Easy and simple is always better than smart and fancy. Simple user testing is a great way to get valuable feedback.
- Documentation: Lacking or inadequate documentation is a bug. Everything needs to be adequately documented from the very beginning, it is an integral part of software development.
Note
I am not on any social media, and you can't find me there. I do have a GitHub account, but rarely find the opportunity to commit my stuff, also I will be migrating to a personal git server in near future. In case, you are looking to hire me or would just like to get in touch, kindly write to me[contact @ domain of this site].