본문 바로가기

개발자

프로그래머가 되는 방법 : 짧고 폭넓고 개인적인 요약. 목차 링크

반응형





프로그래머에게 전설적인 문서로 일독하면 개발자로 살기에 아주 좋을것이다. 목차 링크를 걸어두고 원문은 아래 링크로 연결한다'


전체 원문 출처 : https://wiki.kldp.org/wiki.php/HowToBeAProgrammer 



How to be a Programmer: A Short, Comprehensive, and Personal Summary


프로그래머가 되는 방법: 짧고 폭넓고 개인적인 요약.



번역 처로 강창기



Copyright © 2002, 2003 Robert L. Read


Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with one Invariant Section being 'History (As of May, 2003)', no Front-Cover Texts, and one Back-Cover Text: 'The original version of this document was written by Robert L. Read without renumeration and dedicated to the programmers of Hire.com.' A copy of the license is included in the section entitled 'GNU Free Documentation License'.


목차

Contents

 [-]
1. 도입
2. 초보자
2.1. 개인적 기능들
2.1.1. 디버그 배우기
2.1.2. 문제 공간을 나눠서 디버그 하는 방법
2.1.3. 오류를 제거하는 방법
2.1.4. 로그를 이용해서 디버그 하는 방법
2.1.5. 성능 문제를 이해하는 방법
2.1.6. 성능 문제를 해결하는 방법
2.1.7. 반복문을 최적화하는 방법
2.1.8. I/O 비용을 다루는 방법
2.1.9. 메모리를 관리하는 방법
2.1.10. 가끔씩 생기는 버그를 다루는 방법
2.1.11. 설계 기능을 익히는 방법
2.1.12. 실험을 수행하는 방법
2.2. 팀의 기능들
2.2.1. 시간 추정이 중요한 이유
2.2.2. 프로그래밍 시간을 추정하는 방법
2.2.3. 정보를 찾는 방법
2.2.4. 사람들을 정보의 원천으로 활용하는 방법
2.2.5. 현명하게 문서화하는 방법
2.2.6. 형편없는 코드를 가지고 작업하기
2.2.7. 소스 코드 제어 시스템을 이용하는 방법
2.2.8. 단위별 검사를 하는 방법
2.2.9. 막힐 때는 잠깐 쉬어라
2.2.10. 집에 갈 시간을 인지하는 방법
2.2.11. 까다로운 사람들과 상대하는 방법
3. 중급자
3.1. 개인적 기능들
3.1.1. 의욕을 계속 유지하는 방법
3.1.2. 널리 신뢰받는 방법
3.1.3. 시간과 공간 사이에서 균형을 잡는 방법
3.1.4. 압박 검사를 하는 방법
3.1.5. 간결성과 추상성의 균형을 잡는 방법
3.1.6. 새로운 기능을 배우는 방법
3.1.7. 타자 연습
3.1.8. 통합 검사를 하는 방법
3.1.9. 의사소통을 위한 용어들
3.2. 팀의 기능들
3.2.1. 개발 시간을 관리하는 방법
3.2.2. 타사 소프트웨어의 위험 부담을 관리하는 방법
3.2.3. 컨설턴트를 관리하는 방법
3.2.4. 딱 적당하게 회의하는 방법
3.2.5. 무리 없이 정직하게 반대 의견을 내는 방법
3.3. 판단 능력
3.3.1. 개발 시간에 맞춰 품질을 조절하는 방법
3.3.2. 소프트웨어 시스템의 의존성을 관리하는 방법
3.3.3. 소프트웨어의 완성도를 판단하는 방법
3.3.4. 구입과 개발 사이에서 결정하는 방법
3.3.5. 전문가로 성장하는 방법
3.3.6. 면접 대상자를 평가하는 방법
3.3.7. 화려한 전산 과학을 적용할 때를 아는 방법
3.3.8. 비기술자들과 이야기하는 방법
4. 상급자
4.1. 기술적 판단 능력
4.1.1. 어려운 것과 불가능한 것을 구분하는 방법
4.1.2. 내장 언어를 활용하는 방법
4.1.3. 언어의 선택
4.2. 현명하게 타협하기
4.2.1. 작업 일정의 압박과 싸우는 방법
4.2.2. 사용자를 이해하는 방법
4.2.3. 진급하는 방법
4.3. 팀을 위해 일하기
4.3.1. 재능을 개발하는 방법
4.3.2. 일할 과제를 선택하는 방법
4.3.3. 팀 동료들이 최대한 능력을 발휘하게 하는 방법
4.3.4. 문제를 나누는 방법
4.3.5. 따분한 과제를 다루는 방법
4.3.6. 프로젝트를 위한 지원을 얻는 방법
4.3.7. 시스템이 자라게 하는 방법
4.3.8. 대화를 잘 하는 방법
4.3.9. 사람들에게 듣고 싶어 하지 않는 말을 하는 방법
4.3.10. 관리상의 신화들을 다루는 방법
4.3.11. 조직의 일시적 혼돈 상태를 다루는 방법
5. 참고 문헌
5.1. 
5.2. 웹 사이트
6. 역사 (2003년 5월 현재) / History (As Of May, 2003)
6.1. 피드백 및 확장 요청 / Request for Feedback or Extension
6.2. 원본 / Original Version
6.3. 원저자의 경력 / Original Author's Bio










반응형

캐어랩 고객 지원

취업, 창업의 막막함, 외주 관리, 제품 부재!

당신의 고민은 무엇입니까? 현실과 동떨어진 교육, 실패만 반복하는 외주 계약, 아이디어는 있지만 구현할 기술이 없는 막막함.

우리는 알고 있습니다. 문제의 원인은 '명확한 학습, 실전 경험과 신뢰할 수 있는 기술력의 부재'에서 시작됩니다.

이제 고민을 멈추고, 캐어랩을 만나세요!

코딩(펌웨어), 전자부품과 디지털 회로설계, PCB 설계 제작, 고객(시장/수출) 발굴과 마케팅 전략으로 당신을 지원합니다.

제품 설계의 고수는 성공이 만든 게 아니라 실패가 만듭니다. 아이디어를 양산 가능한 제품으로!

귀사의 제품을 만드세요. 교육과 개발 실적으로 신뢰할 수 있는 파트너를 확보하세요.

지난 30년 여정, 캐어랩이 얻은 모든 것을 함께 나누고 싶습니다.

카카오 채널 추가하기

카톡 채팅방에서 무엇이든 물어보세요

당신의 성공을 위해 캐어랩과 함께 하세요.

캐어랩 온라인 채널 바로가기

캐어랩