{"version":1,"pages":[{"id":"aNmOTCiwxOT05jhKClCl","title":"README","pathname":"/how-to-be-a-programmer","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"-M5LubNx7SuRVO7CiQ_h","title":"LANGS","pathname":"/how-to-be-a-programmer/langs","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"-M5LubTaGs69E-HNNigJ","title":"How to be a Programmer: Community Version","pathname":"/how-to-be-a-programmer/en","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"-M5LvUQ2mTpmrLVcAEny","title":"Appendix A - Bibliography/Websiteography","pathname":"/how-to-be-a-programmer/en/5-bibliography","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubTWyOug0scP8TqB","title":"Appendix B - History","pathname":"/how-to-be-a-programmer/en/6-history","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LvUWlvT_rucmWdNvY","title":"Contributions","pathname":"/how-to-be-a-programmer/en/7-contributions","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubOYbft9hORFl1xk","title":"Glossary","pathname":"/how-to-be-a-programmer/en/glossary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubSbQL5RBQL8kSit","title":"Creative Commons Attribution Share-Alike","pathname":"/how-to-be-a-programmer/en/license","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubR61V_Ou9wz7DBD","title":"Summary","pathname":"/how-to-be-a-programmer/en/summary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubYbgiX4gNVMS5lX","title":"1. Beginner","pathname":"/how-to-be-a-programmer/en/1-beginner","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubOIDuhcTpk3xi8d","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"}]},{"id":"-M5LubRlJqPUtvYLcrdG","title":"Learn to Debug","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/01-learn-to-debug","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubPqp08vBRhnBndM","title":"How to Debug by Splitting the Problem Space","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubW6KVC5AcBXYb_F","title":"How to Remove an Error","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/03-how-to-remove-an-error","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubVAzv97iBz6EjAX","title":"How to Debug Using a Log","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/04-how-to-debug-using-a-log","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubSU-GUB8gtyofIW","title":"How to Understand Performance Problems","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/05-how-to-understand-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubTsDc8EZFKi6crs","title":"How to Fix Performance Problems","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/06-how-to-fix-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubX6VYU5PNzRJNOj","title":"How to Optimize Loops","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/07-how-to-optimize-loops","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubPFAbbrFRVL1FSP","title":"How to Deal with I/O Expense","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/08-how-to-deal-with-io-expense","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubRBThixZZw6GYwI","title":"How to Manage Memory","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/09-how-to-manage-memory","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubUB3-5pOZEFjk7J","title":"How to Deal with Intermittent Bugs","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubOHuEcf3_JffuYZ","title":"How to Learn Design Skills","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/11-how-to-learn-design-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubWyVV-sIPOAxzOB","title":"How to Conduct Experiments","pathname":"/how-to-be-a-programmer/en/1-beginner/personal-skills/12-how-to-conduct-experiments","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubOT35QnS5NCtTVa","title":"Team-Skills","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"}]},{"id":"-M5LubXNddDqPjEPPPLc","title":"Why Estimation is Important","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/01-why-estimation-is-important","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubOWUMcmMB0VeOFm","title":"How to Estimate Programming Time","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/02-how-to-estimate-programming-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubROaemJoQ7fYvhK","title":"How to Find Out Information","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/03-how-to-find-out-information","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubRn3-Cy0wf8m8TF","title":"How to Utilize People as Information Sources","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubQbFyNFYQZkDSi1","title":"How to Document Wisely","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/05-how-to-document-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubXVwO_A5rV-kL-O","title":"How to Work with Poor Code","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/06-how-to-work-with-poor-code","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubPGHbyMZCVTr6tt","title":"How to Use Source Code Control","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/07-how-to-use-source-code-control","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubTj1vk-iP2lGhbP","title":"How to Unit Test","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/08-how-to-unit-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubP3DtR3RARkRjRL","title":"Take Breaks when Stumped","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/09-take-breaks-when-stumped","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubXf-NQwgnemGNGQ","title":"How to Recognize When to Go Home","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/10-how-to-recognize-when-to-go-home","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubOSwoE_ehckMMWv","title":"How to Deal with Difficult People","pathname":"/how-to-be-a-programmer/en/1-beginner/team-skills/11-how-to-deal-with-difficult-people","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubPjnltKswzKNWk6","title":"2. Intermediate","pathname":"/how-to-be-a-programmer/en/2-intermediate","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubObW1WknFXsoiTB","title":"Judgment","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"}]},{"id":"-M5LubOaJ6pi-TxpwYW9","title":"How to Tradeoff Quality Against Development Time","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/01-how-to-tradeoff-quality-against-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubQSP78RzEzwKuO0","title":"How to Manage Software System Dependence","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/02-how-to-manage-software-system-dependence","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubYivQCbALr1oc3W","title":"How to Decide if Software is Too Immature","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/03-how-to-decide-if-software-is-too-immature","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubTn-I63OZrdM6mv","title":"How to Make a Buy vs. Build Decision","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/04-how-to-make-a-buy-vs-build-decision","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubTe_FWj3VDwG6h_","title":"How to Grow Professionally","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/05-how-to-grow-professionally","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubWRzCppF717fBSE","title":"How to Evaluate Interviewees","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/06-how-to-evaluate-interviewees","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubSAXeARz3P70aLW","title":"How to Know When to Apply Fancy Computer Science","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/07-how-to-know-when-to-apply-fancy-computer-science","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubTGhEthzFFyrjPi","title":"How to Talk to Non-Engineers","pathname":"/how-to-be-a-programmer/en/2-intermediate/judgment/08-how-to-talk-to-non-engineers","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"b6tvzjGOGlc51wExk6LM","title":"Mentoring","pathname":"/how-to-be-a-programmer/en/2-intermediate/mentoring","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"}]},{"id":"uWMjLgc8LF0OsinRfoK3","title":"How to Be Mentored","pathname":"/how-to-be-a-programmer/en/2-intermediate/mentoring/how-to-be-mentored","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Mentoring"}]},{"id":"qCPvKOteWpR558UprHMx","title":"How to Mentor Others","pathname":"/how-to-be-a-programmer/en/2-intermediate/mentoring/how-to-mentor-others","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Mentoring"}]},{"id":"-M5LubRGmeveCq6B19ib","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"}]},{"id":"-M5LubRYBIhsLHUGD4Kl","title":"How to Stay Motivated","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/01-how-to-stay-motivated","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubTRm617-DkcEE2H","title":"How to be Widely Trusted","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/02-how-to-be-widely-trusted","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubTXhn9p4qP0SkKh","title":"How to Tradeoff Time vs. Space","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/03-how-to-tradeoff-time-vs-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubWUlwbpKFb-IEG2","title":"How to Stress Test","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/04-how-to-stress-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubRFjG5zQUTTNqKy","title":"How to Balance Brevity and Abstraction","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/05-how-to-balance-brevity-and-abstraction","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubRS2GWpi-ghadFL","title":"How to Learn New Skills","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/06-how-to-learn-new-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubTzcqM-533Bcpsu","title":"Learn to Type","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/07-learn-to-type","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubRs6j3WKSCQNXla","title":"How to Do Integration Testing","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/08-how-to-do-integration-testing","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubTEbecgH9HubNdS","title":"Communication Languages","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/09-communication-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubRKN0FgldzCYG8F","title":"Heavy Tools","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/10-heavy-tools","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubXJsVOzl-ayl1dE","title":"How to analyze data","pathname":"/how-to-be-a-programmer/en/2-intermediate/personal-skills/11-how-to-analyze-data","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubR9Xw369uJgCrrM","title":"Team-Skills","pathname":"/how-to-be-a-programmer/en/2-intermediate/team-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"}]},{"id":"-M5LubVy18PUeS6ahHpT","title":"How to Manage Development Time","pathname":"/how-to-be-a-programmer/en/2-intermediate/team-skills/01-how-to-manage-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubSgkkhN7Rlb9qon","title":"How to Manage Third-Party Software Risks","pathname":"/how-to-be-a-programmer/en/2-intermediate/team-skills/02-how-to-manage-third-party-software-risks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubVlXpk4epaZvvLI","title":"How to Manage Consultants","pathname":"/how-to-be-a-programmer/en/2-intermediate/team-skills/03-how-to-manage-consultants","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubR7T80cV-50fBgg","title":"How to Communicate the Right Amount","pathname":"/how-to-be-a-programmer/en/2-intermediate/team-skills/04-how-to-communicate-the-right-amount","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubUQgSMwv_nyr1I2","title":"How to Disagree Honestly and Get Away with It","pathname":"/how-to-be-a-programmer/en/2-intermediate/team-skills/05-how-to-disagree-honestly-and-get-away-with-it","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LvUR62Ce-rRcNE4hi","title":"3. Advanced","pathname":"/how-to-be-a-programmer/en/3-advanced","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubP_HC7QRchUJTw7","title":"Compromising-Wisely","pathname":"/how-to-be-a-programmer/en/3-advanced/compromising-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"}]},{"id":"-M5LubPlIoX_Br7d5TUZ","title":"How to Fight Schedule Pressure","pathname":"/how-to-be-a-programmer/en/3-advanced/compromising-wisely/01-how-to-fight-schedule-pressure","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubSfoZzJMzJa7SNT","title":"How to Understand the User","pathname":"/how-to-be-a-programmer/en/3-advanced/compromising-wisely/02-how-to-understand-the-user","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubPZpVJajB_Gq4Pw","title":"How to Get a Promotion","pathname":"/how-to-be-a-programmer/en/3-advanced/compromising-wisely/03-how-to-get-a-promotion","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubO9OqQ1d_Cc5ylW","title":"Serving-Your-Team","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"}]},{"id":"-M5LubWEYmhwxC74tugO","title":"How to Develop Talent","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/01-how-to-develop-talent","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubVrcurojv3ghFIC","title":"How to Choose What to Work On","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/02-how-to-choose-what-to-work-on","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubTZZXlhQJsVgPD4","title":"How to Get the Most From Your Team-mates","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/03-how-to-get-the-most-from-your-teammates","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubU711PwWl5garVf","title":"How to Divide Problems Up","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/04-how-to-divide-problems-up","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubUWMlqmYV0CHUTe","title":"How to Handle Boring Tasks","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/05-how-to-handle-boring-tasks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubVaApt7gnmRG5aN","title":"How to Gather Support for a Project","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/06-how-to-gather-support-for-a-project","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubPgI3VnIvEamoJX","title":"How to Grow a System","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/07-how-to-grow-a-system","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubQdi6sWFVCLmemd","title":"How to Communicate Well","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/08-how-to-communicate-well","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubWhzdPuNqpX6Fnh","title":"How to Tell People Things They Don't Want to Hear","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/09-how-to-tell-people-things-they-dont-want-to-hear","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubPk67-2o8pPrQCm","title":"How to Deal with Managerial Myths","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/10-how-to-deal-with-managerial-myths","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubO8biMQ1IIaSOWw","title":"How to Deal with Organizational Chaos","pathname":"/how-to-be-a-programmer/en/3-advanced/serving-your-team/11-how-to-deal-with-organizational-chaos","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubP26Pgf9af1Km0G","title":"Technical-Judgment","pathname":"/how-to-be-a-programmer/en/3-advanced/technical-judgment","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"}]},{"id":"-M5LubRoVO3xXs7wG7kX","title":"How to Tell the Hard From the Impossible","pathname":"/how-to-be-a-programmer/en/3-advanced/technical-judgment/01-how-to-tell-the-hard-from-the-impossible","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Technical-Judgment"}]},{"id":"-M5LubP0ymNDM0ice30S","title":"How to Utilize Embedded Languages","pathname":"/how-to-be-a-programmer/en/3-advanced/technical-judgment/02-how-to-utilize-embedded-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Technical-Judgment"}]},{"id":"-M5LubYqyml1F1ugfBGj","title":"Choosing Languages","pathname":"/how-to-be-a-programmer/en/3-advanced/technical-judgment/03-choosing-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Technical-Judgment"}]},{"id":"QHBh0lUiQ3iNzluKYNi0","title":"Cómo ser un Programador: Versión Comunitaria","pathname":"/how-to-be-a-programmer/es","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"ucsTpdgGeKzsjdNlgKbA","title":"Apéndice A - Bibliografía/Sitografía","pathname":"/how-to-be-a-programmer/es/5-bibliography","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"PoTBXrz3fYfjwvlHflep","title":"Apéndice B - Historia","pathname":"/how-to-be-a-programmer/es/6-history","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"ARSpOyAI3wgureUJ2Eox","title":"Contribuciones","pathname":"/how-to-be-a-programmer/es/7-contributions","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"qh94r5lq8mrtLIBcCr4y","title":"Glossary","pathname":"/how-to-be-a-programmer/es/glossary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"tAP3bGxEKv872r8djWKp","title":"Licencia Creative Commons Atribución-CompartirIgual","pathname":"/how-to-be-a-programmer/es/license","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"wTELnwG2LQxA41Vi2Mvn","title":"Resumen","pathname":"/how-to-be-a-programmer/es/summary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"4sDtvLX8TfsCsPSlzXYy","title":"1. Principiante","pathname":"/how-to-be-a-programmer/es/1-beginner","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"rYqX3UGO3nEr2H3Ttez4","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"}]},{"id":"OwSlJxm1Fl1BalfunECR","title":"Aprende a depurar","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/01-learn-to-debug","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"bfu4NnvLMDClz8TV7CtQ","title":"¿Cómo depurar dividiendo el espacio del problema?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"vqXRMbq6T61Ov5u8QwTw","title":"¿Cómo eliminar un error?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/03-how-to-remove-an-error","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"FIt5TMo1vdJBi7V2wZIn","title":"¿Cómo depurar utilizando un registro (Log)?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/04-how-to-debug-using-a-log","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"qOU3fTIXCBUTPjCAm8sc","title":"¿Cómo entender problemas de rendimiento?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/05-how-to-understand-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"xzMSJtNAfvcm3hmAuGVX","title":"¿Cómo solucionar problemas de rendimiento?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/06-how-to-fix-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"924RZjlgCxkRHuzu9jAx","title":"¿Cómo optimizar bucles?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/07-how-to-optimize-loops","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"MjuCILVd4rxtJ4Yko0Z6","title":"¿Cómo manejar el costo de la entrada/salida (E/S)?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/08-how-to-deal-with-io-expense","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"bdQGF8JesYIqAg8xIpIu","title":"¿Cómo gestionar la memoria?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/09-how-to-manage-memory","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"NSlyxpI2kCTmeJJjR5u8","title":"¿Cómo manejar errores intermitentes?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"fhYF9qRuq1X8Itb8wIB0","title":"¿Cómo aprender habilidades de diseño?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/11-how-to-learn-design-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"ZPYOTArYbIoyK51garOn","title":"¿Cómo realizar experimentos?","pathname":"/how-to-be-a-programmer/es/1-beginner/personal-skills/12-how-to-conduct-experiments","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Personal-Skills"}]},{"id":"Su3j27Zy8fFF3UxmNgHG","title":"Team-Skills","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"}]},{"id":"MbYJEQ1SN7XciRfNL18c","title":"¿Por qué es importante la estimación?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/01-why-estimation-is-important","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"fWVc2QO1lJtOPkt9K6Sc","title":"¿Cómo estimar el tiempo de programación?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/02-how-to-estimate-programming-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"XabL5BOiJofLfSezLcQo","title":"¿Cómo encontrar información?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/03-how-to-find-out-information","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"jU69pFZ0nDqVXj7fQEuu","title":"¿Cómo utilizar a las personas como fuentes de información?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"epMAbvV7hlpLbYJxXRO1","title":"¿Cómo documentar de manera inteligente?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/05-how-to-document-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"BEjwAQpOShmSY3GFwWnz","title":"¿Cómo trabajar con un código deficiente?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/06-how-to-work-with-poor-code","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"t4J04tg4DWVHULRohBe3","title":"¿Cómo Utilizar el Control de Código Fuente?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/07-how-to-use-source-code-control","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"fwzrVrcoGwklHAdI9UjD","title":"¿Cómo realizar pruebas unitarias?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/08-how-to-unit-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"jKrWW9MHZrDIgaXqjCpG","title":"Tomarse descansos cuando te sientes bloqueado","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/09-take-breaks-when-stumped","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"MsviiSfJmSZFK3bKW79i","title":"¿Cómo reconocer cuándo es hora de ir a casa?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/10-how-to-recognize-when-to-go-home","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"nHcwe7JsEFhKux7GdxB4","title":"¿Cómo lidiar con personas difíciles?","pathname":"/how-to-be-a-programmer/es/1-beginner/team-skills/11-how-to-deal-with-difficult-people","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"1. Principiante"},{"label":"Team-Skills"}]},{"id":"fpAwnEL6VLvC2BX0AvLW","title":"2. Intermedio","pathname":"/how-to-be-a-programmer/es/2-intermediate","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"hGSBDC4mPL4NaqTsVnHH","title":"Judgment","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"}]},{"id":"BzyvnF5MUQdwqjbzDgSd","title":"¿Cómo equilibrar la calidad contra el tiempo de desarrollo?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/01-how-to-tradeoff-quality-against-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"QBqMN56DejVovMtC1fcQ","title":"¿Cómo gestionar la dependencia del sistema de software?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/02-how-to-manage-software-system-dependence","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"J4v55ORCtof0F8U31MCO","title":"¿Cómo decidir si el software es demasiado inmaduro?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/03-how-to-decide-if-software-is-too-immature","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"rPyMog8EH2piRZQyLXbG","title":"¿Cómo tomar una decisión de compra frente a desarrollo interno?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/04-how-to-make-a-buy-vs-build-decision","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"1CCopgM9FQhiu4FXPaoB","title":"¿Cómo crecer profesionalmente?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/05-how-to-grow-professionally","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"WDSwbG3VdoVR0o2etRUk","title":"¿Cómo evaluar a los candidatos en una entrevista?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/06-how-to-evaluate-interviewees","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"Ax0Ua02hFXkT5cer3VpD","title":"¿Cómo saber cuándo aplicar conceptos avanzados de ciencias de la computación?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/07-how-to-know-when-to-apply-fancy-computer-science","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"zmxF63RjHjP7BczpnQpg","title":"¿Cómo hablar con personas no ingenieras?","pathname":"/how-to-be-a-programmer/es/2-intermediate/judgment/08-how-to-talk-to-non-engineers","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Judgment"}]},{"id":"euFT4p2ZtXV7yS069f5W","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"}]},{"id":"PbBBccJZJtsapnfGpFMR","title":"¿Cómo mantenerse motivado?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/01-how-to-stay-motivated","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"Lhg1vfAjXmDvgZRPGi9t","title":"¿Cómo ser ampliamente confiado?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/02-how-to-be-widely-trusted","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"OO8dOlgDC4TDwBq28C94","title":"¿Cómo hacer equilibrio entre tiempo y espacio?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/03-how-to-tradeoff-time-vs-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"bnGOjMurRzgImUojrq5e","title":"¿Cómo realizar pruebas de resistencia?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/04-how-to-stress-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"81ttXVkvcCI7862Ilyvl","title":"¿Cómo equilibrar brevedad y abstracción?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/05-how-to-balance-brevity-and-abstraction","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"8p9V1hol4INzC19Ah7iA","title":"¿Cómo aprender nuevas habilidades?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/06-how-to-learn-new-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"jGRfz02rLD94DzBjZ9f4","title":"Aprender a escribir","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/07-learn-to-type","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"9VSFviNU1MwYN3jxsa4B","title":"¿Cómo hacer pruebas de integración?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/08-how-to-do-integration-testing","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"fXkcgkTvTtW4wADLzR4L","title":"Idiomas de comunicación","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/09-communication-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"jVHqQQx89Bli57u6gNUq","title":"Herramientas pesadas","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/10-heavy-tools","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"CGqzrSJ3q6xvdiLk4zO5","title":"¿Cómo analizar datos?","pathname":"/how-to-be-a-programmer/es/2-intermediate/personal-skills/11-how-to-analyze-data","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Personal-Skills"}]},{"id":"gUld11PWLUzsqd1LfOGB","title":"Team-Skills","pathname":"/how-to-be-a-programmer/es/2-intermediate/team-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"}]},{"id":"vHFVXgLYB2knzFaX4T0w","title":"¿Cómo gestionar el tiempo de desarrollo?","pathname":"/how-to-be-a-programmer/es/2-intermediate/team-skills/01-how-to-manage-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Team-Skills"}]},{"id":"jHSa7Mogs9DXxQUpOq5P","title":"¿Cómo gestionar los riesgos del software de terceros?","pathname":"/how-to-be-a-programmer/es/2-intermediate/team-skills/02-how-to-manage-third-party-software-risks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Team-Skills"}]},{"id":"iGi79F5CJnnrEn7oUr21","title":"¿Cómo gestionar a los consultores?","pathname":"/how-to-be-a-programmer/es/2-intermediate/team-skills/03-how-to-manage-consultants","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Team-Skills"}]},{"id":"PXziVMHw0vEXKUwcLUzl","title":"¿Cómo comunicar la cantidad adecuada?","pathname":"/how-to-be-a-programmer/es/2-intermediate/team-skills/04-how-to-communicate-the-right-amount","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Team-Skills"}]},{"id":"jOo0t3u6XY8ZnZycVjBt","title":"¿Cómo disentir honradamente y salir airosos?","pathname":"/how-to-be-a-programmer/es/2-intermediate/team-skills/05-how-to-disagree-honestly-and-get-away-with-it","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"2. Intermedio"},{"label":"Team-Skills"}]},{"id":"ZVwHEahyOfiGDUYSNBnt","title":"3. Avanzado","pathname":"/how-to-be-a-programmer/es/3-advanced","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"}]},{"id":"fUyE7JCajM0sVgOUJFjL","title":"Compromising-Wisely","pathname":"/how-to-be-a-programmer/es/3-advanced/compromising-wisely","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"}]},{"id":"f8XYA5PIa3L6So7DqyCx","title":"¿Cómo Combatir la Presión del Cronograma?","pathname":"/how-to-be-a-programmer/es/3-advanced/compromising-wisely/01-how-to-fight-schedule-pressure","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Compromising-Wisely"}]},{"id":"ZnyViPZp9BAN0C49UmAL","title":"¿Cómo Entender al Usuario?","pathname":"/how-to-be-a-programmer/es/3-advanced/compromising-wisely/02-how-to-understand-the-user","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Compromising-Wisely"}]},{"id":"OW8eSbR5l0jqnLpwOyxR","title":"¿Cómo Obtener un Ascenso?","pathname":"/how-to-be-a-programmer/es/3-advanced/compromising-wisely/03-how-to-get-a-promotion","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Compromising-Wisely"}]},{"id":"z27mWQEVlRSfJ7L5h3SV","title":"Serving-Your-Team","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"}]},{"id":"jy2hHDW1EBuxb0a5OXnj","title":"¿Cómo Desarrollar el Talento?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/01-how-to-develop-talent","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"xOIOy5j6vbWns0dqpN8s","title":"¿Cómo Elegir en Qué Trabajar?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/02-how-to-choose-what-to-work-on","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"el6h34S5Kpnh5Uw5kuu7","title":"¿Cómo Obtener lo Mejor de tus Compañeros de Equipo?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/03-how-to-get-the-most-from-your-teammates","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"jMG40pbs9DeC9NWqfA4H","title":"¿Cómo Dividir Problemas?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/04-how-to-divide-problems-up","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"5ChvE9XSqUmbcnHU1osA","title":"¿Cómo Manejar Tareas Aburridas?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/05-how-to-handle-boring-tasks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"iGAUj8CzmNMl6XpWcIrd","title":"¿Cómo Obtener Apoyo para un Proyecto?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/06-how-to-gather-support-for-a-project","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"VRzdElZ3IdS8ClcxvXOd","title":"¿Cómo Hacer Crecer un Sistema?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/07-how-to-grow-a-system","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"eskwAvZIvUxAxU3mtrDB","title":"¿Cómo Comunicarse Bien?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/08-how-to-communicate-well","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"YQCuNBukpIrizacoxH5x","title":"¿Cómo Decir Cosas que la Gente no Quiere Escuchar?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/09-how-to-tell-people-things-they-dont-want-to-hear","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"LmIbKF8y2fYweTt8NbNK","title":"¿Cómo Lidiar con Mitos Gerenciales?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/10-how-to-deal-with-managerial-myths","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"tYP29REko8PBHLJmn4Ro","title":"¿Cómo Lidiar con el Caos Organizacional?","pathname":"/how-to-be-a-programmer/es/3-advanced/serving-your-team/11-how-to-deal-with-organizational-chaos","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Serving-Your-Team"}]},{"id":"M1wzrLLdlK8KqJz8xfz8","title":"Technical-Judgment","pathname":"/how-to-be-a-programmer/es/3-advanced/technical-judgment","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"}]},{"id":"X5aS5sQxdUIVDtszlJ6S","title":"¿Cómo Distinguir lo Difícil de lo Imposible?","pathname":"/how-to-be-a-programmer/es/3-advanced/technical-judgment/01-how-to-tell-the-hard-from-the-impossible","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Technical-Judgment"}]},{"id":"Q3pfvZrIQ1XUrNrkQApD","title":"¿Cómo Utilizar Lenguajes Incorporados?","pathname":"/how-to-be-a-programmer/es/3-advanced/technical-judgment/02-how-to-utilize-embedded-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Technical-Judgment"}]},{"id":"WLw1W9RfehlaaJDsX2ET","title":"Elección de Lenguajes","pathname":"/how-to-be-a-programmer/es/3-advanced/technical-judgment/03-choosing-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Cómo ser un Programador: Versión Comunitaria"},{"label":"3. Avanzado"},{"label":"Technical-Judgment"}]},{"id":"-M5LubSeHJVZohqHYqYu","title":"How to be a Programmer: Community Version","pathname":"/how-to-be-a-programmer/jp","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"-M5LubOhngjoB8zXfha6","title":"Appendix A - Bibliography/Websiteography","pathname":"/how-to-be-a-programmer/jp/5-bibliography","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LvUSg7ldqNQPRBIVZ","title":"Appendix B - History","pathname":"/how-to-be-a-programmer/jp/6-history","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubOZTKZbLKw-4w9F","title":"Contributions","pathname":"/how-to-be-a-programmer/jp/7-contributions","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubXQvNb0daXOH6XW","title":"Glossary","pathname":"/how-to-be-a-programmer/jp/glossary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LvURJdrpfERqq2SQT","title":"Creative Commons Attribution Share-Alike","pathname":"/how-to-be-a-programmer/jp/license","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LvUQ3GdmXV3Y-o3HM","title":"Summary","pathname":"/how-to-be-a-programmer/jp/summary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LvUW4r0kemaW54PTH","title":"1. Beginner","pathname":"/how-to-be-a-programmer/jp/1-beginner","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubQ95v_r59Jz7-Le","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"}]},{"id":"-M5LubQUrC8A7o5aOZi1","title":"Learn to Debug","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/01-learn-to-debug","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubQvXuHt197OewWM","title":"How to Debug by Splitting the Problem Space","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubVK0wt-4bwk4IoF","title":"How to Remove an Error","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/03-how-to-remove-an-error","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubUM0Mh6oJuTro8J","title":"How to Debug Using a Log","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/04-how-to-debug-using-a-log","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubRfQSIL6RhKdEYR","title":"How to Understand Performance Problems","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/05-how-to-understand-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubV81NlIcUCP6OFw","title":"How to Fix Performance Problems","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/06-how-to-fix-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubYeOJubSFkBkk1J","title":"How to Optimize Loops","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/07-how-to-optimize-loops","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubQFkaepgnZ58hix","title":"How to Deal with I/O Expense","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/08-how-to-deal-with-io-expense","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubQ4uHVCZ_B-ZKe-","title":"How to Manage Memory","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/09-how-to-manage-memory","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubTbb_t3yEGDHTp6","title":"How to Deal with Intermittent Bugs","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubXH8JIisaH2ZgJF","title":"How to Learn Design Skills","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/11-how-to-learn-design-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubW00EwPfaTmmZU3","title":"How to Conduct Experiments","pathname":"/how-to-be-a-programmer/jp/1-beginner/personal-skills/12-how-to-conduct-experiments","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Personal-Skills"}]},{"id":"-M5LubO6X-MbWYuDi2kd","title":"Team-Skills","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"}]},{"id":"-M5LubOCQwyFb0DDCkil","title":"Why Estimation is Important","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/01-why-estimation-is-important","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubXShpk6NsvNhrAl","title":"How to Estimate Programming Time","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/02-how-to-estimate-programming-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubSLphWdbX-R-dlQ","title":"How to Find Out Information","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/03-how-to-find-out-information","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubQqqait2i2WB_C4","title":"How to Utilize People as Information Sources","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubPL8tKhM81OjKkv","title":"How to Document Wisely","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/05-how-to-document-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubWK_a5BjOik5YnB","title":"How to Work with Poor Code","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/06-how-to-work-with-poor-code","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubOOUh5yJcfHWYj5","title":"How to Use Source Code Control","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/07-how-to-use-source-code-control","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubT7pCQ35GG935Et","title":"How to Unit Test","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/08-how-to-unit-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubO2byd8ynyODl2l","title":"Take Breaks when Stumped","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/09-take-breaks-when-stumped","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubWXArAc-CpnfHJA","title":"How to Recognize When to Go Home","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/10-how-to-recognize-when-to-go-home","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LubPIPdYYQulg7hJz","title":"How to Deal with Difficult People","pathname":"/how-to-be-a-programmer/jp/1-beginner/team-skills/11-how-to-deal-with-difficult-people","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"1. Beginner"},{"label":"Team-Skills"}]},{"id":"-M5LvUPYIzg0bjbJnkYe","title":"2. Intermediate","pathname":"/how-to-be-a-programmer/jp/2-intermediate","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubPNxms7_3mzxoFc","title":"Judgment","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"}]},{"id":"-M5LubPM-4bI0nW0dePX","title":"How to Tradeoff Quality Against Development Time","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/01-how-to-tradeoff-quality-against-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubRHPjnWvwEHIFUL","title":"How to Manage Software System Dependence","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/02-how-to-manage-software-system-dependence","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubWtONfJRjiewMng","title":"How to Decide if Software is Too Immature","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/03-how-to-decide-if-software-is-too-immature","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubTCtILn5mVNv9-P","title":"How to Make a Buy vs. Build Decision","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/04-how-to-make-a-buy-vs-build-decision","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubUZLABZ0nmEqEXE","title":"How to Grow Professionally","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/05-how-to-grow-professionally","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubYArlkFbBXdT50h","title":"How to Evaluate Interviewees","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/06-how-to-evaluate-interviewees","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubSqAixt0KMqtosV","title":"How to Know When to Apply Fancy Computer Science","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/07-how-to-know-when-to-apply-fancy-computer-science","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubU9V5Oer4xDw9R0","title":"How to Talk to Non-Engineers","pathname":"/how-to-be-a-programmer/jp/2-intermediate/judgment/08-how-to-talk-to-non-engineers","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Judgment"}]},{"id":"-M5LubO-cNzkKi-GmV_i","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"}]},{"id":"-M5LubSVX8y870c-wPjs","title":"How to Stay Motivated","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/01-how-to-stay-motivated","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubSXaGI0mUuru2Xc","title":"How to be Widely Trusted","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/02-how-to-be-widely-trusted","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubUTYOaxeliKqHBn","title":"How to Tradeoff Time vs. Space","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/03-how-to-tradeoff-time-vs-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubVY1k_7AxReW5rp","title":"How to Stress Test","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/04-how-to-stress-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubPhQ3vos4DP49eX","title":"How to Balance Brevity and Abstraction","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/05-how-to-balance-brevity-and-abstraction","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubSOVBQkJ_IW0WhO","title":"How to Learn New Skills","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/06-how-to-learn-new-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubV-GQ4b0mpdkrjn","title":"Learn to Type","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/07-learn-to-type","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubSlLQ4bCC9vHgkp","title":"How to Do Integration Testing","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/08-how-to-do-integration-testing","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubU0YSTh7qPmHnKd","title":"Communication Languages","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/09-communication-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubS4cmJSC2bNvGgC","title":"Heavy Tools","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/10-heavy-tools","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubNyuViFv78NYfcT","title":"How to analyze data","pathname":"/how-to-be-a-programmer/jp/2-intermediate/personal-skills/11-how-to-analyze-data","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Personal-Skills"}]},{"id":"-M5LubS-gNhePhMtMn7-","title":"Team-Skills","pathname":"/how-to-be-a-programmer/jp/2-intermediate/team-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"}]},{"id":"-M5LubUxna62a1h24zSW","title":"How to Manage Development Time","pathname":"/how-to-be-a-programmer/jp/2-intermediate/team-skills/01-how-to-manage-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubRzQhXsLYtHxlgn","title":"How to Manage Third-Party Software Risks","pathname":"/how-to-be-a-programmer/jp/2-intermediate/team-skills/02-how-to-manage-third-party-software-risks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubWell_dLIVgfRfD","title":"How to Manage Consultants","pathname":"/how-to-be-a-programmer/jp/2-intermediate/team-skills/03-how-to-manage-consultants","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubS14AFUioeztJiB","title":"How to Communicate the Right Amount","pathname":"/how-to-be-a-programmer/jp/2-intermediate/team-skills/04-how-to-communicate-the-right-amount","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubVG6pXe7Jb5x7ta","title":"How to Disagree Honestly and Get Away with It","pathname":"/how-to-be-a-programmer/jp/2-intermediate/team-skills/05-how-to-disagree-honestly-and-get-away-with-it","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"2. Intermediate"},{"label":"Team-Skills"}]},{"id":"-M5LubSQrgwg3IIdWGV2","title":"3. Advanced","pathname":"/how-to-be-a-programmer/jp/3-advanced","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"}]},{"id":"-M5LubOfj38cTxX1v7Yd","title":"Compromising-Wisely","pathname":"/how-to-be-a-programmer/jp/3-advanced/compromising-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"}]},{"id":"-M5LubOebJ5IYZ6L24zq","title":"How to Fight Schedule Pressure","pathname":"/how-to-be-a-programmer/jp/3-advanced/compromising-wisely/01-how-to-fight-schedule-pressure","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubS0NN_vEq7rKHn5","title":"How to Understand the User","pathname":"/how-to-be-a-programmer/jp/3-advanced/compromising-wisely/02-how-to-understand-the-user","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubOzj1W2uepW96jx","title":"How to Get a Promotion","pathname":"/how-to-be-a-programmer/jp/3-advanced/compromising-wisely/03-how-to-get-a-promotion","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubOplfFWRZ03qZ5O","title":"Serving-Your-Team","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"}]},{"id":"-M5LubXEEoHy2bpkxJzk","title":"How to Develop Talent","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/01-how-to-develop-talent","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubX9DSe1DO0rCRPM","title":"How to Choose What to Work On","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/02-how-to-choose-what-to-work-on","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubUDL6iKRk0-rFxV","title":"How to Get the Most From Your Team-mates","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/03-how-to-get-the-most-from-your-teammates","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubV1RporT2uF6s9p","title":"How to Divide Problems Up","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/04-how-to-divide-problems-up","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubTlVnYdeYW6Dibg","title":"How to Handle Boring Tasks","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/05-how-to-handle-boring-tasks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubWPqm5fG6ifVHc6","title":"How to Gather Support for a Project","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/06-how-to-gather-support-for-a-project","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubOnIZTkRu4zqtrG","title":"How to Grow a System","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/07-how-to-grow-a-system","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubRqJsByIDYAenp1","title":"How to Communicate Well","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/08-how-to-communicate-well","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubThWczY2gM8DvzG","title":"How to Tell People Things They Don't Want to Hear","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/09-how-to-tell-people-things-they-dont-want-to-hear","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubVv8k3xZ9HTAOZH","title":"How to Tell People Things They Don't Want to Hear","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/09-how-to-tell-people-things-they-dont-want-to-hear-1","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubREQ8dn4WB6iwgD","title":"How to Deal with Managerial Myths","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/10-how-to-deal-with-managerial-myths","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubP5Eip7Vy28XmfS","title":"How to Deal with Organizational Chaos","pathname":"/how-to-be-a-programmer/jp/3-advanced/serving-your-team/11-how-to-deal-with-organizational-chaos","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubOvBGxQ5r5rarb-","title":"Technical-Judgment","pathname":"/how-to-be-a-programmer/jp/3-advanced/technical-judgment","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"}]},{"id":"-M5LubSM80ThUtcCoINe","title":"How to Tell the Hard From the Impossible","pathname":"/how-to-be-a-programmer/jp/3-advanced/technical-judgment/01-how-to-tell-the-hard-from-the-impossible","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Technical-Judgment"}]},{"id":"-M5LubYm6h491ZHQh4zm","title":"How to Utilize Embedded Languages","pathname":"/how-to-be-a-programmer/jp/3-advanced/technical-judgment/02-how-to-utilize-embedded-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Technical-Judgment"}]},{"id":"-M5LubOuAP6k0V4ztODT","title":"Choosing Languages","pathname":"/how-to-be-a-programmer/jp/3-advanced/technical-judgment/03-choosing-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer: Community Version"},{"label":"3. Advanced"},{"label":"Technical-Judgment"}]},{"id":"uCVswhgttcqt8LdLKJM4","title":"Как быть программистом: Community Version","pathname":"/how-to-be-a-programmer/ru","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"23vP9rDvkNyBTlLG8CKJ","title":"Приложение A - Библиография/Список сайтов","pathname":"/how-to-be-a-programmer/ru/5-bibliography","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"sz5JMHzg5YdsAxK8Zz9w","title":"Приложение B - История","pathname":"/how-to-be-a-programmer/ru/6-history","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"rvpvwcE6JcsKFYyWgMRE","title":"Участие в проекте","pathname":"/how-to-be-a-programmer/ru/7-contributions","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"3bi66G8a2sCsFDkvStts","title":"Глоссарий","pathname":"/how-to-be-a-programmer/ru/glossary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"v4cqCsd2JPz0efM1vu7S","title":"Creative Commons Attribution Share-Alike","pathname":"/how-to-be-a-programmer/ru/license","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"C98mRQrkZydikPvJONJY","title":"Содержание","pathname":"/how-to-be-a-programmer/ru/summary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"xPMEEXVzhDm8Ta2xHjV7","title":"1. Начинающий программист","pathname":"/how-to-be-a-programmer/ru/1-beginner","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"IXbHMY3tqL5frjlSOqCX","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"}]},{"id":"j3zvsMmbpvizZRDxOZYx","title":"Научитесь отлаживать","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/01-learn-to-debug","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"cuoBGA6UysrtR3HKVcIq","title":"Как отлаживать, разделяя пространство проблемы","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"HKpst1q6hnINdw1giSsG","title":"Как устранять баги","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/03-how-to-remove-an-error","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"ZBFuNJGsodwWLVvKR4q6","title":"Как отлаживать, используя логи","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/04-how-to-debug-using-a-log","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"kkZGdjpTr4Y6zqRqbcrQ","title":"Как определять проблемы производительности","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/05-how-to-understand-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"TT6xC1P7nhLxq2XzB8ia","title":"Как устранять проблемы производительности","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/06-how-to-fix-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"OLX2ELsVQ5HiMFrvpREi","title":"Как оптимизировать циклы","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/07-how-to-optimize-loops","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"d0DD9WMDusaXaiLMldeq","title":"Как справиться с расходами на операции чтения и записи","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/08-how-to-deal-with-io-expense","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"jdavD0WmnedXVgNwyVaU","title":"Как управлять памятью","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/09-how-to-manage-memory","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"aPilGFkb33bt4cn0ZANG","title":"Как устранять плавающие баги","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"KB7HEKJt5qMdcqH9xOG4","title":"Как научиться проектировать программы","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/11-how-to-learn-design-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"Q0iyGoMeQxs68c0nwoZN","title":"Как экспериментировать","pathname":"/how-to-be-a-programmer/ru/1-beginner/personal-skills/12-how-to-conduct-experiments","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Personal-Skills"}]},{"id":"iBymp9lPnM6ikV6OPeU4","title":"Team-Skills","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"}]},{"id":"EWn52Qv18u2eVZ0oAGoJ","title":"Почему важно оценивать задачи","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/01-why-estimation-is-important","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"DMqCUSkk2ZKykvPLqJlB","title":"Как оценивать время на разработку","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/02-how-to-estimate-programming-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"CfBChNV0VDQcTJ1XnOeW","title":"Как искать информацию","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/03-how-to-find-out-information","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"Kv0eUGprWXPApyc0CoG1","title":"Как спрашивать людей","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"pmwzMFPc3lvkXQjCEvXx","title":"Как документировать правильно","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/05-how-to-document-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"15kcDIytTci47v2Sg4tJ","title":"Как работать с плохим кодом","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/06-how-to-work-with-poor-code","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"PXeH4sigVNy7W1gmaN2d","title":"Как использовать системы контроля версий","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/07-how-to-use-source-code-control","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"EurvOfWH3sE7OiowdvrN","title":"Как писать юнит-тесты","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/08-how-to-unit-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"enqw0ulLDYkNyp1pjkUS","title":"Делайте перерывы, когда вы в тупике","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/09-take-breaks-when-stumped","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"DLYWfid8MkJB2vuGaC7h","title":"Как понять, когда идти домой","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/10-how-to-recognize-when-to-go-home","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"XReL7DPRWni7hRfmWozq","title":"Как вести себя с трудными людьми","pathname":"/how-to-be-a-programmer/ru/1-beginner/team-skills/11-how-to-deal-with-difficult-people","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"1. Начинающий программист"},{"label":"Team-Skills"}]},{"id":"piiPfI3APqcF5eHHCabe","title":"2. Программист среднего уровня","pathname":"/how-to-be-a-programmer/ru/2-intermediate","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"kNzbzLxzkgL95b6HOUTf","title":"Judgment","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"}]},{"id":"tDMFGBbuFsYbDqP29u11","title":"Как балансировать качество и время разработки","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/01-how-to-tradeoff-quality-against-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"lkfmmRUhvmdH9HyjmjxU","title":"Как управлять зависимостями","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/02-how-to-manage-software-system-dependence","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"ngVcMqqCAiLWh9BW3NFy","title":"Как оценивать стороннее программное обеспечение","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/03-how-to-decide-if-software-is-too-immature","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"vvlhRMSbPMTP9ZvSDcj5","title":"Как решить: покупать программу или писать свою","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/04-how-to-make-a-buy-vs-build-decision","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"lhJVhHvRQ64Vr148SSbz","title":"Как расти профессионально","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/05-how-to-grow-professionally","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"rhnCxVJGCLSz7N6ACJz5","title":"Как проводить собеседования","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/06-how-to-evaluate-interviewees","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"VAJ8Hhfu58YLoGnyMsKi","title":"Как понять, когда применять высокие технологии","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/07-how-to-know-when-to-apply-fancy-computer-science","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"o38O8kTm2c9Hp1PE9Gtr","title":"Как разговаривать с неинженерами","pathname":"/how-to-be-a-programmer/ru/2-intermediate/judgment/08-how-to-talk-to-non-engineers","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Judgment"}]},{"id":"3CUsifBa8mVWw1626sTu","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"}]},{"id":"wWnsmmJRpxw01Ox7vs6S","title":"Как сохранять мотивацию","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/01-how-to-stay-motivated","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"JwiXkNOZ1lCUI2lspKoK","title":"Как заслужить доверие","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/02-how-to-be-widely-trusted","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"lly3cKugN7n0BgcYI2YR","title":"Как балансировать процессорное время и память","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/03-how-to-tradeoff-time-vs-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"rCz09foDOBuxZbbhLiJS","title":"Как проводить стресс-тестирование","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/04-how-to-stress-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"k8m57Jxs3E15GVW9g8LG","title":"Как балансировать краткость и абстракцию","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/05-how-to-balance-brevity-and-abstraction","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"ghevHvvJZFSxAYBVy1lO","title":"Как осваивать новые навыки","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/06-how-to-learn-new-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"IZ7vbb1lHKSYBrKBl9p2","title":"Научитесь печатать вслепую","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/07-learn-to-type","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"CwgSekuc8pn2SlWXwm18","title":"Как проводить интеграционное тестирование","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/08-how-to-do-integration-testing","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"nJ9h4NZsx6INXddSuUMU","title":"Языки взаимодействия систем","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/09-communication-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"yklzp7cdNj7vx0d7JO7v","title":"Стандартные технологии","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/10-heavy-tools","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"ojikc67dEqXbD09Ro92E","title":"Как анализировать данные","pathname":"/how-to-be-a-programmer/ru/2-intermediate/personal-skills/11-how-to-analyze-data","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Personal-Skills"}]},{"id":"4WMptZ2alwz7mzuc8NqO","title":"Team-Skills","pathname":"/how-to-be-a-programmer/ru/2-intermediate/team-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"}]},{"id":"f9GdzcF73dY5Ratcckrm","title":"Как управлять временем разработки","pathname":"/how-to-be-a-programmer/ru/2-intermediate/team-skills/01-how-to-manage-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Team-Skills"}]},{"id":"KFqc1pc25EFOLFSY38Ot","title":"Как управлять рисками, связанными со сторонним программным обеспечением","pathname":"/how-to-be-a-programmer/ru/2-intermediate/team-skills/02-how-to-manage-third-party-software-risks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Team-Skills"}]},{"id":"oTTklJlpO8L7h6tHaFrU","title":"Как руководить консультантами","pathname":"/how-to-be-a-programmer/ru/2-intermediate/team-skills/03-how-to-manage-consultants","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Team-Skills"}]},{"id":"ZCpmZ6TS1GZvZPUg5b6n","title":"Как соизмерять количество общения","pathname":"/how-to-be-a-programmer/ru/2-intermediate/team-skills/04-how-to-communicate-the-right-amount","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Team-Skills"}]},{"id":"hGx1RYFb3Ug0Ho7pd0bS","title":"Как честно выражать несогласие","pathname":"/how-to-be-a-programmer/ru/2-intermediate/team-skills/05-how-to-disagree-honestly-and-get-away-with-it","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"2. Программист среднего уровня"},{"label":"Team-Skills"}]},{"id":"5bhkMZF4DqqyYEw2pDW7","title":"3. Продвинутый программист","pathname":"/how-to-be-a-programmer/ru/3-advanced","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"}]},{"id":"FVKVDS9VZZ6guxgedbXK","title":"Compromising-Wisely","pathname":"/how-to-be-a-programmer/ru/3-advanced/compromising-wisely","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"}]},{"id":"TevZhI2X4G3wU81yfogc","title":"Как справляться с давлением графика","pathname":"/how-to-be-a-programmer/ru/3-advanced/compromising-wisely/01-how-to-fight-schedule-pressure","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Compromising-Wisely"}]},{"id":"ixrkAEmv5J2d8xbIYDTJ","title":"Как понять пользователя","pathname":"/how-to-be-a-programmer/ru/3-advanced/compromising-wisely/02-how-to-understand-the-user","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Compromising-Wisely"}]},{"id":"mkuLothjFGrS9cKtKSuY","title":"Как получить повышение","pathname":"/how-to-be-a-programmer/ru/3-advanced/compromising-wisely/03-how-to-get-a-promotion","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Compromising-Wisely"}]},{"id":"THMazly1Eprl9YSsSC48","title":"Serving-Your-Team","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"}]},{"id":"KeJirX8AbplB96TNIfqM","title":"Как развивать таланты","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/01-how-to-develop-talent","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"plk4AwIe8KRuD4w7umkr","title":"Как выбрать, над чем работать","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/02-how-to-choose-what-to-work-on","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"RaybbbBiULhyi4ovGVB4","title":"Как получить наибольшую отдачу от коллег","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/03-how-to-get-the-most-from-your-teammates","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"t4VM8eeZfAa1zFwsvkTV","title":"Как разделять задачи","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/04-how-to-divide-problems-up","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"z8KR1xJZiQtKjmRdS6Ut","title":"Как распределять скучные задания","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/05-how-to-handle-boring-tasks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"WrGciBUounjWC5CPR0MG","title":"Как получить поддержку для проекта","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/06-how-to-gather-support-for-a-project","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"c4Z7JXkjeOD6L07sZiiX","title":"Как развивать систему","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/07-how-to-grow-a-system","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"dVydExKv0HqcnyXEBQx5","title":"Как качественно взаимодействовать","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/08-how-to-communicate-well","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"0ivnakcPcWyfkKdyzvdK","title":"Как сообщать неприятное","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/09-how-to-tell-people-things-they-dont-want-to-hear","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"RwSDkeM8TTub7ZTb9gpu","title":"Как справляться с менеджерскими мифами","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/10-how-to-deal-with-managerial-myths","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"UNqSaLaZ9GHfBEKYobuU","title":"Как справляться с организационным хаосом","pathname":"/how-to-be-a-programmer/ru/3-advanced/serving-your-team/11-how-to-deal-with-organizational-chaos","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Serving-Your-Team"}]},{"id":"VbdUpuJKrlwi2OTvB3tG","title":"Technical-Judgment","pathname":"/how-to-be-a-programmer/ru/3-advanced/technical-judgment","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"}]},{"id":"GCj1m7alSNENcRaNnna9","title":"Как отличить сложное от невозможного","pathname":"/how-to-be-a-programmer/ru/3-advanced/technical-judgment/01-how-to-tell-the-hard-from-the-impossible","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Technical-Judgment"}]},{"id":"jI98hySwszsTBzdACZFy","title":"Как использовать встроенные языки","pathname":"/how-to-be-a-programmer/ru/3-advanced/technical-judgment/02-how-to-utilize-embedded-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Technical-Judgment"}]},{"id":"UWX08VlFwOe1Xf1ES0ae","title":"Выбор языка программирования","pathname":"/how-to-be-a-programmer/ru/3-advanced/technical-judgment/03-choosing-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"Как быть программистом: Community Version"},{"label":"3. Продвинутый программист"},{"label":"Technical-Judgment"}]},{"id":"ETLFMX5R7nXVnKtdg6Oc","title":"How to be a Programmer 中文版","pathname":"/how-to-be-a-programmer/zh-traditional","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"2ksc1souyHNBDKBM5HUp","title":"词汇表","pathname":"/how-to-be-a-programmer/zh-traditional/4-glossary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"YSMwzIyS8yUWoY1pudCK","title":"附录 A - 书目/网站目录","pathname":"/how-to-be-a-programmer/zh-traditional/5-bibliography","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"RmbMmDvk3l4Nuaa1aEgB","title":"附录 B - 历史","pathname":"/how-to-be-a-programmer/zh-traditional/6-history","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"tJ4cv4QbULpJRi8BU3nK","title":"Contributions","pathname":"/how-to-be-a-programmer/zh-traditional/7-contributions","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"MmOWbEQetJlkFco1lcJM","title":"Creative Commons Attribution Share-Alike","pathname":"/how-to-be-a-programmer/zh-traditional/license","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"Y3COrwPRU7tAodw9thUJ","title":"How to be a Programmer 正體中文版","pathname":"/how-to-be-a-programmer/zh-traditional/summary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"8L7XcZMrq3sxmMJ5iOjJ","title":"1. 入门","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"bjCTkzpiKG1zhqVXFuu3","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"}]},{"id":"jhfIFevkAbO1UMOQvCt3","title":"學習除錯","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/01-learn-to-debug","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"1ahsUEE6nTwsInbgknCu","title":"如何通过分割问题 Debug","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"s2yAO9cWk1ifcub4i0Sg","title":"如何移除一个错误","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/03-how-to-remove-an-error","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"CXhwjymSUdNY5nob4EdP","title":"如何使用日志调试","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/04-how-to-debug-using-a-log","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"jcLUJUjcikZckIRuKuBz","title":"如何理解性能问题","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/05-how-to-understand-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"9Fh329XlEbkQdZj8tAbP","title":"如何修复性能问题","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/06-how-to-fix-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"7kR2fVr6iWNPSbc7xS6p","title":"如何优化循环","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/07-how-to-optimize-loops","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"XZzsXBMUrjEDlp81cEAA","title":"如何处理I/O代价","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/08-how-to-deal-with-io-expense","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"tFUIvyBFkXqIhqdii5Z2","title":"如何管理内存","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/09-how-to-manage-memory","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"cF4GUYxcXobXXVmKC84C","title":"如何处理偶现的 Bugs","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"54ftC4dtSD8NKEhKsU5C","title":"如何学习设计技能","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/11-how-to-learn-design-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"9X3X4tnhBjhBk06KLnXs","title":"如何进行实验","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/personal-skills/12-how-to-conduct-experiments","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"n5KDIbEy4rPgKZiVO669","title":"Team-Skills","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"}]},{"id":"c86LBeJaWgO174mdBNuL","title":"为什么评估很重要","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/01-why-estimation-is-important","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"ohKGSjUNgSNFp7nvGIsB","title":"如何评估编程时间","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/02-how-to-estimate-programming-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"LtRAmARl0LgSJkG4JRTx","title":"如何发现信息","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/03-how-to-find-out-information","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"919Kqz024c9I0eyYMu20","title":"如何把人们作为信息源","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"a4s5zviOHaeYiB65u3vj","title":"如何睿智地写文档","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/05-how-to-document-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"L99W3qV7zZD3KK7QTg0b","title":"如何在糟糕的代码上工作","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/06-how-to-work-with-poor-code","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"pwgg1RoCT918aHz0MkGo","title":"如何使用源代码控制","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/07-how-to-use-source-code-control","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"Mx68r3dvuCKU1SMnVuGx","title":"如何进行单元测试","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/08-how-to-unit-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"7zkxsjedbw3CNnXGx83o","title":"毫无头绪？，休息一下","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/09-take-breaks-when-stumped","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"QeDSZUGIiDgof4u38DjE","title":"如何识别下班时间","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/10-how-to-recognize-when-to-go-home","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"nH3lv8lPS1vN17I65vv3","title":"如何与不好相处的人相处","pathname":"/how-to-be-a-programmer/zh-traditional/1-beginner/team-skills/11-how-to-deal-with-difficult-people","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"dC61l9zwRex4oWV9OinT","title":"2. 进阶","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"TXbwLBPurrFsaNEtKARk","title":"Judgment","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"}]},{"id":"V2eMsbnDQ0AdhmnrskOC","title":"如何在开发质量与开发时间权衡","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/01-how-to-tradeoff-quality-against-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"RNlHes7ERnEpZGtJViDA","title":"如何管理软件系统依赖","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/02-how-to-manage-software-system-dependence","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"RFrtE7vkIQ8jK5gcZuo3","title":"如何判断软件是否太不成熟了","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/03-how-to-decide-if-software-is-too-immature","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"ZhauI74jvhrLWaubGMP5","title":"如何做购买还是构建的决定","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/04-how-to-make-a-buy-vs-build-decision","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"QPlscbrH2tLQmARp7lge","title":"如何专业地成长","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/05-how-to-grow-professionally","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"s0Q7NBdF8wjw1HbLaHbA","title":"如何评估面试者","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/06-how-to-evaluate-interviewees","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"TRer0Kxnyp8goMONI9tp","title":"如何决定什么时候使用奇妙的计算机科学","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/07-how-to-know-when-to-apply-fancy-computer-science","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"X6hTnln0ouWjf7aoD4Mm","title":"如何与非工程师交谈","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/judgment/08-how-to-talk-to-non-engineers","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"rRDFO6CiucJpSK5IcNa8","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"}]},{"id":"C1WzwgSZsPFsAratm5xg","title":"如何保持活力","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/01-how-to-stay-motivated","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"y1GmEIJRUok1B99GViX9","title":"如何被广泛信任","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/02-how-to-be-widely-trusted","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"ae9FTYSp1Okx6AsFBsMH","title":"如何在时间与空间权衡","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/03-how-to-tradeoff-time-vs-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"Ckq1rzAO1Vb8r1YKPHnE","title":"如何进行压力测试","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/04-how-to-stress-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"iLnMBo1GQQGkj1Uv1EhW","title":"如何在简洁与抽象间平衡","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/05-how-to-balance-brevity-and-abstraction","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"MAU5P3se5IY2DFf1ow3g","title":"如何学习新技能","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/06-how-to-learn-new-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"kcqtBuuXjhsvS95eBiOQ","title":"学会打字","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/07-learn-to-type","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"kOLgJ69Wl7H9HWlcjtho","title":"如何做集成测试","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/08-how-to-do-integration-testing","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"phbUKJ2eJzWwkoBOfM57","title":"交流语言","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/09-communication-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"pret149OHrwhXRtM2055","title":"重型工具","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/10-heavy-tools","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"ZC1WbDkNFqAESucqSnzz","title":"如何分析数据","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/personal-skills/11-how-to-analyze-data","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"ELQYsryfX0fnwSNKM2eJ","title":"Team-Skills","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/team-skills","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"}]},{"id":"fWUUCL0kkrmaDISrBpxk","title":"如何管理开发时间","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/team-skills/01-how-to-manage-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"mCghz1aPIez3gui5CVMe","title":"如何管理第三方软件危机","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/team-skills/02-how-to-manage-third-party-software-risks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"xVKY3g4hPVy1A026jrop","title":"如何管理咨询师","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/team-skills/03-how-to-manage-consultants","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"v9cJm64x1fiEtxrRg87k","title":"如何适量交流","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/team-skills/04-how-to-communicate-the-right-amount","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"tFo8j4xKcgYET4i9dznw","title":"如何直言异议以及如何避免","pathname":"/how-to-be-a-programmer/zh-traditional/2-intermediate/team-skills/05-how-to-disagree-honestly-and-get-away-with-it","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"e5TUcWZaxEsyCrgqdU1r","title":"3. 高级","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"BsOAqL1qwU8SibPVDV85","title":"Compromising-Wisely","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/compromising-wisely","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"}]},{"id":"Yjd69Pvf58Wlm0HfutvK","title":"如何与时间压力做斗争","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/compromising-wisely/01-how-to-fight-schedule-pressure","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Compromising-Wisely"}]},{"id":"E1bFjCdlvV3N4ekXQ6y9","title":"如何理解用户","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/compromising-wisely/02-how-to-understand-the-user","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Compromising-Wisely"}]},{"id":"G98hkbPGvRYZNGEbfcYX","title":"如何获得晋升","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/compromising-wisely/03-how-to-get-a-promotion","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Compromising-Wisely"}]},{"id":"GqkMdN6l3it0q7xQBrxM","title":"Serving-Your-Team","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"}]},{"id":"nXMafaiXoBjGDGtFKUFL","title":"如何发展才能","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/01-how-to-develop-talent","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"Cvh0wMNkfUrhA4Prm86s","title":"如何选择工作的内容","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/02-how-to-choose-what-to-work-on","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"cebtENYuXCPgu61kSLHI","title":"如何让你队友的价值最大化","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/03-how-to-get-the-most-from-your-teammates","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"dtObg0w1mf78ZdzkCrq6","title":"如何划分问题","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/04-how-to-divide-problems-up","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"cEdb1kahw7IA9nu6D07l","title":"如何处理无聊的任务","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/05-how-to-handle-boring-tasks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"ZWA3WBJDKwvGXyn3bcwi","title":"如何为工程获取支持","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/06-how-to-gather-support-for-a-project","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"NmxFdJN7PiIVvABdIyaK","title":"如何发展一个系统","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/07-how-to-grow-a-system","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"1YEs6JXTJPckAiXH8FZJ","title":"如何有效地沟通","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/08-how-to-communicate-well","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"RoJWc1r5zDLt0kbE8AaR","title":"如何告诉人们他们不想听的东西","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/09-how-to-tell-people-things-they-dont-want-to-hear","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"RGqCP4p22HIeyEWEKYYm","title":"如何处理管理神话","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/10-how-to-deal-with-managerial-myths","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"PSoHxqt6GRrj3nvkXmbs","title":"如何处理组织混乱","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/serving-your-team/11-how-to-deal-with-organizational-chaos","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"iDMQ55J25SBEjiMxAEE6","title":"Technical-Judgment","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/technical-judgment","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"}]},{"id":"Ez7xPvAi7LdUL3jof22V","title":"如何从不可能中找到困难的部分","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/technical-judgment/01-how-to-tell-the-hard-from-the-impossible","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Technical-Judgment"}]},{"id":"XSo6WmEvB8msjBfzC4lG","title":"如何使用嵌入型语言","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/technical-judgment/02-how-to-utilize-embedded-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Technical-Judgment"}]},{"id":"NCvAurRIHXirbOtZXsV4","title":"选择语言","pathname":"/how-to-be-a-programmer/zh-traditional/3-advanced/technical-judgment/03-choosing-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Technical-Judgment"}]},{"id":"-M5LubUpxBsSKtelhJz6","title":"How to be a Programmer 中文版","pathname":"/how-to-be-a-programmer/zh","siteSpaceId":"sitesp_eZpUR","description":""},{"id":"-M5LubSSu6P8gUTWTY-n","title":"词汇表","pathname":"/how-to-be-a-programmer/zh/4-glossary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubR_ksiW_z-YP2kI","title":"附录 A - 书目/网站目录","pathname":"/how-to-be-a-programmer/zh/5-bibliography","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubRJ5lpjWQo7yEYJ","title":"附录 B - 历史","pathname":"/how-to-be-a-programmer/zh/6-history","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"Z6LAbGNLHFKhGP6sjByh","title":"Contributions","pathname":"/how-to-be-a-programmer/zh/7-contributions","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubPQIsIKLq3Ypqrf","title":"Creative Commons Attribution Share-Alike","pathname":"/how-to-be-a-programmer/zh/license","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubONeSCuZPZrioV6","title":"How to be a Programmer 中文版","pathname":"/how-to-be-a-programmer/zh/summary","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubVVts7Z6mxAeYDv","title":"1. 入门","pathname":"/how-to-be-a-programmer/zh/1-beginner","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubOQG_k77oBR02tp","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"}]},{"id":"-M5LubSyNEtc9zfcK141","title":"学会 Debug","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/01-learn-to-debug","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubOPoHjeNCJsb2zF","title":"如何通过分割问题 Debug","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/02-how-to-debug-by-splitting-the-problem-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubYVmf2FtyDvVhhn","title":"如何移除一个错误","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/03-how-to-remove-an-error","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubX0tXSwvp2JDSQh","title":"如何使用日志调试","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/04-how-to-debug-using-a-log","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubTpgE658ctYbW9H","title":"如何理解性能问题","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/05-how-to-understand-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubSkqFdNwsLnIzgb","title":"如何修复性能问题","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/06-how-to-fix-performance-problems","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubVLcNnfwksuiDYS","title":"如何优化循环","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/07-how-to-optimize-loops","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubXqrKCo1Vq1kIMA","title":"如何处理I/O代价","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/08-how-to-deal-with-io-expense","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubSc4PwshnU_OTxM","title":"如何管理内存","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/09-how-to-manage-memory","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubW2vLGiiIGi6qEA","title":"如何处理偶现的 Bugs","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/10-how-to-deal-with-intermittent-bugs","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubQ0XwnA0S8VXefm","title":"如何学习设计技能","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/11-how-to-learn-design-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubO_hfXIvsBZY9pn","title":"如何进行实验","pathname":"/how-to-be-a-programmer/zh/1-beginner/personal-skills/12-how-to-conduct-experiments","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Personal-Skills"}]},{"id":"-M5LubP9uSMHnuxQwhbx","title":"Team-Skills","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"}]},{"id":"-M5LubVjfdEAkN55vxSk","title":"为什么评估很重要","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/01-why-estimation-is-important","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubQK9OtzbmJvM287","title":"如何评估编程时间","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/02-how-to-estimate-programming-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubPOw1kmvmNYphpx","title":"如何发现信息","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/03-how-to-find-out-information","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubSw2ktlK1GDE9pR","title":"如何把人们作为信息源","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/04-how-to-utilize-people-as-information-sources","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubS7rS_4g8dQcCsd","title":"如何睿智地写文档","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/05-how-to-document-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubP7hy4LREXaRh-H","title":"如何在糟糕的代码上工作","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/06-how-to-work-with-poor-code","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubQyPH_QWnU2HMhF","title":"如何使用源代码控制","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/07-how-to-use-source-code-control","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubVQGcXfLu5a6_ui","title":"如何进行单元测试","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/08-how-to-unit-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubR4Dy8VKSRnjjZb","title":"毫无头绪？，休息一下","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/09-take-breaks-when-stumped","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubPDMxzC1oU8uism","title":"如何识别下班时间","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/10-how-to-recognize-when-to-go-home","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubWoNh3rm7nknnCG","title":"如何与不好相处的人相处","pathname":"/how-to-be-a-programmer/zh/1-beginner/team-skills/11-how-to-deal-with-difficult-people","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"1. 入门"},{"label":"Team-Skills"}]},{"id":"-M5LubXCRdPzvUetjX4s","title":"2. 进阶","pathname":"/how-to-be-a-programmer/zh/2-intermediate","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubOVfbDNsoVO5LR1","title":"Judgment","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"}]},{"id":"-M5LubX34LkCm8Y900ST","title":"如何在开发质量与开发时间权衡","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/01-how-to-tradeoff-quality-against-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubOUhEMErGVO-8Zh","title":"如何管理软件系统依赖","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/02-how-to-manage-software-system-dependence","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubPP4mfz8d8WjScN","title":"如何判断软件是否太不成熟了","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/03-how-to-decide-if-software-is-too-immature","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubVSE3-GtrMEATX1","title":"如何做购买还是构建的决定","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/04-how-to-make-a-buy-vs-build-decision","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubSRqehGpIt7OlFZ","title":"如何专业地成长","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/05-how-to-grow-professionally","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubUrK7qCM2ioz4Aa","title":"如何评估面试者","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/06-how-to-evaluate-interviewees","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubQkmmgVm20QImo1","title":"如何决定什么时候使用奇妙的计算机科学","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/07-how-to-know-when-to-apply-fancy-computer-science","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubRxIy1rwdcVZ5jP","title":"如何与非工程师交谈","pathname":"/how-to-be-a-programmer/zh/2-intermediate/judgment/08-how-to-talk-to-non-engineers","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Judgment"}]},{"id":"-M5LubOL5gp26VDJCa5e","title":"Personal-Skills","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"}]},{"id":"-M5LubQBAMy7VKpSV3p8","title":"如何保持活力","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/01-how-to-stay-motivated","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubUcuHctHfnBcbU8","title":"如何被广泛信任","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/02-how-to-be-widely-trusted","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubS3wKEvMYWnMI1K","title":"如何在时间与空间权衡","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/03-how-to-tradeoff-time-vs-space","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubOKEYFykSxmxENS","title":"如何进行压力测试","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/04-how-to-stress-test","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubS_3sinqLr8OVJ8","title":"如何在简洁与抽象间平衡","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/05-how-to-balance-brevity-and-abstraction","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubPYAVos7lWzEOGQ","title":"如何学习新技能","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/06-how-to-learn-new-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubSniMOV3BuyBAbP","title":"学会打字","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/07-learn-to-type","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubQMY-tiOUWvviO-","title":"如何做集成测试","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/08-how-to-do-integration-testing","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubRvN7edw0vXFGKu","title":"交流语言","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/09-communication-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubPKWVJl0SmXM7Eg","title":"重型工具","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/10-heavy-tools","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubVotmJBnY4h83tm","title":"如何分析数据","pathname":"/how-to-be-a-programmer/zh/2-intermediate/personal-skills/11-how-to-analyze-data","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Personal-Skills"}]},{"id":"-M5LubPBmdtrNwOFOUHs","title":"Team-Skills","pathname":"/how-to-be-a-programmer/zh/2-intermediate/team-skills","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"}]},{"id":"-M5LubYRqAD1A5mI8rTa","title":"如何管理开发时间","pathname":"/how-to-be-a-programmer/zh/2-intermediate/team-skills/01-how-to-manage-development-time","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"-M5LubU2lCic-GXSDlgw","title":"如何管理第三方软件危机","pathname":"/how-to-be-a-programmer/zh/2-intermediate/team-skills/02-how-to-manage-third-party-software-risks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"-M5LubTxH0s_YIO1A_mG","title":"如何管理咨询师","pathname":"/how-to-be-a-programmer/zh/2-intermediate/team-skills/03-how-to-manage-consultants","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"-M5LubPAmIIieaa2A3tH","title":"如何适量交流","pathname":"/how-to-be-a-programmer/zh/2-intermediate/team-skills/04-how-to-communicate-the-right-amount","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"-M5LubStCETpfZe-d_L9","title":"如何直言异议以及如何避免","pathname":"/how-to-be-a-programmer/zh/2-intermediate/team-skills/05-how-to-disagree-honestly-and-get-away-with-it","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"2. 进阶"},{"label":"Team-Skills"}]},{"id":"-M5LubPflvIpOS11NYKb","title":"3. 高级","pathname":"/how-to-be-a-programmer/zh/3-advanced","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"}]},{"id":"-M5LubRddRmhE3bBeeM2","title":"Compromising-Wisely","pathname":"/how-to-be-a-programmer/zh/3-advanced/compromising-wisely","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"}]},{"id":"-M5LubRjfgF84hwox741","title":"如何与时间压力做斗争","pathname":"/how-to-be-a-programmer/zh/3-advanced/compromising-wisely/01-how-to-fight-schedule-pressure","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubTuzb1GwpweVLsr","title":"如何理解用户","pathname":"/how-to-be-a-programmer/zh/3-advanced/compromising-wisely/02-how-to-understand-the-user","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubRbpaD57Fwcx7m_","title":"如何获得晋升","pathname":"/how-to-be-a-programmer/zh/3-advanced/compromising-wisely/03-how-to-get-a-promotion","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Compromising-Wisely"}]},{"id":"-M5LubOEv0x0eB6Vyik2","title":"Serving-Your-Team","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"}]},{"id":"-M5LubUfvvJ2D7SmQD2H","title":"如何发展才能","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/01-how-to-develop-talent","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubUF855gU05w-0qM","title":"如何选择工作的内容","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/02-how-to-choose-what-to-work-on","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubS6G-Y8gy3Aj2Po","title":"如何让你队友的价值最大化","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/03-how-to-get-the-most-from-your-teammates","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubSivITtOL15hX_N","title":"如何划分问题","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/04-how-to-divide-problems-up","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubWBujNoxJOiEzLy","title":"如何处理无聊的任务","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/05-how-to-handle-boring-tasks","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubU4rBCnEjrAVOpQ","title":"如何为工程获取支持","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/06-how-to-gather-support-for-a-project","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubRQHi_Uwf9ERA6T","title":"如何发展一个系统","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/07-how-to-grow-a-system","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubOdYLRAEP9RrQKy","title":"如何有效地沟通","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/08-how-to-communicate-well","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubOXx2YHb1D1onbJ","title":"如何告诉人们他们不想听的东西","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/09-how-to-tell-people-things-they-dont-want-to-hear","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubODJ-bhI93NUCqN","title":"如何处理管理神话","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/10-how-to-deal-with-managerial-myths","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubWMTytoBeIoVG63","title":"如何处理组织混乱","pathname":"/how-to-be-a-programmer/zh/3-advanced/serving-your-team/11-how-to-deal-with-organizational-chaos","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Serving-Your-Team"}]},{"id":"-M5LubPVrJEPYIELqmUd","title":"Technical-Judgment","pathname":"/how-to-be-a-programmer/zh/3-advanced/technical-judgment","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"}]},{"id":"-M5LubPRCdZDpqpl2C1E","title":"如何从不可能中找到困难的部分","pathname":"/how-to-be-a-programmer/zh/3-advanced/technical-judgment/01-how-to-tell-the-hard-from-the-impossible","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Technical-Judgment"}]},{"id":"-M5LubQgsuOJnhPWHFD1","title":"如何使用嵌入型语言","pathname":"/how-to-be-a-programmer/zh/3-advanced/technical-judgment/02-how-to-utilize-embedded-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Technical-Judgment"}]},{"id":"-M5LubWH8sKbucciLYJG","title":"选择语言","pathname":"/how-to-be-a-programmer/zh/3-advanced/technical-judgment/03-choosing-languages","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"How to be a Programmer 中文版"},{"label":"3. 高级"},{"label":"Technical-Judgment"}]},{"id":"125DN7HQqjEN5m3kKmGF","title":"2-Intermediate","pathname":"/how-to-be-a-programmer/2-intermediate","siteSpaceId":"sitesp_eZpUR"},{"id":"sAYaIVQWHecgK2o5V66k","title":"Judgment","pathname":"/how-to-be-a-programmer/2-intermediate/judgment","siteSpaceId":"sitesp_eZpUR","breadcrumbs":[{"label":"2-Intermediate"}]},{"id":"wEWBLpaoKq4BWwQEZJJw","title":"Design Patterns","pathname":"/how-to-be-a-programmer/2-intermediate/judgment/09-design-patterns","siteSpaceId":"sitesp_eZpUR","description":"","breadcrumbs":[{"label":"2-Intermediate"},{"label":"Judgment"}]}]}