
내가 가고 있는 길에 대한 방향성 검토
벌써 부트캠프에 참여하게 된지 대략 2개월이라는 시간이 흐르게 되었습니다. 짧다면 짧고 길다면 긴 시간동안 많은 성장과 변화의 기회를 가졌다고 생각합니다.
새로운 개념에 대한 학습 뿐만 아니라 배울점으로 가득찬 부트캠프라는 공간에서 원초적으로 나는 어떤 개발자가 되고 싶은지에 대한 초석을 다지고 개인적으로 어떤 수행 과정이 필요한지에 대한 단계들에 대한 정보를 얻고 정리할 수 있는 기회를 매일매일 얻고 있습니다. 우선 구체적으로 나는 "어떤 개발자가 되고 싶은가?"에 대한 생각들을 나름대로 정리해봤습니다.
💡 나는 어떤 개발자가 되고 싶은가?
사용자 경험의 극대화
저는 이전부터 느꼈지만 남을 이해시키는 여러가지 방법들 중 최선의 방법을 도출하는 것을 좋아하는 것 같습니다. 단순히 사람과 사람간의 커뮤니케이션 속에서도 상대방의 상황과 환경을 고려하여 적합한 단어를 선택하여 대화가 유연하게 흐르는 것을 좋아합니다.
저는 디자인을 단순히 "예쁨"의 영역이 아니라 의사소통의 도구라고 생각하는데요, 만약에 텍스트로 그 의미가 전달 될 수 있다면 텍스트만 사용해도 된다고 생각하는 편입니다.
따라서 기술적으론 목표한 의미를 효과적으로 전달하는 장치를 설계하여 결론적으론 사용자 경험을 높이는 방법을 고민하는 과정에서 큰 즐거움을 느끼는 것 같습니다.
설계와 최적화에 대한 관심
저는 또한 효율적이고 유지보수가 용이한 코드를 작성하는 것에 대한 희열을 느끼곤 하는데요. 예시로 클린코드에서 하나의 함수내 2~30줄 내외의 코드를 단지 1~2줄의 코드로 변환하는 것을 보며 아름다움과 경외감을 느꼈고 비효율적인 작업을 최소화하는 과정에서 큰 보람을 느끼는 편입니다.
기술적 역량
저는 프론트 쪽을 대략 1~2년 정도 공부하면서 react, next-js, typescript 등을 조금 깊게 공부하였고 디자인툴도 피그마, AdobeXD, 포토샵, 프리미어 프로 등의 툴을 다룰 수 있고 백엔드 쪽은 현재 자바쪽으론 현재 부트캠프에서 학습하고 있고 추가적으로 node.js를 다룰 수 있습니다.
소통 및 계획 능력
작년에 해외 한류박람회를 기획하고 운영하는 회사에서 근무했었는데 이때 정말 많은 사람들과 소통할 수 있는 기회를 가졌었습니다. 클라이언트인 정부쪽 관리자들 뿐만 아니라 개발자, 디자이너, 벤더사, 현장 스태프, 제작 업체등 다양한 직종의 사람들과 소통하는 과정에서 클라이언트의 요구사항을 분석하는 해독 능력을 향상할 수 있었고 반대로 외주 업체에게 어떻게 요청을 해야하는지에 대한 방법을 고민하고 설계하는 과정이 소통능력 향상에 있어 매우 중요한 경험이었던 것 같고 또한 큰 단위의 실행 계획을 세우는 것부터 정말 작은 단위 예로들어 대사관님들이 어느 지점에 내려서 어떤 경로로 이동하고 스탠바이 해야 하는지 그 과정을 초단위로 설계하는 과정이 계획 능력 향상에 매우 중요했던 것 같습니다.
따라서 저는 제가 좋아하는 것과 저의 현재 기술 스택 및 역량들을 생각해보면 기획과 디자인을 포함한 다양한 분야의 경험을 바탕으로, 목표한 의미가 정확히 전달할 수 있는 웹 앱을 설계하고효율적인 시스템 설계와 자동화를 통해 서비스 개발 기간을 단축을 목표로 하는 풀스택 개발자가 적성에 맞을 것 같단 결론을 내리게 되었습니다.
따라서 저는 앞으로 사용자 경험을 극대화하고, 효율적이고 최적화된 시스템 설계를 실현하는 것을 목표로 앞으로의 학습을 진행하고자 합니다.
💡 그렇다면 나는 무엇을 해야할까?
문제 파악 능력 강화
다른말로 하면 독해인데, 독해는 사실 풀스택이든 프론트이든 백엔드이든 어떤 직업이든 필수적으로 수반되어야 하는 능력이라고 생각합니다.
제가 해보고 싶은 것은 KISA내의 입찰 공고의 제안요청서를 분석하고 그 안에서 구체적인 요구사항을 명확하게 파악한 후, 각 요구사항을 어떻게 해결할 수 있을지에 대한 기술정 방법을 찾고 해당 방법을 실제 구현하는 절차와 언어, 패턴등을 정의하여 구현 가능한 해결책을 제시하는 연습을 해보고 싶고 자바로 해결 가능한 제안요청서의 경우엔 실제로 최종 프로젝트에서 해결해보는 경험을 갖고 싶습니다.
문서화 능력
현재 매주 블로그를 작성하는 것도 문서화 능력을 기르기 위한 초석에 해당하는데요, 이 뿐만 아니라 실제 현업에선 주간 보고서와 월간 보고서를 작성하고 하나의 프로젝트에 대한 최종 보고서를 작성하는 일을 해야 하는 것으로 알고 있습니다.
따라서 현업에서 이와 같은 일을 수행하기 위해선 지금부터라도 기술적 내용을 명확하게 작성하는 연습을 할 필요가 있을 것 같습니다.
자동화 경험 쌓기
비효율적인 작업을 자동화하는 경험을 부트캠프 내에서 쌓고, 실제 프로젝트에서 이를 적용하여 개발 과정에서 발생하는 반복적인 작업을 효율적으로 처리하는 경험을 쌓고자 합니다.
TDD 실습
클린 코드를 보든 실제 현업에서 일을 하시는 분들의 얘기를 들어보면 항상 테스트 코드에 대한 중요성을 얘기하는 것을 심심찮게 확인할 수 있습니다. 저 또한 단순한 미니 프로젝트를 진행하면서 디버깅의 어려움을 느꼈고 이에 따라 유닛별 테스트 코드를 작성하는 것의 중요성을 절실히 느끼고 있고 따라서 다음 프로젝트에선 TDD 프로세스에 따라 프로젝트를 진행해보고 싶습니다.
영어 능력
클린 코드를 읽으면서 함수명을 서술식으로 작성하라는 저자의 주장에 대해 깊이 있는 공감을 하려면 우선적으로 영어 공부를 해야겠단 생각을 하게되었습니다. 그리고 우리가 코드를 한국어로 작성하지 않는 이상 영어를 공부하는 것은 소통의 목적이 아니더라도 개발자라면 필수적인 역량인것 같단 생각을 요즘들어 하고 있습니다.
클린 코드 책을 읽으면서 가장 공감이 든 부분이 시스템은 단순히 모듈이나 기능들의 나열이 아니라 하나의 스토리로 구성된다는 것이었는데 그 스토리를 보다 잘 이해하기 위해선 영어를 정확하게 이해하고 활용하는 능력이 매우 중요할 것 같습니다.
💡 시간 관리 체계화
부트캠프에 참여하면서 시간 관리의 중요성을 다시 한 번 실감했습니다. 그동안 "시간 관리를 하고 있다"고 느꼈지만, 실제로는 제대로 관리되지 않은 경우가 많았습니다. 급한 일에 쫓기거나 중요한 일을 미루는 일이 반복되었고, 그 원인은 반복적인 피드백 부족과 전체적인 일정 관리의 부재 때문이라고 생각합니다.
이를 해결하기 위해 저는 체계화된 시간 관리 방법에 대해 깊이 고민했습니다. 이 과정에서 중요한 것은 주기적인 피드백과 전체적인 일정을 한눈에 볼 수 있는 시스템을 구축하는 것이었습니다.
다음 시간 관리 체계화 포스팅에서 상세히 정리한 것처럼, 시간을 전략적으로 활용하고 진행 상황을 주기적으로 점검하여 실천적인 피드백을 반영하여 중요한 일에 집중하고, 불필요한 일을 최소화하면서 학습과 업무를 더욱 효율적으로 처리할 것을 기대하고 있고 백엔드 프로젝트 까지 보다 체계화된 시간 관리 방법이 어떻게 효과가 있었는지에 대해선 추후에 정리하고자 합니다.
💡 폴더 관리 체계화
시간 관리만큼 중요한 것이 파일 및 자료 관리입니다. 부트캠프 진행 중에 점점 쌓여가는 자료들, 특히 강의 소스 코드, 프로젝트 자료, 스터디 관련 파일들이 하나의 폴더에 섞여 있어 원하는 자료를 빠르게 찾는 데 어려움을 겪었습니다.
이 문제를 해결하기 위해 저는 이전 회사에서 수천 개의 파일을 관리했던 경험을 되새기며, 디렉토리 구조를 체계화하여 명확하게 분류하기 시작했습니다. 이 과정에서 가장 중요한 것은 주제별로 명확한 구분을 두고, 필요한 자료를 쉽게 찾을 수 있는 시스템을 만드는 것이었습니다. 이는 제 업무를 효율적으로 관리하는 데 큰 도움이 되었으며, 검색 시간 절약과 업무 흐름의 개선을 가져왔습니다.
이와 관련된 방법은 디렉토리 구조 체계화 포스팅에서 더 자세히 다뤘으니, 관심 있는 분들은 참고해주시기 바랍니다.
부트캠프의 8주차를 마무리하며, 저는 제 성장 과정을 되돌아보고 향후 목표와 계획을 체계적으로 정리할 수 있었습니다. 그동안 많은 것을 배우고 경험했지만, 여전히 부족한 점이 많은것은 사실인 것 같습니다. 그럼에도 불구하고 이젠 제가 어떤 개발자가 되고 싶은지도 확실해졌고 이를 통해 풀스택 개발자로서의 목표를 더 구체적으로 정의할 수 있게 되었고 그 목표를 달성하기 위해 필요한 학습과 실습을 체계적으로 정리할 수 있다는 것 만으로도 많은 성장을 이룬 것 같습니다.
앞으로의 계획을 바탕으로, 제 역량을 지속적으로 키우고, 사용자 경험을 극대화하는 시스템 설계와 효율적인 개발을 실현할 수 있는 개발자로 성장하고자 최선을 다하겠습니다.
회고 보면서 좋은 개발자가 되기 위한 고민을 많이 하고 계신 게 느껴졌는데 이번에 같은 팀으로 연을 맺게 되었네요.
함께 잘 해봐요. 많이 배우겠습니다. :)