Share
Sign In
🤗국모다 it취업 개꿀팁
주니어 개발자로 성장하기 위해 필요한 핵심 역량
P
paul
👍
3
😀
3

안녕하세요. 국모다it의 Paul입니다.

오늘은 지난번에 내용에 이어서 '진짜' 주니어 개발자가 되기 위해서는 어떤 역량이 필요한지 이야기해 보도록 할게요. 우선 아래의 이미지를 봐주시고 글을 읽어 가면 좋을 거 같습니다.

주니어 개발자로서의 성공적인 성장은 개발 선배가 해결한 프로젝트를 구축하고, 실무 문제를 해결하거나 개선할 수 있는 능력을 갖추는 것에서 시작됩니다.
이를 위해서는 두 가지 핵심 역량이 필요합니다. 프로그래밍 역량과 엔지니어링 역량입니다.
1. 프로그래밍 역량 🛠️
프로그래밍 역량은 주니어 개발자의 기본이 되는 요소로, 이 역량을 습득하기 위해서는 다음과 같은 고민이 필요합니다.
프로그래머로 성장하기 위한 고민
협업 가능한 프로그래머가 되려면 어떤 철학을 가져야 할까?
버그를 최소화하는 코딩 방법은?
단순 구현을 넘어 효율적인 알고리즘을 적용하려면?
품질 좋은 프로그래밍을 하려면?
더 나은 프로그래머로 성장하기 위한 고민
규모가 커져도 논리적 허점이 생기지 않게 프로그래밍하려면?
성능 유지 및 향상을 위한 프로그래밍 방법은?
협업에 도움을 주는 최적화된 프로그래밍 방법은?
프로그래밍 역량 개발을 위한 키워드
코딩: 코드 가독성, 안전한 코드, 디버깅
패턴: 아키텍처 패턴, 디자인 패턴, 관형어 패턴
컴퓨터 과학 및 기본기
자료구조, 알고리즘, 컴퓨터 구조
운영체제: 운영체제에서의 문제 해결 노하우를 이해
네트워크, 데이터베이스: 기초 지식 이해 및 실무 적용
커리어 매니저의 개인적인 추천!
💬
프로그래밍 역량에 관한 키워드를 쉽게 적었습니다. 하지만 키워드 하나하나가 쉽게 얻을 수 있는 것이 아닙니다. 키워드 하나가 적게는 6개월에서 몇 년 동안 익혀야 합니다. 추가로 실전에서 해당 문제에 직면하고 해결해야 비로소 얻어지는 역량입니다.

개인적으로 역량 개발 방법을 추천해 드리겠습니다.
가능하다면 이론과 실무 역량을 따로 습득하는 것이 아니라, 실무에서 직면한 문제를 이론 배경과 원리까지 고민하면서 동시에 역량을 쌓는 것을 추천해 드립니다.

게임 속 목적을 위해 어두운 맵을 돌아다니면서 맵을 밝혀나가듯이, 프로그래밍 역량을 쌓아나가길 추천해 드립니다.

프로그래밍 역량과 관계된 블로그를 소개합니다.
https://hl1itj.tistory.com/136?category=327240
2. 엔지니어링 역량 🔧
엔지니어링 역량은 큰 코드베이스를 관리하고, 조직 환경에서 유지보수와 개선을 담당하는 데 필수적입니다. 이 역량을 습득하기 위해서는 다음과 같은 고민이 필요합니다.
코드 컨벤션에 관한 고민
조직이 커져도 일관된 코딩 스타일을 유지하려면?
형식보다는 본질에 집중하려면?
코드 리뷰에 관한 고민
코드 베이스를 일관되게 관리하려면?
가독성 있고 안전한 코드를 어떻게 미리 확인할 수 있을까?
브랜치 전략에 관한 고민
거대한 코드베이스를 여러 명이 관리하려면?
불편함 없이 개발하려면?
문서화에 관한 고민
코드와 API에 대한 내용을 팀원이 이해가 쉽게 이해시키려면 어떻게 해야 하지?
코드와 API에 관한 질문을 줄이기 위해서는 어떻게 해야 하지?
새로운 인력을 팀에 안착시키는 비용을 줄이려면 어떻게 해야 하지?


