In my career, I have written many scripts, web applications, automated scripts when completing projects whether for my clients or for learning purposes. While writing these tools I have seen the power of software and how they impact human lives. Software literally changes the world! It brings revolutionary changes with each new inventions. Unfortunately the way it can have a positive impact on human lives, it can also have negative impact as well. I’m concerned about the negative effects even though sometimes it could be unintentional. In this article I’m going to discuss about my work ethics and, I’m going to make promises so that codes that I produce don’t have negative impact on other lives…
I will only work on things that don’t conflicts with my ethics. I will always try my best to act consistently with the public interest including the best interests of my clients. And, I will always be honest and forthright about my limitation of experience and education.
I believe in honesty and truthfulness. I won’t take projects that I believe unethical. I will not write code that helps others to cheat. I will try my best to make sure that my code doesn’t violate user’s privacy.
I’ll try my best to justify the trust that my clients put on me and I will deliver the best solution possible within the given time. As always, I care a lot about the things I build or, code that I write, and will extend that same care to the scripts or application that I write for my clients.
I accept the fact that whether it is due to the human biases I mentioned above or, due to any unintentional reasons my codes may contain errors in it. Sometimes errors might add unavoidable costs i.e. to implement work around or, writing it from scratch. Unfortunately, I might make mistakes as mistakes are part of life. Sometimes I might have technical limitations as any projects that involves solving specific problems has many phases such as research, plan, implementation. Hence, I might not get the adequate time required to research to find the best possible solutions due to strict time constraints. I might have to make a trade off of time between these phases to meet client’s expectation of delivering within the estimated time.
Even though, I always focus on writing secure and error free codes, my codes still may have security vulnerabilities that I’m not aware of. For the worst case security vulnerabilities may lead to compromising sensitive data!
With that said, I would like to let you know that I always try my best to keep myself up to date with latest security trends. I have a keen interest in security research and often suggest security improvements to my clients if I notice one (even if it is not part of my contract I will at least let them know about it)
I will not produce harmful code.
The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate.
I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.
I will make frequent, small, releases so that I do not impede the progress of others.
I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.
I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.
I will continuously ensure that others can cover for me, and that I can cover for them.
I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty
I will never stop learning and improving my craft.
An Introvert with Exception!