About Me

As a passionate software developer with extensive experience in Python, Scala, Rust, and Go, I thrive on solving complex problems and building scalable, efficient solutions. My journey in programming has allowed me to work on a diverse range of projects, from backend systems and APIs to machine learning models and high-performance applications. With a solid foundation in algorithms, data structures, and distributed systems, I excel at designing solutions that are both innovative and reliable. You can explore my open-source contributions and projects on my GitHub profile: HERE.

I take pride in writing clean, maintainable code that adheres to industry best practices, ensuring that my solutions are not only effective but also sustainable in the long term. My proficiency in multiple programming languages enables me to adapt to different project requirements, whether it’s building microservices with Go, optimizing performance with Rust, or leveraging the flexibility of Python and Scala for data-intensive tasks. I am always seeking new challenges that allow me to push the boundaries of my knowledge and grow as a developer.

What sets me apart is my commitment to continuous learning and collaboration. I am an active contributor to the open-source community and constantly stay up-to-date with the latest technologies and industry trends. Whether it’s through pair programming, code reviews, or leading a project, I thrive in collaborative environments where innovation and quality are prioritized. If you’re looking for a developer who can deliver impactful results and drive your project forward, let’s connect!

The Needs for a Body of Ethics

Society does not yet understand just how dependent it is on software. The point at which they will is when something bad happens, probably some programmer does something stupid and gets people killed. When the event occurs, politicians will rise and try to do something about it, probably some regulation, i.e legislate. Tell us what languages we have to use, what frameworks we have to use, what books we must read, what certifications we will require.

In order to be prepared for this eventuality we need a set of ethics, codes of conduct, a professional ethic. It is what the doctors,engineers, et.al professionals did.

I subscribe to The Scribes Oath as proposed by Robert C Martin (Clean Code):

The Oath:
In order to defend and honor the profession of computer programming
I promise that:

1. I will not produce harmful code.

2. The code that I produce will always be my best work.

3. I will provide with each release a quick, sure, and repeatable proof that
   every element of the code works as it supposed to.

4. I will make frequent small releases, I will not impede progress.

5. I will fearlessly and relentlessly improve the code at every opportunity,
   I will never make the code worse.

6. I will keep productivity mine and that of my team high, I will do nothing
   that decreases that productivity.

7. I will continuously ensure that others can cover for me and that I can
   cover for them.

8. I will produce estimates that are honest both in magnitude and precision,
   I will not make promises without certainty.

9. I will never stop learning and improving my craft.
Writing clean code is what you must do in order to call yourself a professional.
There is no reasonable excuse for doing anything less than your best.

I have found the following books to be essential reading for any programmer.

  • “The Clean Coder: A code of conduct for professional programmers” by Robert C Martin
  • “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C Martin
  • “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” by Robert C Martin
  • “The Pragmatic Programmer” by Andrew Hunt and David Thomas
  • “Design Patterns: Elements of Reusable Object-Oriented Software” by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides (Gang of Four)
  • “Structure and Interpretation of Computer Programs” by Harold Abelson and Gerald Jay Sussman
  • “Code Complete: A Practical Handbook of Software Construction” by Steve McConnell
  • “The Mythical Man-Month: Essays on Software Engineering” by Frederick P. Brooks
  • “The Art of Computer Programming” by Donald E. Knuth
  • “Algorithms to Live By: The Computer Science of Human Decisions” by Brian Christian and Tom Griffiths
  • “Refactoring: Improving the Design of Existing Code” by Martin Fowler