Our technical services
Why clean coding?
Training description
The training presents the principles, conventions and practices used for writing clean and maintainable code. It starts by presenting an overview of the SOLID principles and of the boyscout mindset ('keeping the campground cleaner than we found it'), which translates to programming by continuously improving the quality of our code.
Training objectives
- Learn the principles, practices, conventions and guidelines used to write clean code.
- Learn the software tools that can help us maintain a cleaner and maintainable code.
- Learn how to write your code in a clean manner and how to refactor it into a cleaner code.
Training curricula
- Clean coding overview - why, how
- Naming considerations - packages, classes
- Classes - types, interactions
- Methods - naming, sizing, structure
- Exception handling
Online courses - webinars, downloadable and watchable videos
We will soon be offering the possibility for you to attend our courses in an online mode, as live webinars and downloadable/watchable videos. As we’re constantly working towards better understanding your needs and the way our services can fit them, we kindly ask you to tell us your preferences by filling our survey. We appreciate your feedback and any other additional information you can provide.
Training duration
- The specified duration is our minimum recommended duration, which allows us to work on a few examples together with the participants. For more thorough practice, greater hands-on experience and added use-case analyses, we recommend that our customers allocate at least 20-30% more time for the training.
- In order to maximize the percentage of information retained after a training session, we advise our customers to schedule training sessions of 4 or (at most) 6 hours per day. Based on our experience, training sessions of 7-8 hours per day are less efficient in regard to the retained information.
Theoretical, practical and Q&A components
Based on our experience, the preference for more theoretical discussions, Q&A sessions and/or more practical dialogues is directly influenced by the attendees' experience; more exactly:
- More experienced developers usually prefer to do less hands-on examples and to dedicate the training session to seeing some demos/examples presented by the trainer, followed by a series of discussions on use-cases and best practices
- Less experienced developers usually prefer to do more hands-on examples, as it helps them to better understand the presented topics.
Given these preferences, we highly recommend our clients to consider the following aspects:
- The experience of the training attendees should be measured to ensure that all the attendees will benefit from the presented topics in an equal manner.
- The training sessions structure should be tailored based on the attendees experience and practice preference - during the training sessions or after.
- The training sessions duration and structure is less influenced by the number of participants and more influenced by their experience and theory/practice preference.
As a general recommendation, the sessions attended by less experienced developers should be at least 20-30% longer, to allow more hands-on practice and Q&A sessions.
Training recommendations
For an increased retention and comprehension rate, we have the following recommendations for the training participants:
- Participants should attend the training sessions with a laptop, so they can run the examples that the trainer presents and then implement the small assigned tasks.
- If the participants do not wish to run the exercises, we recommend they take notes on the newly-learned topics to make sure they will retain the information.
- We highly encourage the participants to provide feedback for the trainers, as this will further help us to improve our training sessions.
Training followup
Our training sessions are designed to provide the knowledge needed in a given topic. In order to upgrade the acquired knowledge into practical skills, we recommend participants continue the training with a series of mentoring and coaching sessions. You can read more details about these sessions on our "Mentoring" page.
Who are the trainers?
We are a small team of expert software developers and architects that has a strong background in software development and architecture, team/project management and training delivery. You can find out more about our team on the "About" page.