A software engineer with about 7 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, and Node)
  • - Databases (Mysql, Postgres)
  • - Technical Writing
  • - Open Source
T.
10.August 2024

I thoroughly enjoyed my session with Ridwan Kasim, which I found to be incredibly beneficial. I'm now feeling fully prepared to tackle my upcoming interview with confidence. Thank you very much, sir, for arranging this valuable opportunity.

A.
10.August 2024

I had an intriguing and interesting session. I had the best of mentoring session so far. He explained what is needed to be know and understood about Backend Engineering. Thanks for your time

B.
28.July 2024

I had a wonderful session with Ridwan. I aimed to get a roadmap for transitioning from a QA Engineer to a Backend Engineer, and the session was incredibly insightful. Ridwan gave me valuable recommendations and even provided helpful materials. It was a successful session and an amazing kickstart for my journey. I'm excited to put what I've learned into practice. Thank you for this fantastic opportunity!

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

You need to be logged in to schedule a session with this mentor. Please sign in here or create an account.

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
The Software Engineer's Guidebook
Gergely Orosz

Key Insights from "The Software Engineer's Guidebook" Exploration of different roles within software engineering: The book provides a comprehensive understanding of various positions within the software engineering spectrum. Insight into the software development lifecycle (SDLC): Orosz deep dives into different stages of SDLC, including planning, creating, testing, and deploying software. Understanding diverse programming languages: The book presents a detailed study of various programming languages and their applications. Practical tips on coding and debugging: Practical advice on writing clean, maintainable code and debugging techniques are discussed. Importance of collaboration and communication: The book underscores the significance of teamwork and effective communication within a software engineering team. Advice on career progression: Orosz provides guidance on how to progress in a software engineering career, from junior to senior roles and beyond. Understanding software architecture: The book presents an overview of different software architectures and their use cases. Emphasizing continuous learning: The importance of staying updated with the latest technologies and trends in software engineering is highlighted. Discussion on testing methodologies: Various testing strategies and methodologies are thoroughly discussed. Introduction to Agile and Scrum methodologies: The book introduces Agile and Scrum methodologies, emphasizing their role in today's software development process. An In-Depth Look at "The Software Engineer's Guidebook" "The Software Engineer's Guidebook" by Gergely Orosz is a comprehensive resource that provides a wide-ranging overview of the software engineering discipline. Starting with an exploration of different roles within software engineering, the book provides a clear understanding of the various positions one can occupy in the field. It offers valuable insights into the roles and responsibilities of software developers, architects, project managers, and quality assurance engineers, among others. This section is particularly beneficial for those starting their careers in software engineering, as it allows them to understand the broad spectrum of opportunities available to them. Orosz then delves into the software development lifecycle (SDLC), a fundamental framework that describes the stages involved in the creation and delivery of software products. The book covers each phase of the SDLC, including planning, analysis, design, implementation, testing, deployment, and maintenance. Understanding the SDLC is crucial for any software engineer as it offers a structured approach to software development, ensuring high-quality, reliable, and efficient products. As a professor dealing with software engineering topics for many years, I find Orosz's detailed study of various programming languages particularly useful. He presents an overview of different languages, their syntax, applications, and how they can be utilized in various development scenarios. The book also provides practical tips on coding and debugging, emphasizing the importance of writing clean, maintainable code. Debugging is a critical skill every software engineer needs to master, and Orosz's advice on effective debugging techniques is invaluable. Orosz underscores the importance of collaboration and communication within a software engineering team. In a field often considered as highly technical and individualistic, the emphasis on teamwork and interpersonal skills is refreshing and much needed. I have always believed that a successful software engineer is not only technically proficient but also effective in communication and collaboration, and Orosz's book echoes this sentiment. One of the highlights of the book is its advice on career progression. The book provides guidance on how to navigate from junior to senior roles and beyond, making it a valuable resource for those looking to advance their careers in software engineering. The understanding of software architecture is another critical area that Orosz covers in his book. He provides an overview of different software architectures, their advantages, disadvantages, and use cases. This knowledge is vital for software engineers as it helps them design efficient, scalable, and maintainable software systems. Orosz emphasizes continuous learning in his book, highlighting the importance of staying updated with the latest technologies, trends, and best practices in software engineering. In a rapidly evolving field like software engineering, continuous learning is not just an asset but a necessity. The book's discussion on testing methodologies is comprehensive and insightful. It covers various testing strategies, including unit testing, integration testing, system testing, and acceptance testing, among others. Understanding these methodologies is crucial for ensuring the reliability and quality of software products. Finally, Orosz introduces Agile and Scrum methodologies, emphasizing their role in modern software development processes. Agile and Scrum have become increasingly popular in recent years due to their focus on flexibility, collaboration, and customer satisfaction. Understanding these methodologies is vital for any software engineer working in today's fast-paced, customer-centric software development environment. In conclusion, "The Software Engineer's Guidebook" by Gergely Orosz is a comprehensive and valuable resource for anyone pursuing a career in software engineering. It covers a wide range of topics, from basic programming concepts to advanced software development methodologies, making it a must-read for both beginners and experienced professionals. As a professor dealing with these topics for many years, I highly recommend this book to my students and anyone else interested in software engineering.

View