규칙을 깨더라도 살아남아야 한다!
현실 속에 살고 있는 수많은 개발자를 위한 생존 법칙과 노하우!
살아남기 위해 중요한 것은 무엇인가?
컴퓨터 과학 이론, 알고리즘, 데이터 구조, 테스트, 코드 최적화, 리팩터링 등 코딩할 때 적용해야 하는 다양한 이론이 있다. 하지만 현실은 마감일에 쫓겨 작업의 우선순위를 정하고, 어떤 규칙을 어겨야 할지를 빠르게 결정을 내려야 하는 상황에 내몰리곤 한다. 코드 품질과 마감일 사이에서 우리는 어떤 것을 우선시해야 할까?
노련한 개발자라면 이미 알고 있겠지만, 우리에게 필요한 것은 무엇이 가장 중요한지 알아차릴 수 있는 ‘길거리 지식’이다. 어떤 규칙을 깨야 하고, 어떻게 깰 수 있는지, 어떤 것을 우선시하고, 어떤 것을 뒤로 미뤄야 하는지를 알고 있어야 한다.
저자가 몸소 겪으면서 깨달은 생존 법칙과 노하우 담았다!
이 책은 독학으로 공부하여 마이크로소프트의 엔지니어가 된 저자의 경험을 바탕으로 한다. 추상적인 이론이나 상아탑의 이데올로기처럼 뜬구름 잡는 이야기가 아닌 실용적인 데이터 구조나 알고리즘의 적용법, 점진적인 리팩터링으로 효율적인 코드를 만드는 법, 보안을 염두에 두고 개발하는 법, 프로젝트를 위한 확장성 등 개인적인 실무 경험에 뿌리를 둔 현실적인 조언을 한다. 또한, 익히 알던 모범 사례보다 더 도움이 되는 일부 안티패턴 소개, 최적화할 때 발생하는 트레이드 오프 이해하기, 무조건 버그를 수정하지 않기 등 생각지도 못한 새로운 시각을 보여준다. 이를 바탕으로 자신만의 사각지대에서 무엇을 놓치고 있는지, 어떤 보석이 숨어 있는지를 찾을 수 있고, 진정한 ‘스트리트 코더’가 될 수 있을 것이다.