"개발자의 기초 체력 ** 알고리즘"
세계 대학생 프로그래밍 경시대회에서 2년 연속 전국 대회 본선 진출에 성공했으며, 삼성 소프트웨어 멤버십 알고리즘 역량평가에서 전국 상위 5%의 성적을 받은 적이 있습니다. 저는 문제해결기법 수업 시간에 좋은 성능의 프로그램을 작성하기 위해서는 알고리즘이 중요하다는 점을 깨달았고 그 실력을 향상하기 위해 다음과 같은 꾸준한 노력을 했습니다.
첫 번째로 어떤 프로그램을 개발하더라도 메모리와 성능 이슈에 대해 민감히 반응하며 더 좋은 방안이 없을까 생각하는 습관을 가졌습니다. 단순히 돌아가는 프로그램이 아닌 좋은 성능을 내는 프로그램을 위해 고민함으로써 메모리와 성능 간의 상관관계에 대해 더욱 깊은 이해를 할 수 있었습니다.
두 번째로 백준 알고리즘 저지사이트에서 문제를 꾸준히 풀었습니다. 한때 저지 사이트에서 100등 안에 랭크 될 만큼 다양한 유형의 문제를 풀었습니다. 이는 유명한 알고리즘들을 학습해볼 좋은 기회이자 탄탄한 코딩 실력을 쌓는 데 큰 도움이 되었습니다.
위와 같은 경험들은 저를 논리적이며 기초 실력이 탄탄한 개발자로 만들어 주었고, 프로젝트 간 어떠한 이슈와 부딪치더라도 당황하지 않고 해결해 나갈 수 있는 문제해결능력을 기를 수 있도록 해주었습니다.
"문제해결 능력은 기본! 그 외 + @"
학생 신분이 아닌 개발자로서 삼성 소프트웨어 센터의 과제를 PL 역할로 진행한 경험이 있습니다.
학교에서 주는 일방적인 과제가 아닌 고객과 소통하여 설계하고 이를 바탕으로 개발하는 과제였습니다. 평소 하던 분야의 프로젝트였기 때문에 자신만만하게 시작했습니다. 하지만 문제는 생각하지 못했던 곳에서 발생했습니다. 매 시각 탄력적으로 반응해야 하는 해당 프로젝트 특성상 고객과 팀원들 간 의사소통이 중요했습니다.
그러나 체계적으로 이슈를 관리하는 방법에 대해서 이론적으로만 간단하게 알고 있었던 당시에는 적절하게 대처하기 힘들었습니다. 애자일 개발방법론을 팀 환경에 맞게 변경하여 적용하였고, 다양한 고객의 요구를 수용하여 목표했던 과제를 효과적으로 진행할 수 있었습니다.
이런 경험이 있었던 후 부터는 새로운 신념을 지니게 되었습니다. 바로 "진정한 개발자란 개발 실력은 물론 개발방법론이나 의사소통 능력 등 기타 능력도 뛰어난 사람"입니다. 그래서 폭포수, 애자일 등의 개발방법론과 트렐로, 지라, 깃과 같은 이슈 트래커 등을 사용하는 등 체계적으로 개발하는 능력을 갖춤으로써 진정한 개발자가 되기 위해 노력했습니다.
다양한 기술을 적극적으로 학습하고 적용하는 제 성향은 프로젝트의 방향성 유지와 생산성 향상에 크게 이바지할 것입니다. 개발만 잘하는 인재가 아닌 개발 역시 잘하는 인재가 되어 삼성에 걸맞은 인재가 되도록 하겠습니다.