6개월 뒤 저는 IT 회사에 백엔드 엔지니어로 지원할겁니다.
짧다면 짧고, 길다면 긴 이 6개월, 무엇을 해야 저는 원하는 회사에 합격함은 물론, 제가 만족할만한 성장을 이룰 수 있을까요?
무엇을 할지 고민하기 전, 목표를 분명히 하기로 했습니다.
설령 "오픈소스를 읽을거야!" 라고 하면 오픈소스를 읽어서 무슨 목표를 달성하려고 하는지 이해하고 싶은 것입니다.
그래서 GPT와 함께 고민해 본 결과, 소프트웨어 엔지니어에게 필요한 역량을 3+1가지로 정리해봤습니다.
SW 엔지니어에게 필요한 역량
첫째, 기술적 역량.
Background 지식을 통해 요구사항을 실제로 설계/구현하는 능력입니다.
CS 기초(fundamental) 지식, 언어/프레임워크 숙련도, 요구사항 구현 능력, 디버깅/프로파일링(profiling) 능력 등이 포함됩니다.
둘째, 메타 스킬(meta-skill).
기술, 도메인에 상관없이 통용되는 엔지니어링적 사고를 말합니다.
이 능력이 모자랐던 주니어 시절 저는 문제를 풀기 위한 기술과 방법에 집착하는 한편, 시니어분들은 나무가 아니라 숲을 보고 문제의 본질을 먼저 이해합니다. 그 후, 의사결정의 임팩트(타 문제에 미치는 긍정적/부정적 영향, side-effect)와 선택지 별 트레이드오프(trade-off) 상황을 이해하고 의사결정의 근거로 삼습니다.
또, 이 능력이 뛰어난 사람은 기존의 기술들을 연상하며 새로운 기술을 접해도 쉽게 받아들입니다.
- 문제 정의 능력(해결해야할 문제, 제약조건, 세부 목표 등을 설정, 이해)
- 시스템 이해 능력(나무가 아니라 숲을 보는 능력)
- 엔지니어링 판단력(문제 상황 속 선택지 파악, 임팩트 파악, 트레이드오프 이해)
- 코드를 읽는 능력
셋째, 소프트스킬(soft skill)
다른 사람과의 협업 능력, 조직 내 의사결정 방법, 타인과의 신뢰도 유지 요령을 말합니다.
간과하기 쉽지만, 조직 내에서 살아남기 위해서는 꼭 필요한 역량입니다. 아무리 기술적인 경험이 많고 역량이 뛰어나도, 소프트스킬이 부족하여 생산성, 심지어는 생존 여부에 하자가 발생하는 사람이 있습니다.
- 설명/설득 능력(기술적인 배경 지식이 있는 사람과 없는 사람 모두에게)
- 피드백 제공, 수용
- 문서화
- 인성, 예의, 센스
- 명확한 책임 소재 구분
위 셋과 좀 궤가 다른 넷째 역량은, 자기관리 능력입니다.
조직 내에서 오래, 꾸준히 근무하기 위해서는 반드시 필요함을 뼈저리게 실감했습니다.
- 물리적인 체력
- 번아웃 관리
- 지나친 완벽주의 버리기
- 지속적이고 일관적인 생산성 유지
내가 앞으로 해볼 법한 일
이제 다시 본론으로 돌아와서, 저는 6개월 동안 무엇을 해야 할까요?
난이도 하(지금 당장도 무엇이든 할 수 있는 수동적인 일)
1. 엔지니어링 책 읽기
사놓고 읽지 않은 책이 많습니다. 책 페이지만 넘기면서 이해해도 도움이 될 것입니다.
- 기술적역량 ++++
- 메타기술 +
- 소프트스킬 0
2. 전공과목 복습하기
학교에서 배운 CS 배경지식을 다시 복습하는 과정입니다.
- 기술적역량 ++
- 메타기술 +
- 소프트스킬 0
난이도 중(하루이틀 정도는 확실하게 집중해야 할 수 있는 일)
1. 셀프브랜딩
거창하게 이름붙였지만, 현실적으로는 이력서 쓰기, 인성 면접을 위한 마인드셋 준비, 포트폴리오 준비 등을 말합니다. 당장할 필요는 없으니 회사 지원 직전에 시작해도 충분할 것 같습니다.
- 기술적역량 0
- 메타기술 0
- 소프트스킬 +
2. 오픈소스 읽기
Next.js 같은 서버 프레임워크는 물론, Redis, git, vim, React.js, nginx 등 오픈소스들의 Github repository를 파악하는 일입니다. 개인적으로 한 번 쯤 해보고 싶었던 공부입니다.
- 기술적역량 +++
- 메타기술 +++
- 소프트스킬 +
3. 시스템 아키텍쳐 해부
Youtube, Spotify, Instagram 등 세계적인 IT 서비스들의 아키텍쳐를 공부하는 일입니다. 아직 해보지 않아서, 가능한지 모르겠으나 당장 실무 면접에도 직접적인 도움이 될 공부일 것입니다.
- 기술적역량 +++
- 메타기술 +++
- 소프트스킬 +
4. 알고리즘 문제 풀기
가성비가 좋지는 않지만, 알고리즘 문제를 풀며 얻는 스킬들은 잠재적으로도 저에게 도움이 되고, 코딩테스트를 보는 일부 회사의 프로세스에 크게 도움이 될 것입니다.
- 기술적역량 +
- 메타기술 +
- 소프트스킬 0
난이도 상(꽤나 신경쓰고 성실해야 할 수 있는 일)
1. 유튜브, 블로그 기록
셀프브랜딩 면에서도 도움이 되지만, 저는 휘발되는 지식을 지속가능하게 기록하고 남들에게 공유/설명하는 일의 가치에 집중해서 하고 싶습니다.
- 기술적역량 ++
- 메타기술 +
- 소프트스킬 ++
2. 개인 프로젝트
프로젝트 규모에 따라 '난이도 중'으로 배치할 수도 있을 것 같습니다. 개인적으로 그럴듯한 제 소유의 공개 프로젝트 하나 없는 것은 저에게 큰 아쉬움이라 생각합니다.
- 기술적 역량 +++
- 메타기술 +++
- 소프트스킬 0
3. 오픈소스 기여
오픈소스에 제가 짠 코드가 한 줄이라도 들어갈 수 있다면, 저에게 큰 스펙이 될 것입니다.
- 기술적 역량 ?
- 메타기술 ?
- 소프트스킬 +
제 앞으로 6개월의 할 일거리들을 거창하게 정리해봤습니다.
더 이상은 구체적으로 계획하기 보다, 뭐든 일단 해보는 것이 중요할 것이라 생각합니다.
앞으로 제 인생에 언제 또 찾아올지 모를 여유로운 6개월인 만큼, 후회없이 사용하고 싶습니다.
'일상이야기' 카테고리의 다른 글
| 스킨을 적용한 티스토리 블로그에서 MathJax로 수식 입력하기 (1) | 2025.10.08 |
|---|---|
| 취미로 백준을 풀어보려는 사람에게 (0) | 2025.07.28 |
| 윈도우 PC와 맥북을 듀얼모니터로 함께 사용하던 책상 근황 (0) | 2025.05.20 |
| 구글 검색시, 티스토리 블로그 나만의 파비콘 노출시키기 (3) | 2023.10.19 |
| 윈도우 PC와 맥북을 듀얼모니터로 함께 사용하기 (17) | 2023.09.09 |