다양한 프로젝트를 진행하면서 효율적으로 코드를 짤 수 있는 알고리즘적 사고력이 중요하다는 것을 알게 되었습니다.
그리하여 고민 끝에 직접 나서서 소수의 인원을 모아 알고리즘 소모임을 만들었으며 이번 연도 5월에 시작하여 현재까지 매주 모여 최소 3시간씩 알고리즘 공부를 하고 있습니다.
알고리즘 학습의 목적은 문제만 푸는 것이 아니라 효율적인 알고리즘 사고력을 기르는 것이 목표이기 때문에 문제를 풀고 서로 코드리뷰를 하면서 토론을 통해 효율적인 해결방안을 찾는 방식으로 진행해왔습니다.
소모임 내에서는 전체적인 분위기를 이끌고 다 같이 해결방안을 찾아보기 좋은 문제를 찾아 소모임이 원활하게 진행될 수 있도록 등불 같은 역할을 해왔습니다.
알고리즘 학습을 매주 하면서 상황에 최적인 함수를 선택하는 판단력과 효율적인 문제 접근법의 중요성을 깨달을 수 있었습니다.
또한, 문제를 풀면서 코딩과 수학의 만남은 강력하다는 것을 느낄 수 있었습니다.
1부터 10을 더하여 합을 구하는 문제가 있다면 보통 반복문을 통해 해결하지만, 등차수열의 합의 공식을 안다면 시간복잡도 적으로 효율적인 성능을 낼 수 있었습니다.
이처럼 문제풀이와 토론을 통해 다양한 경험을 쌓고 넓은 시각으로 접근하는 사고력을 기르기 위해 꾸준히 소모임을 운영해갈 것입니다.
이렇게 쌓아온 알고리즘적 경험과 사고력은 넓은 시각으로 개발해야 하는 사내정보시스템을 개발하는데 훌륭한 밑거름이 되어 이바지할 수 있다고 확신합니다.
최근 후원회 관리를 하는 시스템을 외주를 받아 개발을 진행하고 있습니다.
후원회시스템을 맡긴 직원과 여러 번의 회의를 하였고 팀장의 역할을 맡아 팀원들과 직원분간에 징검다리역할과 동시에 팀을 이끄는 역할을 하였습니다.
후원하는 회원만을 관리하는 것이 아니라 금융적인 업무 또한 진행하는 시스템이다 보니 요구사항을 정확하게 이해하고 문서로 만들어 화면구성과 데이터베이스 설계를 해왔습니다.
국세청, 금융 등 정확성이 중요한 기능이 있었기 때문에 에러가 최대한 줄이기 위해 기획 부분에 많은 시간을 투자했습니다.
현재는 개발 초기 단계에 들어간 상태입니다.
아직 외주 받은 프로젝트가 개발 중이지만 직원분과 회의를 하고 팀원들과 의논을 하면서 배운 교훈이 있습니다.
공부가 아닌 실제로 사용하는 프로그램을 기획하면서 예외사항을 예측하는 능력과 프로그램을 개발하기 전에 요구된 프로그램에 대해 정확한 이해와 전체적으로 바라볼 수 있는 시각의 중요성을 배울 수 있었습니다.
이렇게 실전을 통해 얻은 경험은 사내정보시스템을 개발하는데 강력한 힘이 되어 다양한 경우까지 고려하여 개발할 수 있으며 시스템의 개선에 큰 도움이 될 것이라고 확신합니다.
글자수 1,354자2,328Byte