테스트와 배포 시스템에 관한 고민
단위 테스트는 어떻게 해야 하지?
규모가 커질 때 대규모 테스트는 어떻게 해야 하지?
시스템의 복잡도에 대응하기 위해 어떻게 테스트해야 하지?
리팩터링, 대규모 재설계 상황에서 실수를 빠르게 잡기 위해서는 어떻게 테스트해야 하지?
변화하는 기술, 시장 상황, 고객 취향에 더 빠르게 대응하기 위해 어떻게 테스트해야 하지?
엔지니어링 역량 개발을 위한 키워드
코드 컨벤션: 문서화, 소스 파일 관리, 포매팅, 명명 등
테스트: 단위 테스트, 통합 테스트
형상 관리 및 빌드: 브랜치 전략, 버전 관리
배포: 안전한 배포, 장애 대응, 운영
코드 베이스 유지보수
코드 베이스 이해 : 변수, 데이터, 실행 흐름, 데이터 흐름 이해
의존관계 이해 : 응집도, 결합도, 기술부채와 리팩터링
커리어 매니저의 추천!
💬
엔지니어링 역량은 AI가 대체할 수 없다고 생각합니다.
조직이 처해있는 상황과 이해관계자의 상황에 따라 의사결정이 다르기 때문입니다.

예를 들어 의존성에 관한 문제가 있을 때 기술 부채로 남겨둘지 리팩토링을 통해 의존성 문제를 해결할지는 조직의 상황에 따라 다릅니다.

시간에 따라 기업의 규모와 범위가 성장할 때 엔지니어링 역량이 기하급수적으로 요구됩니다.
엔지니어링 역량을 개발할 기회가 있을 때 꼭 개발하였으면 좋겠습니다.

엔지니어링 역량과 관계된 블로그를 소개해 드립니다. 읽어보시면 도움이 됩니다.


마무리
💬
주니어 개발자로 성장하기 위한 프로그래밍, 엔지니어링 역량을 소개해 드렸습니다. 소개해 드린 역량의 키워드는 어렵고, 무겁고, 개발할 때까지 시간이 오래 걸립니다.

모든 역량을 다 갖추어야 주니어 개발자라고 생각하기보다는, 소개한 역량을 갸발하는 과정 중에 주니어 개발자가 된다고 생각합니다.

이러한 역량을 개발하다 보면 ‘누군가 풀지 않은 문제에 도전할 때’가 올 것으로 생각합니다. 이때가 ‘시니어 개발자로 진입하는 시기가 아닐까’ 생각합니다.

마지막으로 부족한 부분이 있거나 더 나은 생각이 있으면 피드백 부탁드립니다.

국모다는 여러분들의 취업을 위한 성장을 돕기 위해 노력을 하고 있습니다
이 글이 도움이 되었다면 이모지를 하나 눌러 주세요~

