일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 스타트업
- Java
- dfs
- spring boot
- 이직
- IntelliJ
- HTTP
- 해시맵
- 문자열
- 스프링 부트
- 백엔드
- 해결
- docker
- 주니어
- 스프링
- 프로그래머스
- 스프링부트
- bfs
- 명령어
- 코딩테스트
- 개발자
- 자료구조
- Linux
- HashMap
- 구현
- 도커
- 인텔리제이
- spring
- 배열
- 구름LEVEL
- Today
- Total
마이의 개발 블로그
나는 어떤 개발자가 되고싶은 걸까? (2년 회고) 본문
배경
부트캠프를 기점으로 개발과 다시 씨름하기 시작한지 만으로 2년 정도가 되었습니다. 저는 컴공 학사를 졸업하고 타 분야 n년, 개발로 돌아와서 부트캠프 6개월 + 1년 남짓의 경력이라는 조금은 특이한 이력을 가지고 있습니다. 이전의 업무 경험들을 통해 늦은 나이에 신입으로 새로운 분야에서 시작하는 일에는 많은 제약이 따른다는 점을 잘 인지하고 있었지만, 저는 개발자로서 일하는 것에 그만한 가치가 있다고 생각하여 이 일에 다시금 저 자신을 내던질 수 있었습니다. 나름의 열심은 있었으나 매번 성공적이지는 못했던 지난 2년을 회고하고 보니 한 번쯤은 구체적으로 고민하고 정리했어야 할 질문이 떠오르더군요. 그것은 바로 '나는 어떤 개발자가 되고 싶은가?'입니다.
왜 이 고민을 해야하는가?
더 좋은 개발자가 되기 위해 꾸준히 고민하고 학습하려는 노력을 기울여왔습니다. 모든 내용을 깃헙이나 블로그에 남길 수는 없지만, 여러 가지 방식으로 정보를 습득하고 나름대로 지식 체계를 구축해나가고 있었습니다. 그러나 어느 순간부터는 나 자신보다 앞서 있는 사람들을 보며 격차를 좁히기 위해 어떻게 해야할지를 놓고 씨름하는 저 자신을 발견하게 되었습니다. 경쟁심은 항상 저를 성장시켜온 수단이었고 경쟁을 잘 해낼 수 있을 것이라는 자신감은 항상 가지고 있던 저이지만, 구체적인 목표가 있으면 모를까 이건 별로 건강한 고민이 아니라는 생각이 들었습니다. 아마도 학부시절 주변에서 보던 선후배들이 각자의 역량을 펼치며 곳곳에서 활동하는 것을 보니, 뒤늦게 다시 발을 들인 저도 저들처럼 되어야 한다는 생각에 많이 조급했나 봅니다.
롱런을 위해서는 나만의 기준을 세울 필요가 있다고 판단했습니다. 제가 타 분야에 몸담고 있다가 개발자가 되겠다고 마음먹은 것은 단순히 직업이나 돈이 필요했기 때문이 아니었습니다. 저는 하고싶은 일들이 많고, 지난 날의 경험을 통해 얻게 된 제가 원하는 삶의 형태나 방식이 있습니다. 제가 만약 개발자로 산다면 이런 것들을 성취하는 데에 더 많은 가능성을 가질 수 있을 것이라고 생각했기에 이 직업을 선택하게 된 것입니다. 물론 여러모로 적성에 잘 맞기 때문인 것도 있습니다.
이런 점들을 고려하면 제가 개발자를 선택한 동기를 대체로 내면에서 찾는다는 것을 알 수 있습니다. 그러나 저는 어느 시점부터 내면의 동기를 잊음으로써 성장 동력을 잃게 되었다는 사실을 깨닫게 되었습니다. 그래서 다시금 이를 되찾고자 나 자신에게 이런 질문을 던지게 되었습니다. 어쩌면 이는 일종의 자기 최면일 수도 있습니다만, 어차피 하기로 마음먹고 해야할 일이라면 내가 하고자 하는 일에 더 많은 의미를 부여하여 나 자신을 달리게 만드는 것도 하나의 좋은 전략이라고 생각합니다.
나는 개발자가 되는 일에 어떤 가치가 있다고 생각할까?
개발을 주업으로 삼아 커리어를 만들어나갈 때 얻을 수 있는 이점에는 뭐가 있을까요? 저는 아래와 같은 내용들을 주로 떠올리며 제 미래 삶의 모습을 그려보곤 했습니다.
1. 시간과 장소의 제약을 덜 받을 수 있다.
유연한 근무 형태와 근무 시간은 저에게 많은 이점을 가져다줍니다. 저는 작업 능률에 있어 환경의 영향을 많이 받습니다. 어디에다가 던져놔도 결국엔 적응해서 잘 해내겠지만, 그래도 스트레스를 덜 받으며 더 많은 일을 효율적으로 처리해낼 수 있다면 좋겠죠. 판데믹 기간 동안의 재택근무 경험을 통해 저 자신을 좀 더 잘 활용하는 환경이 무엇인지 고민해볼 수 있었습니다. 예를 들어 근무 시간에 약간의 유동성을 준다던지, 언제 뭘 먹고 어떻게 움직여야 몸이 잘 활성화 된다던지 하는 것들을 발견할 수 있었죠. 그에 따라 재택이나 하이브리드를 선호하면서 근무 시간을 유동적으로 가져갈 수 있으면 이상적이겠다는 생각을 하게 되었습니다.
또한 저는 본업 외에도 하고싶은 일이 많습니다. 그렇기 때문에 가급적이면 해야할 일들을 주체적으로 조정하여 원하는 일에 효율적으로 시간을 투자할 수 있다면 삶에 대한 만족감이 올라갈 것이라고 생각합니다. 재택 근무가 많이 축소된 요즘 당장에 가능한 일은 아니겠지만 그런 기업들이 아예 없는 것은 아니기에 언젠간 성취가능한 일이 아닐까 생각해봅니다.
2. 내가 생각하는 사회의 문제에 좀 더 직접적으로 기여할 수 있다.
세상에 있는 다양한 문제들 중 내가 관심이 가는 문제들에 직접적으로 기여할 수 있는 많은 가능성이 생깁니다. 물론 각자가 느낀 어떤 불편함에 대해 직업에 관계없이 누구나 방법을 고안하고 문제를 해결해나갈 수 있습니다. 다만 개발자는 직접적으로 프로젝트나 창업에 참여하여 문제의 솔루션을 만들어낼 수 있는 직접적인 능력을 갖추고 있고, 솔루션을 직접 만들지 않더라도 접근성 향상이나 자동화를 통해 간접적으로 문제 해결에 기여할 수도 있습니다. 나의 생각을 현실로 끄집어내서 실체화할 수 있는 능력은 매우 강력한 도구이며, 이를 잘 활용하여 문제 해결에 기여하는 일은 저에게 큰 매력으로 다가옵니다.
3. 대인 업무 스트레스로부터 비교적 자유로워질 수 있다.
이전 직장들의 경험을 토대로 대인 업무(동료 간의 협업이 아니라 사람을 상대하는 일을 의미)의 스트레스가 생각보다 큰 비중을 차지할 수 있다는 걸 알게 되었습니다. 클라이언트 응대나 행정 민원 처리 등의 대인 업무를 잘 해내는 것도 때로는 필요한 능력이지만, 가능한한 그 비중을 줄일 수 있으면 좀 더 만족감이 높은 업무 수행이 가능해지더군요. 갈등으로 인해 발생되는 스트레스는 결국 해결이 되더라도 마음에 남는 경우들이 더러 있기 때문입니다. 반대로 컴퓨터와 싸우는 문제는 컴퓨터가 나에게 불만을 제기하지는 않으므로 스트레스를 받는 비중이 적다는 생각이 듭니다. 또한 문제 해결 과정 중 자괴감이 들더라도 이를 나의 성장동력원으로 전환시킬 수도 있다는 장점도 있습니다.
4. 업무를 수행하며 하는 고민들이 직접적으로 나의 역량 증진과 연관된다.
단순한 경험 증가 차원에서의 역량 증진을 말하고자 하는 것이 아닙니다. 개발자가 업무를 수행하며 문제를 해결해나간다는 것은 구체적인 지식을 바탕으로 구조화된 문제 해결 능력을 매번 향상시켜야 함을 의미합니다. 때로는 학습을 통해 축적된 지식이 직접적으로 쓰일 수 있고, 그렇지 않더라도 더 큰 그림을 그리기 위한 간접적 지식으로 쓰이게 됩니다. 직종에 따라 차이는 있으나 보통 많은 직업들은 연차가 쌓일수록 한 분야 내에서도 나에게 특화된 무언가를 바탕으로 일하게 되는데, 개발자는 오히려 연차가 쌓일수록 더 넓은 분야를 더 깊이 이해하는 지식을 요구합니다. 적은 비용으로 더 많은 효과를 낼 수 있도록 프로젝트 전반에 걸쳐 다양한 것들을 조율해야하기 때문입니다. 문제를 해결해나가며 이런 저런 삽질을 하더라도 그게 나중에 보면 버릴 것 하나 없는 행위일 수 있다는 것을 의미하기도 합니다.
당연한 이야기이지만 역량의 증진은 직간접적인 보상으로 이어집니다. 이는 금전적인 보상이 될 수도 있고, 기회로 이어질 수도 있습니다. 요구되는 업무가 명확하다는 가정 하에, 개발자는 일을 잘 하는 척 사내 정치를 하고 싶어도 하기가 어려운 직업이라는 생각이 듭니다. 업무 성과를 숫자와 결과로 증명해내야 하기 때문입니다. 일단 돌아가게만 만들어도 되는 상황이라면 모를까, 비용과 효율을 따져 전체 구조를 잡고 프로젝트를 개선해나가야한다면 개발자는 요구되는 기대를 충족시킬 수 있어야 합니다. 요즘같은 불황에도 업계에서 여전히 고급 인력 수급이 어렵다는 말들이 나오는 것을 보면 아마도 그 단계까지 가지 못한 사람들이 많기 때문이라는 생각이 듭니다. 저도 언젠가는 역량이 쌓여 기회가 알아서 나를 찾아오는 단계에 오르고 싶네요.
내가 생각하는 이상적인 개발자의 모습
내가 무엇에 가치를 두는 지를 고민하며 순전히 주관적인, 추상적인 저만의 기준으로 이상적인 개발자의 모습을 그려보았습니다. 애초에 이 글의 주요 목적이 되는 내용이기도 합니다.
1. 구체적인 지식과 결과를 바탕으로 내가 속한 조직에게 가치를 줄 수 있어야 한다.
2. 내가 가치있다고 여기는 일에 직간접적으로 기여할 수 있어야 한다.
3. 개발 이외의 다른 관심사들을 발전시켜나갈 여유를 확보할 수 있어야 한다.
4. 원하는 삶의 형태나 방식을 찾아나갈 수 있는 여지가 있어야 한다.
일단은 이 정도로 정리될 수 있을 것 같습니다. 결국 현재로서는 내가 원하는 것들을 성취하기 위해 역량을 증진시키는 데에 더 많이 집중해야겠다는 뻔한 결론이 생각나지만, 고민을 거쳐 여기까지 도달하게 되어 저에게는 의미가 깊은 것 같습니다. 저만 보자고 쓴 글이지만 누군가에게 도움이 될 수 있다면 더 좋겠다는 생각이 듭니다. 그냥 이런 생각하는 사람도 있구나 정도로 봐주시면 감사하겠습니다.
'생각들' 카테고리의 다른 글
2년차 주니어 개발자의 이직 이야기 5 - 어떻게든 마무리 (2) | 2024.01.08 |
---|---|
2년차 주니어 개발자의 이직 이야기 4 - 얼어붙은 시장 (1) | 2023.11.20 |
시리즈A 스타트업 코딩테스트 후기 (0) | 2023.09.02 |
2년차 주니어 개발자의 이직 이야기 3 - 면접에 관하여(시리즈C 스타트업 후기) (0) | 2023.08.06 |
2년차 주니어 개발자의 이직 이야기 2 - 다시 돌아갈 수만 있다면 어떤 회사를 선택해야 할까? (2) | 2023.07.19 |