The Clean Code Developer Grades
|Note: Draft Translation|
Clean Code Developer is not something, that you simply are, but what you become. The issue is not about to learn a few rules by heart, but the
CCD-value system to really internalize. That takes time and practice. Therefore we have the CCD system of values divided into steps that we as developers climb one by one. However, we see the entire process as a circle: all grade who edited starts all over again.
Each stage is assigned a color. And who is to be as Clean Code Developer works on a stage, wearing a
bracelet CCD as a sign of his will, it. Unlike in budo sport the color is not reached one degree, but the work in progress.
0th Degree: Black Grade
The
degree black has anyone who has not yet been made on the road. A black bracelet indicates why only that one is interested in CCD. You can wear it if it is satisfied for the first real level, not all conditions.
1st Degree: Red Grade
The real way to Clean Code Developer starts with the
degree red. With the red level is where the practice exercise. It therefore contains only elements of the CCD system of values, which are absolutely indispensable. The entry should be as light as possible. At this stage it is therefore not so much about software engineering principles, rather than to build a fundamental attitude to software development and Clean Code Developer.
2nd Degree: Orange Grade
Having been created in the red level, the foundations for the process of continuous improvement is there in the
oranges degrees about some fundamental principles in the Code apply and gain first experiences with the agent No. 1 for the increase in productivity: the automation of processes. Since only the correct code is good code, is used to automate the testing accuracy. So it's not a nice-to-have feature of code, but its essence.
3rd Degree: Yellow Grade
The
degree yellow is all about automated tests. At the orange level was still on the attachable external integration tests. For them, not necessarily an infringement of the code was necessary. From the yellow level, however, is not without more tests under the surface. And not only that, you want to test the smallest possible units, not only functional punctures. This means a change in coding practice, because otherwise you can deliver the classes are not isolated, ie independent review of services used. Therefore, the yellow level includes object-oriented principles, because only with them is a replacement of code to be tested by his "underground" is possible.
4th Degree: Green Grade
In
degree green we continue with the automation. Which is simply the key to productivity and responsiveness. Only when a maximum number of tasks are automated in software development, the CCD can concentrate on the essentials: the implementation of customer requirements. Without automation, the development is otherwise often little things - that takes time. Correctness testing and release are then more punishment than a means to success. Following the automation of the tests but the production is now on the plan. Developers to test code at the workplace is one thing. To translate it successfully on an independent computer and test another. Only then can you find more or less subtle dependencies of the individual developer workstations. This practice is then garnished with further principles for structuring code and a tool for better architecture.
5th Degree: Blue Grade
The
degree blue it goes into the final stretch of the CCD system of values. Automation is another step towards further. After translating and testing the deployment is now on the program. Above all, it goes in the blue degrees but now to aspects of software development tools, code and beyond: CCD worry not only about good structures in the small, but they are planning from the outset in the large. It is about architecture. Since we are aware that no plan can define a perfect solution, does not belong only to architecture but also for software development in general an appropriate process model. The process is iterative and should be practiced while working on the blue level now.
6th Degree: White Grade
In the
degree white come together all the principles, rules and practices. Are included as all the colors in white light, so the white contains all other grade levels. At the level of whiteness, a CCD is effective only when he has the whole CcdWertesystem constantly in view. This makes clear
Hoc bong du hoc Du hoc Singapore that work only really advanced software developer with several years experience in an appropriate environment and with the white level can.
Degrees of Importance
The degrees express no value. Who works at the blue level is not "better" or "continue" as someone who works at the orange level. The grades are just a teaching tool, to make the whole system of values "easily digestible". The many components can be simply learn better in small chunks, as in a start.
Therefore, it is also important to us that any interested party begins with the red level. For didactic reasons, it is the best place to start - even if it means, but it would put even in the daily work of other values. Because regardless of the current project practice, it is certainly new, so consciously deal with principles and practices. In particular, the daily reflection on practice is not likely. Them in the context of "simple" to practice blocks, is then the red level.
Although we understand that tick off everyone who sees the
value system for the first time, wants what he had heeded them, this is ultimately irrelevant. The deliberate practice in the context of the value system is still new - and should be one who thinks that he "deserve" is actually the white level, start at the red level. It's just not Happen to "merit", but iterations and small. Degrees are peepholes on the big picture.
Who was the first
bracelet ordered to order, so the best red bracelet.
Training
The
value system and the blocks may look stiff, as if chiseled in stone. That it is not. There is always only provisionally, until we or the community feels that something should be changed. Much more in flux, however, is the world of tools and materials to which the value system is applied. Programming languages, IDEs, frameworks, platforms, servers are constantly changing, come to fall away. The trend is what might be known and potentially skillfully always more, much more. Previously, it was well served with a programming language and its standard library. Today this is not enough for a long time.
Since professionalism means to make informed decisions, the CCD is no choice but to retrain constantly. Probably the software development sector with even the biggest need for this. Aspects of training are therefore components of several degrees (
Orange Yellow green). We want to make it clear that training is always an issue, but just needs to follow a trend. From 0 to 100 for the training in a degree is not possible. Not only software development takes practice, and the training to be learned.
In the grades but it's just different forms of training (reading, networking, publishing). How much time should spend a CCD for them, they do not pretend. The reason for this is in our view, not form-specific. Training should be independent of the form constitute at least 20% of work time.
Yes, we mean honest. 20% of working time should be training time. Per 5-day week then 1 day only for the training. Nothing less. Google before making that works: "This means that each employee may spend 20 percent of its work with projects that have nothing to do directly with his task that is not controlled.." | Source]: Interview with Northern Europe boss Phillip Schindler Google's Hamburger Abendblatt, 7.11.2007)
20% sounds very much yet. But fear not, training is not so bad for him to pay her. Because some training is not what one associates first order:
- Training is not a holiday
- Training is not an absence from work
- Training does not mean that no benefit will be donated to projects
- Training does not necessarily need a high budget for training or software
Education means freedom, especially for error. Put another way: While 20% of work is a professional software developer should have no fear of making mistakes. This means, in extreme cases, that the 20% have no direct benefit to a project. Compare the training exercise with the life of a musician. Perform on stage, the musicians, as far as possible without error. To keep his skills at the same level or even improve, a musician must practice, however. This error is expressly permitted, no development would be possible otherwise. We therefore need two different "modes".
Only on the basis of such margin for error, it's about how that could be filled. The only claim of possible contents should be that a reference to the work is recognizable. Who uses the 20% margin for the private online real estate search in sports or corporate fitness center, forms are not really gone.
Examples of training topics are:
- Study of technical publications (online / offline, blog / journal / book / video)
- Try it on what is read
- Visit of special events (training, conference, community event)
- Publication own expertise
- In corporate media (eg, project wiki)
- On public platforms (blog, journal, book, conference)
Whether reading, experiments and publications directly related to a project are, is secondary. You may or may not. A CCD can evaluate a technology with a view to the corporate project or just for general interest. Benefits for the project is in two (!) Cases. Once directly, once indirectly. Because any knowledge of a technology or process, though the use of the project is not yet foreseeable, expands the horizon, making its experienced, option-rich.
Information for decision makers: developers who continuously provide continuous form, a value; they do have an experienced, innovative and flexible. This is your products.
Note to software developers: those who will continue is valuable. He is gaining experience that is not nailed down in a niche that does not make any attack for hype. This is for the "employability".
Exercises in Practice
Clean code to be developer time. We believe that it is done for each degree with not less than 21 days. For 21 days (or 3 weeks) - so says the psychology - people need in order to integrate new or general changes in habits as in their lives.
Who is working on a CCD level, should therefore proceed as follows: On the evening of each working day of the CCD reflects on whether he has complied with the principles of his degree (and below). If so, he retains the bracelet on the arm where it is. If not, it changes the bracelet but on the other arm! This is important because the act of changing to make the developer aware that he is and what principles he still needs to better internalize.
Once a developer has worked on a stage then 21 days without changing the bracelet, he can see the degree as mastered, progress to the next and his band of stripes.
Of course there is no formal control, if really one day while all the principles have been respected. We make it so the honesty and the CCD is a developer community towards prey, about to judge the best of our knowledge and belief. Since there is no degree of "better" or "worse" than another, it's worth cheating anyway. We assume that developers who have mastered the white level to begin again at the red level. They demonstrate their belief that software development is continuous learning.
Google Translate for my:SearchesVideosEmailPhoneChatBusiness
About Google TranslateTurn off instant translationPrivacyHelp