brunch

You can make anything
by writing

C.S.Lewis

by 서준수 Apr 23. 2019

개발자 성장에 필요한 3가지

주니어 개발자의 단상 (2)

개발자 성장에 필요한 3가지


개발자에게 필요한 것은 다양하다. (ex. 커피, 체크남방) 그리고 사람마다 중요하게 생각하는 것은 다를 것이다.


평소 개발자 성장에 필요하다고 생각하던 3가지를 간단히 정리해보았다.


오해는 하지말자. 잘하는 개발자가 갖춘 3가지가 아니다. 그냥 지극히 개인적인 기준의 생각이다. 특히 나에게 필요한 것 같다.


1. 스스로를 겸손하게 만드는 기본기


모든 분야에서 기본기는 중요하지만 망각하기 쉬운 존재다. 현업에 몰두하다 보면 의외로 기본기와 멀어지는 경우가 많다. 기본기를 모른 채로 새로운 기능을 구현했다고 으스대거나 신기술을 익혔다고 자랑하는 것은 자칫 위험하다고 생각한다.


여러 가지 프로젝트를 경험하면서 한껏 자신감 넘치는 순간에 기본기를 물어봤을 때 쉽사리 답변하지 못하는 자신과 마주하게 되면 자칫 자존감이 무너질 수 있다. 또한 진행했던 프로젝트의 평가가 절하될 수도 있다.



그리고 무엇보다 뿌리가 튼튼하지 못한 채로 수많은 가지를 뻗게 되면 그 나무는 쓰러지고 말 것이다. 따라서 태풍이 몰아쳐도 쓰러지지 않을 탄탄한 기본기가 필수라고 생각한다.


2. 성실함을 바탕으로 한 꾸준함


무슨 일이든 잘하기 위해서는 훈련이 필요하다. 연마 과정은 개발에서도 필요하다.


운동을 하듯이 정기적으로 일정량의 코딩을 하거나 기술 공부를 해야 발전할 수 있다. 웨이트 트레이닝의 경우를 생각해보자. 처음 3kg밖에 들지 못하던 사람도 꾸준한 훈련을 통해서 10kg도 어렵지 않게 들 수 있다.


개발도 마찬가지다. 처음에는 3줄 밖에 작성하지 못하다가 나중에는 10줄, 100줄로 늘어나게 될 것이다. 결국 많이 타이핑한 만큼 점점 더 성장할 수 있다.



극적인 예를 들어보자.

IDE 자동완성에 의존하여 자바 main 함수를 외우지 못해서 main 함수 작성을 못하는 사람이 있을 수 있다. 첫째 날은 public static 까지만 기억해서 거기까지 작성하고 찾아보고 나머지를 작성한다. 다음날은 public static void main까지 작성할 수 있게 될지도 모른다. 그렇게 반복하다 보면 public static void main(String[] args)을 자연스럽게 체득하게 될 것이다.


특히 새로운 기술이 끊임없이 나오는 개발 분야에서는 지속적인 공부가 더욱 중요한 것 같다.


3. 문제해결력의 지표, 집요함


개발을 하다 보면 쉽게 풀리지 않는 문제에 반드시 마주하게 된다. 이때 쉽게 포기해서는 안 된다고 생각한다.



밥을 먹을 때도 화장실에 갈 때도 그 문제에 대해서 계속 생각하면 어느 순간 해결이 되는 경우가 많다. 심지어 꿈에서 답을 찾는 경우도 있다. 이렇게 집요하게 몰입하는 태도가 좋은 개발자로 성장하는 밑거름이 된다고 생각한다.


잠시 고민해보고 쉽게 커뮤니티에 질문하는 습관은 빠른 문제 해결에는 도움이 될 수 있다. 하지만 그러한 질문은 이미 질문에서부터 고민한 흔적이 보이지 않는다. 그러면 결국 질문 자체의 수준이 떨어지고 따라서 좋은 답변을 받기도 힘들다.


무엇보다 쉽게 얻은 지식은 쉽게 잊힐 가능성도 높다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari