9년차 개발자가 되면서 느낌 점 (주관적)
개발자로써 살아온지 벌써 9년입니다. 도중에 아프기도 하고 일을 쉬기도 했지만 역시 개발은 재밌네요.
이전에 3년 간 개발자로써 일을 하면서 느낀 점들을 썼었는데, 벌써 이렇게 시간이 흘렀습니다. 이전 글에 이어서 써보고 싶기도 하고, 조금씩 경력을 쌓아가며 나아갈 때 참고하시면 좋지 않을까하여 적어봅니다.
100% 주관적인 생각입니다.
1. 외국어 능력이 있으면 정말 좋다.
영어 쓸 일이 없을 줄 알았는데 생각보다는 많습니다.
참고로 전 아직도 영어를 못합니다 :)
2. 일하는 환경에서 같이 일하는 사람이 중요하다.
이전에는 급여, 복지 등 물질적인 것만 보고 갔는데 거기에 추가해서 사람이 중요하다 생각됩니다.
같이 일하는 사람들의 실력, 인성에 많은 영향을 받습니다.
3. 회사일에 열정을 가지는 건 좋지만, 그렇다고 아프면서까지 일하지는 말자.
앞만 보고 달려가다가 입원까지 한 적이 있었는데, 생각보다 회사는 냉정합니다.
열정을 가지고 인정을 받는 것도 좋지만, 건강이 우선입니다.
4. 아닌 건 아니라고 말하는 용기가 필요하다.
일을 하다보면 해당 기간 내에는 어려운 일들이 가끔 오게 됩니다.
무리하게 받지 말고, 일정을 늘려달라 요청하거나 해당 기간 내에는 끝마치기 어려울 수도 있다는 답변을 꼭 하시길 바랍니다.
정말 필요하다면, 요청한 곳에서 온갖 지원을 해줍니다.
5. AI를 잘 활용하자. 하지만, 기술서 정독은 해보자.
세상이 많이 달라졌습니다. AI에게 질의하는 것도 좋지만 그래도 기술서나 가이드 문서는 한 번 살펴보는게 좋습니다.
생각보다 단순하게 해결되는 것들이 많습니다.
6. 설계와 기획을 배우자.
구조 설계 및 기획이 필요하게 됩니다.
단순 지시사항을 받았을 때 일만 하는 개발자가 아니라 직접 설계하고 기획까지 하는 개발자가 되어 하나의 프로젝트에 중심이 되어 갑니다.
7. 개인 프로젝트는 꼭 진행하자.
이제 어느 정도 여유가 있으니 개인 서버, 도메인을 사서 직접 만들고 올려볼 수 있습니다.
설계와 기획 능력이 확 올라갑니다.
8. 개인 프로젝트나 회사 업무를 할 때 개인적으로 정리를 하자.
특히 개인 프로젝트를 할 때, 머릿속에 있는 걸 바로바로 실행하는 것보다 문서로 한 번 정리한 뒤 진행합시다.
사람의 기억력은 생각보다 좋지 않기에, 나중에 왜 이렇게 처리했더라, 에 대한 아주 좋은 답변이 됩니다.
9. 기획과 설계는 아주아주 중요하다.
기획의 방향성이 잘못 잡히면 개발자들은 힘듭니다.
마찬가지로 설계도 무언가 누락이 되거나 잘못된 방향으로 간다면 힘들어집니다.
잘못된 방향으로 가거나 누락되 되었다면, 나서서 지적해(?) 줍시다. 귀찮아서 내버려 둔다면 나중에 내 코드가 대폭 수정되는 상황이 발생할 수도 있습니다.
10. 설계에 참여할 일이 생긴다면 주변의 의견도 들어보자.
아주 잘한 설계라고 생각했는데, 무언가 놓치고 있을 수도 있습니다.
개발 후에는 설계를 변경하기가 난해합니다.
놓친 점이 없는지 주변에 꼭 질의해보거나 발표(?)를 해보면서 되짚어 봅시다.
11. 프로그래밍 언어(Python, Java 등)는 하나만 제대로 공부하면 다른 언어를 배울 때 쉽다.
이직도 하고, 이런저런 일을 하다보니 언어의 장벽이 생각보다 높지 않더군요.
오히려 하나의 프레임워크를 파고드는게 더 값어치가 높다고 생각됩니다.
12. 업무 지식을 늘리자.
개발 능력도 중요하지만 이제 업무 지식도 중요해집니다.
내가 어느 정도의 업무 지식 (의료, 게임, 금융 등등)이 있고, 그걸 코드에 녹여낼 수 있는지 중요해집니다.
13. 최적화가 중요해진다.
이제 구현을 넘어 코드의 효율성을 보기 시작합니다.
테이블 설계, 구조와 코드의 설계, 흐름을 보면서 비효율적인 부분을 리팩토링하기 시작합니다.
14. 하나의 프로젝트에서 왠만하면 네이밍룰과 코드 구성은 통일하자.
서로 각기 다른 개발자들이 모여도 어느 정도 기준이 되는 틀은 잡아야 합니다.
나중에 유지보수할 때, 기준이 없으면 코드 분석을 처음부터 시작해야 합니다.
15. 부업은 신중하게 생각하자.
생각보다 간단한 일이여도 클라이언트의 요청이 생각보다 많습니다. 인생은 역시 계획대로 되지 않는 법이더군요.
시간적 여유를 생각하면서 결정해봅시다.
16. 새로운 사이트나 툴들이 많다. 귀찮더라도 배워보자.
기술의 발전이 많이 빠릅니다.
귀찮더라도 한 번씩 써봅시다. 생각보다 많은 도움이 됩니다.
엑셀, PPT, 워드 등등 보고서나 기획서를 올릴 때는 문서 파일이 좋지만 간단하게 회의할 때는 온라인 환경이 더 괜찮은 것 같습니다.
17. 블로그 작성을 해보자.
내가 해결한 오류, 구현 코드 등을 올린다면 그 자체로 하나의 포트폴리오가 됩니다.
저의 경우 이력서를 볼 때, 상당한 가점을 줍니다.
18. 이직은 최소 1~2년은 일해보고 결정하자.
처음은 괜찮지만 너무 빈번해지면 이후 이직에서 좋지 않은 방향으로 보게 됩니다.
20대에는 이해하지 못했는데, 면접관이 되어 보니 우리 회사에 와서 일하더라도 금방 그만두게 될 것 같아 보지 않게 됩니다.
19. 어떤 일을 맡았을 때, 기간을 말해주자.
해봐야 알 것 같은데요는 최악의 대답으로 생각됩니다.
경력이 쌓이면서 어느 정도 작업량을 예상할 수 있으니 일이나 주 단위로 끊어서 말해주는게 좋다고 생각됩니다.
만약 예상이 되지 않는다면 해당 작업에 대한 정보가 부족한 거니 요청해서 받아보는 게 좋다고 생각됩니다.
20. 정보처리기사 자격증은 있어야 한다.
특히 학원에서 오신 분들이 없는 경우가 많습니다.
특정 프로젝트에서는 4년제 졸업 혹은 기사 자격증을 요구하기 때문에 필수적으로 있어야 하는 경우가 존재합니다.
기준이 까다로운 자격증이 아니니 왠만하면 취득하고 오시는게 좋습니다.
21. 여유를 가지자.
제가 그랬던 것처럼 연차가 낮으신 분들은 이것도 해야 하고, 저것도 해야 하고, 뭔가 할게 많은 것처럼 생각되실 겁니다.
경력이 쌓이면서 자연스럽게 알게 되는 것들도 있고, 꾸준히 하시면 알게 될 것들이니 너무 조급해하지 않으셔도 됩니다.