A software engineer with about 6 years of industry work experience. I have a bachelor's degree in computer and information sciences. I am a sound PHP developer with relevant knowledge in at least 2 of its frameworks; Laravel and Codeigniter. I enjoy converting mockup designs on the front end using HTML, CSS, JavaScript, TailwindCSS, jQuery, Bootstrap, Alpine.js, Angular, and Vue.js. Familiar with the development of cross-platform mobile development using the Ionic framework, Angular, and Capacitor. Able to effectively self-manage during independent projects and collaborate as part of a productive team. I am available to mentor beginners who are interested in knowing more about web development, backend, API building and best practices.

My Mentoring Topics

  • - API Development
  • - Backend (PHP & Laravel)
  • - Databases (Mysql, Postgres)
  • - Technical Writing
  • - Open Source
I.
21.October 2023

Thank you very much. I am grateful for all the advice and encouragement you have given me..

R.
27.September 2023

My session with Mr. Ridwan Kasim today was very educative, another eye opener, and very helpful in elevating the way I structure my code. It has also helped me moved a step closer to my end goal. I really like and enjoy the fact that he is gentle and rakes his time when he is mentoring me.

E.
27.September 2023

I learned how to use git and GitHub today it was fun

R.
16.September 2023

I really enjoyed my session. It was an eye opener session that was also filled with guidance. Looking forward to my next session with Mr, Ridwan Kasim.

E.
11.September 2023

I have learned a lot today on how to style CSS and how to name projects it was really fun

E.
26.August 2023

It was superb and fun I really enjoyed the session

Clean Code - A Handbook of Agile Software Craftsmanship
Robert C. Martin

Key Insights from Clean Code - A Handbook of Agile Software Craftsmanship The importance of writing clean code and its impact on software maintenance and scalability. The principles of SOLID design: Single Responsibility, Open-Closed, Liskov Substitution, Interface Segregation, and Dependency Inversion. How to correctly use comments in code and when to avoid them. The significance of meaningful names for variables, functions, classes, and modules. The concept of functions: how they should be small, do one thing, and do it well. The art of error handling and the importance of throwing meaningful exceptions. The principles of Test Driven Development (TDD) and the importance of writing tests first. The importance of keeping the codebase clean through continuous refactoring. The idea of code smells and how to identify them. How to manage system dependencies to ensure loose coupling. Analysis and Summary of the Book "Clean Code - A Handbook of Agile Software Craftsmanship" is a comprehensive guide that provides a deep dive into the principles and practices of writing clean, readable, and maintainable code. The book is grounded in the author's deep experience and understanding of software development and its challenges. The book opens with an emphasis on the importance of writing clean code. It asserts that code quality is a fundamental aspect of software development that directly impacts the maintenance, scalability, and overall health of software projects. It argues that code is read far more often than it is written, making readability a key quality attribute. The book introduces the SOLID design principles, a set of guidelines for object-oriented design and architecture. These principles aid in the development of software that is easy to manage and maintain, with a focus on avoiding code smells, reducing complexity, and improving readability. Comments are a double-edged sword. While they can provide important context and explanation, the book argues that they are often used as a crutch to justify complex or confusing code. Comments should not replace clear and concise code. Naming conventions are another crucial aspect of clean code. The book explains the importance of choosing meaningful and descriptive names for variables, functions, classes, and modules. Names should convey intent and make the code self-documenting. The book also provides detailed guidance on how to write functions. Functions should be small, do one thing, and do it well. This aligns with the Single Responsibility Principle, one of the SOLID principles. Error handling is another key topic. The book stresses the importance of throwing meaningful exceptions and managing errors in a consistent and predictable manner. It also covers Test Driven Development (TDD), a software development process that promotes writing tests before writing the actual code. TDD helps in ensuring that the code is working as expected and leads to modular, flexible, and bug-free code. The book emphasizes the need for continuous refactoring to keep the codebase clean. Refactoring is not just about rewriting code; it’s about improving the design of existing code while preserving its functionality. Code smells are certain structures in the code that suggest the possibility of a deeper problem. They are indicators of poor design and coding practices that need to be refactored. The book concludes with a discussion on how to manage system dependencies to ensure loose coupling, which makes systems more manageable and less prone to bugs. In summary, "Clean Code - A Handbook of Agile Software Craftsmanship" is a must-read for any serious software developer or engineer. It goes beyond teaching specific techniques or practices, instead instilling a mindset and philosophy towards writing code that is clean, understandable, and maintainable. To master the art of writing clean code, one must not only understand these principles but also incorporate them into their daily coding practice.

View