디프만의 가장 큰 장점은, 궁금한 걸 캐주얼하게 물을 수 있는 개발자 분들이 많다는 것이다! 정말이지 감사한 일이다. 디프만에서 오갔던 질문 중 몇 가지를 정리해본다. 여러 개발자 분들이 답변을 주신 경우도 있었는데, 대략 공통적인 내용을 빼서 종합했다.
A. 전자가 낫다. 주니어 특: 간단한 기능 어렵게 개발함
잘하고 싶다는 욕심에, 간단한 기능을 개발하는데도 지나치게 많은 사항들을 고려하려고 한다. 간단한 기능은 심플하게 개발하는 게 베스트다. 리팩토링은 언제 하냐면, 한 PR을 머지한 후 다음 코드를 작성하는데 이전 코드가 문제가 될 때. 그때 리팩토링 하면 된다. 이때는 하는 게 맞다.
미리 조급해하지 말고. 심플한 건 심플하게.
관련해서 참고할 만한 아티클 링크
영리한 개발자와 현명한 개발자의 차이점 | 요즘IT
A. 도구가 해결하고자 하는 문제가 무엇인지를 이해하는 것이 중요한 것 같다.
디자인 패턴도 마찬가지다. 특정 디자인 패턴이나 방법론에 사로잡히기 보다는, 그것들이 어떤 문제를 해결하기 위해 나왔는지를 인지하면서 개발하는 것이 중요하다. 본질에 집중하자.
A. 지극히 당연한 일이다. 실무를 경험하지 않는 이상 필요성을 느끼기 어렵다.
가령 프로덕션 환경과 개발 환경을 구분하는 것. 당연히 개인 프로젝트 수준에선 경험하기 어렵다. 그래서 실무 경험 없이 혼자 공부하는 것에는 한계가 있을 수밖에 없다고 생각한다. 실무 경험을 하는 걸 추천한다.
A. 배우려는 태도가 중요하다고 생각한다. 동일한 업무를 맡아도 업무가 마음에 들지 않는다 불평하고 툴툴대는 사람이 있는가 하면 배울 점을 찾는 사람이 있다.
A. 생~각보다 열심히 하는 사람들이 많지 않다. 열심히하는 건 생각보다 큰 것.
사연이 있는 코드를 레거시 코드라고 한다. 코드를 짠 사람만 알고 있는 사연(혹은 context)이 있는 코드. 개발자의 생각이 코드에 명시 되어 있지 않기 때문에, 다른 개발자가 코드를 이해하기 어렵다. 또 예상치 못한 사이드 이펙트가 발생할 수 있다.
Q. 좋은 코딩이란 무엇인가?
돌아가는 코드다. 쉽게 짜놓은 코드다. 요즘 클린코드 집착하는데, 하지말라고 한다. 클린 코드보다 3-4년 뒤 누군가 들어왔을때 알아볼 수 있는 코드가 중요하다. 누가 유지보수 할건가. 클린 코드에 주니어들이 집착하는데, 아니라고 생각한다. 쉽게 작성하는 코드가 최고다.
출처: 어떻게 개발자와 의사결정해야 할까요?
Q. 나는 내가 그 가치를 납득할 수 있는 서비스를 직접 개발하고 싶다. “이 서비스를 사람들이 썼으면 좋겠다!”라는 마음이 있어야 버튼 하나를 만들더라도 능동적으로 사용성을 고민하고, 또 그런 필요에 의해서 스스로 공부할 것 같은데. 이런 내 생각은 너무 비현실적인 욕심인가?
A. 그렇지는 않다. 실제로 그게 맞다. 내가 만드는 서비스에 애정이 없으면 개발이 재미가 없다.
막연하게, 규모가 큰 조직에서 일하게 되면 기여감을 느끼기 어렵지 않을까 하는 걱정이 있었다. 근데 이야기를 들어보니 꼭 그렇지도 않았다. 기업이 그리고 있는 큰 그림에 공감하고, 서비스가 제공하고자 하는 가치에 공감하시며 적극적으로 개발에 임하고 계셨다. 그러니 개발이 재밌으시다고. 내가 막연하게 떠올렸던 꿈의 이미지가 순전히 허상은 아니라는 걸 확인할 수 있어서 기뻤다.
할 게 많아 보여서 마음이 조급해질 수 있다. 하지만 조급해 하지 말고 스텝 바이 스텝으로 하나씩 완벽히 끝내 가는 것이 핵심이다.
이런 사소한 궁금증들을 물어볼 곳이 있다니 난 정말 행운아다. 남은 한 달 꼭 마지막까지 열심히 달려야지.
좋은 글 잘봤습니다. 취준생으로써 그동안 막연하게 생각하고 있던것들인데 이렇게 정리해주시니 속이 뻥뚫리는 기분이에요 ㅋㅋㅋ