Robert L. Read with Community
Copyright 2002, 2003, 2016 Robert L. Read
Licensed under Creative Commons Attribution-ShareAlike 4.0 International License.
##�͂��߂� �ǂ��v���O���}�ɂȂ邱�Ƃ͓���A���M�ł��B�\�t�g�E�F�A�v���W�F�N�g�̎����I�ȃr�W���������������ł���������́A�������ڋq���������Ƃł��B�R���s���[�^�v���O�������������Ƃ͏d�v�ł����A�D�ꂽ�m���ƃX�L�����K�v�Ƃ��܂��B�������A���ۂɎq���̗V�тł����̂́A�ǂ��v���O���}���A�ڋq�ƕ����I�ɐӔC�����閳���̓����̗����̂��߂ɐ��������\�t�g�E�F�A�V�X�e�������邽�߂ɕK�v�Ȃ��Ƃł��B���̃G�b�Z�C�ł́A21�̂Ƃ��ɒN�������ɐ����������������Ƃ���\�Ȍ����Ȍ��ɂ܂Ƃ߂悤�Ƃ��Ă��܂��B
�����͔����Ɏ��ϓI�Ȃ��̂ł����A���������āA���̘_���͌�l�I�ŁA�����̈ӌ��������ĉ^���Â������܂��B���̓v���O���}�������̎d���Œ��ʂ��Ȃ����Ȃ��Ȃ���\�������������Ɏ������g�����肵�Ă��܂��B�������̖����̑����Ƃ��̉������̑����͐l�Ԃ̏��Ԃɔ����Ɉ��ʓI�Ȃ��̂ł����A�����炭���͐����͂������悤�Ɍ����܂��B�����ɂ��������炸�A���͂��̃G�b�Z�C���𗧂���Ƃ������Ă��܂��B
�R���s���[�^�v���O������O�̓R�[�X�ŋ��������܂��B�D�ꂽ�{�FPragmatic Programmer [Prag99]�ACode Complete [CodeC93]�ARapid Development [RDev96]�AExtreme Programming Explained [XP99]�͂��ׂăR���s���[�^�v���O������O�ƗD�ꂽ�v���O���}�[�ł����Ƃ����傫�Ȗ����������Ă��܂��B�|�[���E�O���n���iPGSite�j�ƃG���b�N�E���C�����h[�n�b�J�[]�̃G�b�Z�C�́A���̋L���̑O�ɁA�܂��͂��̋L���ƂƂ��ɓǂނׂ��ł��B���̃G�b�Z�C�́A�Љ��������������A�K�v�ȃX�L���S�̂���I�ɗv�邱�Ƃɂ����āA�������̗D�ꂽ���i�Ƃ͈قȂ��܂��B
���̃G�b�Z�C�ł́A�{�X�Ƃ������t�́A���Ȃ��������v���W�F�N�g�������l���w���̂Ɏg�p�����܂��B���̓r�W�l�X�A���ЁA�����Ƃ������t�`���Ƃ��Ďg���Ă��܂����A�r�W�l�X�͂������������Ƃ��Î����܂����A���Ђ͌����̐E�����Î����A�����͈��ʓI�ɂ��Ȃ��������S���������l�X�ł��B
�����ւ悤�����B
- Beginner
- Personal Skills
- Learn to Debug
- How to Debug by Splitting the Problem Space
- How to Remove an Error
- How to Debug Using a Log
- How to Understand Performance Problems
- How to Fix Performance Problems
- How to Optimize Loops
- How to Deal with I/O Expense
- How to Manage Memory
- How to Deal with Intermittent Bugs
- How to Learn Design Skills
- How to Conduct Experiments
- Team Skills
- Why Estimation is Important
- How to Estimate Programming Time
- How to Find Out Information
- How to Utilize People as Information Sources
- How to Document Wisely
- How to Work with Poor Code
- How to Use Source Code Control
- How to Unit Test
- Take Breaks when Stumped
- How to Recognize When to Go Home
- How to Deal with Difficult People
- Personal Skills
- Intermediate
- Personal Skills
- Team Skills
- Judgment
- How to Tradeoff Quality Against Development Time
- How to Manage Software System Dependence
- How to Decide if Software is Too Immature
- How to Make a Buy vs. Build Decision
- How to Grow Professionally
- How to Evaluate Interviewees
- How to Know When to Apply Fancy Computer Science
- How to Talk to Non-Engineers
- Advanced
- Technological Judgment
- Compromising Wisely
- Serving Your Team
- How to Develop Talent
- How to Choose What to Work On
- How to Get the Most From Your Team-mates
- How to Divide Problems Up
- How to Handle Boring Tasks
- How to Gather Support for a Project
- How to Grow a System
- How to Communicate Well
- How to Tell People Things They Don't Want to Hear
- How to Deal with Managerial Myths
- How to Deal with Organizational Chaos
- Glossary
- Appendix A - Bibliography/Websiteography
- Appendix B - History (As of January 2016)
- Appendix C - Contributions (As of January 2016)
How To Be A Programmer: Community Version by Robert L. Read with Community is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.