훌륭한 프로그래머가 되는 법(마음대로 요약)

바보 같은 책이다. 표지의 저 물고기로 도대체 뭘 얘기하려는지 모르겠다.

— 앨리스 구들리프, 열두 살

보기 좋고, 편집하기 쉽게 코드를 쓰자. 버그가 없는 것은 중요하지만 섣부른 최적화보다는 가독성이 우선이다. 코드는 중복되는 것을 피하고, 최대한 간결하게 짜자(하지만 코드 골프를 실제 프로젝트에서 할 필요는 없다). 그리고, 실제로 코딩을 많이 해 보자. 오류를 무시하지 말고, catch하자.

YAGNI. 컴파일하기 전에 타이핑하고, 타이핑하기 전에 생각하자. 코드는 언제나 변할 수 있다는 것을 염두에 두자.

소프트웨어 개발은 예술(공예)이자, 과학이자, 스포츠이자, 놀이이자, 동시에 집안일이다. 언젠가는 지루한 일도 해야 하지만 재미있게 하는 것이 좋다.

코드 복붙을 하지 말고 라이브러리로 따로 빼자. 에셋 구입은 치욕스러운 일이 아니다. 임포트를 해서 쉬워지는 일이 있으면 임포트를 하자.

원자적 커밋을 수행하자. 끝날 때 한 번에 “대충 다 뜯어고침” 이렇게 커밋하지 말고, 한 가지 버그를 잡거나 한 가지 일을 구현하고 났을 때 커밋하자.

브랜치를 활용해보자. 모든 코드를 main 브랜치에서만 작업하는 건 git을 진화된 구글 드라이브처럼 사용하는 것이다. 실험적인 기능을 구현하거나, 대대적인 수술에 나서고 있거나, 뭔가 작동할 지 의심스러운 것을 만들고 있다면 브랜치를 따로 빼자. 매번 git reset –hard를 띄우는 것보다는 생산적이니까.

push하기 전에 commit 후 pull 을 해서 각 빌드가 제대로 돌아가는지, merge가 제대로 이루어졌는지 확인하자.

프로그래머는 평생 공부하는 직업이다. 새로운 기술이나 기법을 배우는 것 외에도, 새로운 학문이나 새로운 사람들을 배우고, 완전히 다른 것을 배우는 것도 시도해보자.

배우기 위해 필기를 하고, 정리하고, 가르쳐보자. 그리고 실천해보자.안일해지지 말자. 새로운 것에 도전하자. 다른 수단이나 프로그래밍 언어를 배워보자. 새로운 주제나 컴퓨터 과학, 프로젝트를 시작해보자.

새로운 언어 배우기
책상 재배치하기
새로운 활동 시작해보기
운동을 시작하기
식단 조절하기
새로운 사람들을 만나기

윤리적인 사람이 되자. 책임을 지는 사람, 자신의 행동이나 결과물이 사회에 어떤 영향을 미칠지에 대해 생각하고 행동하는 사람이 되자.

올바른 자세로 코딩하자. (신체 자세.)

현명하고 생산적인 프로그래머가 되는 비결.

현명하게 재사용하라. 이미 있는 코드(내 프로젝트, 동아리 프로젝트, 라이브러리, 에셋 스토어 등)를 가져와 사용하면 시간과 비용을 아낄 수 있다.
일을 재배분하라. 다른 사람이 더 잘하는 일이면 다른 사람에게 맡기자. 해야 하는 일만 하고, 굳이 필요 없는 일을 자처할 필요는 없다.
선택을 할 때 지나치게 뜸을 들이지 말자.
가장 중요한 일을 먼저 하라. 우선순위를 엄격하게 매기고, 중요하지 않은 사소한 것에 몰두하지 말자. 당장 필요한 것이나, 지금 해야 하는 것을 최우선으로 수행하자.
한 번에 하나의 작업만 하자. 인간은 멀티태스킹을 할 때 context switching 비용이 지나치게 많이 들기 때문이다.
코드의 설계를 작고 간결하게 유지하라. KISS
문제를 미뤄두고 쌓아두지 말라. 미리 미리 일을 해 두자.
자동화를 할 수 있는 일이 있다면, 한 번 이상 반복해야 하는 일이 있다면 자동화를 고려해보자. 자동화 도구를 배워두자. bash, python 같은 다재다능하면서 간단한 인터프리터 언어.
의사소통하라. 지쳐 나가떨어지지 말고, 워라밸을 생각하자. 현명하게 일하자.

어떤 것이 “완료”인지에 대해 계획을 가지고 있어야 한다. ‘이 기능이 있으면 좋겠지’ 하면서 덕지덕지 붙이다 보면 (프로그램이) 추해진다. 명확성, 가시성, 실현 가능성.

좋은 사람과 같이 근무하고, 같이 코딩하고, 같이 시간을 보내자. 멘토링도 좋고 친구가 되는 것도 좋다.

자신의 코드 및 생활에 대해 의무감을 가지자. 상호 평가, 피드백, 자기 암시, 기준 정하기 등. 민폐를 끼치지 말자.

현대 프로그래머들은 99% 함께 일한다. 좋은 의사소통이 좋은 프로그램을 만들고 좋은 삶을 만든다. 솔직하고 건전한 사람이 되자. 명확하게, 자주, 존중하면서, 적절한 수준에서 적절한 매체를 통해 소통하는 사람이 되자.

삶에서 원칙을 가지되, 그 원칙을 절대적인 것으로 생각하지 말자.

*****
긍정적인 영향을 주는 사람이 됩시다
Served using home raspberry pi 3 B+
☕ Pudhina theme by Knhash 🛠️