위 글은 국모다it에서 활동하고 계신 커리어 성장 매니저 님의 글을 요약하여 작성하였습니다.
Subscribe to '국모다'
Welcome to '국모다'!
By subscribing to my site, you'll be the first to receive notifications and emails about the latest updates, including new posts.
Join SlashPage and subscribe to '국모다'!
Subscribe
👍
3
😀
3
paul
구직활동 시작해보기
취업을 위한 구직활동 가이드 📝 이번에는 구직활동을 시작하는 데 있어 어떤 식으로 접근하면 좋을지 이야기를 해보려고 합니다. 우리는 구직활동을 효과적으로 진행하기 위해서는 각 단계마다 전략적으로 접근해야 합니다. 구직자가 기업 입사 과정에서 고려해야 할 사항과 성공적인 취업을 위한 이야기입니다. 아래의 그림은 마케팅에서 고객 유저 전환율을 설명할 때 많이 쓰는 funnel analysis 모형을 차용한 이미지입니다. 우리도 채용이라는 서비스를 이용하는 한 유저라고 생각하고 중간 이탈 없이 깔때기 끝(Goal)까지 어떤 식으로 가는지 상상해 봅시다. (커리어 매니저님이 직접 제작하신 겁니다.) 1. 구직자 입사 퍼널 이해하기 🔍 구직자 입사 퍼널은 구직자가 기업 입사 과정을 단계별로 거쳐 나가는 과정을 의미합니다. 각 단계마다 구직자가 고민해야 할 사항과 행동 지침이 있습니다. 기업 입사 지원 구직자 고민 : 채용 담당자 이력서 열람까지 행동을 유도할까? 구직자 행동 동일한 직무로 입사 지원 입사 지원 채용 플랫폼 채널 다양화 채용 담당자 열람 현황 모니터링 채용 담당자에게 입사 지원 검토 요청 및 피드백에 관한 메일 보내기 성공 결과 채용 담당자 이력서 열람
👍
4
paul
주니어 개발자로 성장하기 위한 마음가짐 🌱
주니어 개발자로 성장하기 위한 마음가짐 🌱 안녕하세요. 국모다it의 paul입니다. 오늘은 주니어 개발자 시리즈 마지막 편입니다. 마인드셋에 대해 이야기해 볼 건데요. 어떤 마음가짐을 갖는 것이 본인의 성장과 채용자에게 어필하는 데 있어 좋은지 이야기 나눠보겠습니다. 주니어 개발자로 성장하기 위해서는 많은 역량을 개발해야 합니다. 경력이 쌓일수록 더 많은 역량이 요구되며, 이는 개발자의 경력 성장에 필수적입니다. 그러나 이러한 성장은 단순한 기술 습득만으로 이루어지지 않습니다. 끊임없는 학습과 고통의 양을 이겨낼 수 있는 올바른 마음가짐이 필요합니다. 마음가짐의 중요성 취업에 성공하는 내담자의 경력관리 상담을 돌이켜보면 성장하는 마음가짐을 가지고 있다는 것을 느낍니다. 정말 성장하고 싶다면 마음가짐은 저절로 따라오는 것 같습니다. 주니어 개발자로 성장하기 위한 마음가짐 소개 그렇다면 성장하는 개발자의 마음가짐은 무엇일까요?? 💡 주니어 개발자로 성장하는 데 도움을 주는 5가지 마음가짐을 소개해 드립니다. 1. 열정을 가지고 문제 해결을 하려는 마음가짐 🔥 문제를 해결할 때 최선을 다하고, 쉽게 지나치지 않습니다.
👍
3
paul
주니어 개발자란
주니어 개발자란 무엇인가? 🚀 주니어 개발자라는 역할은 단순히 '신입' 그 이상입니다. 주니어 개발자는 이미 누군가 해결했던 문제를 개선하는 단계에 도달한 개발자를 의미합니다. 오늘은 주니어 개발자가 어떤 역할을 맡고, 어떻게 성장할 수 있는지 살펴보겠습니다. 문제 해결 역량에 따른 경력 수준 📊 개발자의 경력은 문제 해결 역량에 따라 크게 4단계로 나뉩니다. 진입 단계: 문제를 배우고 실습하는 단계 신입 단계: 실무에서 문제를 이해하고 해결하는 단계 주니어 단계: 기존 문제를 개선하는 단계 시니어 단계: 해결되지 않은 문제에 도전하는 단계 주니어 개발자의 핵심 역할 🔧 주니어 개발자란 누군가 해결했던 문제를 개선하는 능력을 가진 개발자를 말합니다. 이 단계의 개발자는 실무에서 발생하는 문제를 해결할 수 있으며, 이를 자동화, 최적화, 효율화함으로써 비즈니스 개선에 기여할 수 있습니다. 주니어 개발자의 주요 행동 새로운 기능 개발: 기존 시스템에 기능을 추가하거나 개선합니다. 자동화 및 최적화: 시스템 운영을 자동화하고 성능을 향상시킵니다.
👍💪
8