출처 : 여성시대 최봉기본부장
학교 졸업하고, 학원 수료하고
어찌저찌 개발자로 취업은 했는데...
개발자는 평생 공부하는 직업이라는데...
다들 뭔 공부를 하는거야? 어떻게 공부하는거야?
알려드립니다.
대부분 취업하려고 공부하는 기술스택들이
자바, 스프링, jsp, mybatis, rdbms(mysql,oracle, etc.)
프론트면 리액트,js(혹은 ts)
여기까지일거라고 예상합니다.
그게 본인 세상의 전부인데 뭘 더 어떻게 공부해야되는지 감이 안잡혀서
인프런 들어가서 네임드 개발자가 해주는 강의 커리큘럼 쭉 타는 분들이 많은 것 같아요.
아니면 본인이 배우고 싶은 기술 관련 책을 사서 공부하거나..
그게 나쁜 건 아니지만 효율이 매우 떨어집니다.
학습은 이렇게 하세요.
1. 학습로드맵짜기
본인이 가고싶은 기업, 하고싶은 직무의 채용공고를 봅니다.
여기서는 당근마켓, 백엔드 서버 쪽을 예시로 들겠습니다.
여기서 키워드를 다 뽑아볼게요.
자바, 코틀린, 대규모 트래픽,
마이크로서비스 아키텍쳐(MSA), REST, gRPC, RDBMS,
WebFlux,Coroutine,R2dbc(동시성관리, 비동기처리)
클린아키텍처, DDD(도메인주도개발),
쿠버네티스, aws, GraphQL
이것들이 대부분의 백엔드 엔지니어들이 앞으로 공부해야 할 것들이에요.
이름만 들어봤거나 아예 초면인 것들도 많을거에요.
신입이 이걸 다 공부할 필요는 없어요.
다 공부할 수도 없고요.
그래도 이런 키워드들 검색해서 대충 뭔지 알아 보는 정도는 하세요.
그리고 그 중에 흥미가 있는 것, 하고 싶은 것, 본인 현재 직무와 관련있는 것들을 솎아내세요.
그게 당신의 학습 로드맵입니다.
2. 공식문서 보는 법
앞에서 내가 뭘 공부해야 되는지는 파악했는데..
그럼 이제 뭘 어떻게 해야하는지 막막하실거에요.
그래서 유튜브에서 생활코딩 계정도 뒤져보고,
인프런에서 검색도 해보고, 관련 책을 구매할 수도 있겠네요.
근데 업로드 되어있는 영상들과 출판되어 있는 책들은 그 시점의 스냅샷이에요.
기술들은 계속 업데이트되죠.
여러분이 산 책이, 결제한 강의가 현재의 기술을 다루고 있다고 어떻게 확신하세요?
그 책을 쓴 사람은, 그 강의를 찍은 사람은 태초에 그 지식을 어떻게 습득했을까요?
바로 공식문서입니다.
공식문서는 기술 업데이트 시점에 같이 업데이트되고
심지어 당신이 사용하고 있는 기술이 구버전일 경우까지 다 고려해서 작성되어있어요.
그런 공식문서를 보는 법은 물론 공식문서의 존재 조차 모르는 신입분들이 너무 많더라고요.
공식문서는 키워드+documentation 이렇게 검색하면 대부분 최상단에 뜹니다.
코틀린으로 검색해볼까요
바로 뜨네요.
클릭해서 들어가 볼게요.
너무 친절하고 예쁜 공식문서의 모습이 보이시나요...
코틀린 시작하기부터 코틀린을 활용하는 방법을 종류별로 나누어서 자세하게 설명하고 있네요.
우리는 코틀린을 처음 해보는 신입 개발자니까 Get Started with Kotlin을 클릭해볼게요.
코틀린을 활용하는 방법이 백엔드, 크로스플랫폼앱, 프론트웹앱, 안드로이드앱, 멀티플랫폼 이렇게 다섯개로 나눠진다는걸 바로 알 수 있네요.
우린 백엔드 엔지니어니까 백엔드 탭에서 좀 더 읽어볼게요.
시작하려면 일단 최신버전의 인텔리제이를 깔아야 하네요.(1번)
하이퍼 링크를 클릭하면 바로 인텔리제이 다운로드 화면으로 이동합니다.
2번에서는 코틀린 프로젝트를 생성하는 방법에 대해서 알려주고 있어요.
클릭해서 들어가면 아래처럼 친절하게 어떤 걸 누르고 어떤 걸 선택해야 코틀린 프로젝트를 생성할 수 있는지 알려줍니다.
그 밑에는 코틀린으로 백엔드 서버를 만들 때 활용할 수 있는 프레임워크가 Spring이랑 Ktor가 있다는 정보도 주고 있네요.
그리고 그 밑에 하이퍼 링크를 클릭하면 역시나 친절한 튜토리얼이 있습니다.
강의를 파는 대부분의 개발자들이 공식문서를 활용해서 강의를 해요.
우리가 공식문서를 스스로 읽을 수 있다면 굳이 돈 주고 과거의 정보를 살 필요가 없겠죠.
공식문서 검색하는 팁 드립니다.
처음 배울 때 : get started
문법만 간단히 보고 싶을 때 : cookbook, handbook, cheatsheet
완성된 기능을 구현해보고 싶을때 : 기능+tutorial (ex. kotlin rest api tutorial)
위에서 언급한 documentation에 이 정도만 알고 있어도 공식문서를 잘 활용할 수 있을겁니다.
3. 커뮤니티 활용하기
개발자들의 커뮤니티라고 하면 okky, stack overflow 정도 알고 계실거에요.
물론 이 커뮤니티들도 너무 좋은 커뮤니티지만 만약 내가 좀 더 확실한 정보들을 얻고싶다면
사용하는 기술들의 공식 커뮤니티를 활용하세요.
기술이름+discord라고 검색하면 기술을 만든 회사에서 공식적으로 운영하는 디스코드 채널들이 뜹니다.
아래는 제가 들어가있는 채널들이에요.
차례로 코틀린, 쿠버네티스, 타입스크립트, 도커, 플러터 채널이고
보시다시피 채널 안에는 다양한 카테고리로 사용자들이 대화를 나눌 수 있게 되어있어요.
이 안에서는 그 기술들에 대한 공식적이고 깊은 대화들이 오가고있고
궁금한게 있으면 언제든지 질문을 올릴 수 있어요.
4. 질문하는 법
공식문서대로 해도 안되는거 있을겁니다. 무조건 있을거에요.
그러면 회사 사수든, 인터넷이든 질문을 해야하는데
신입개발자분들 중에 제대로 질문하는 법을 모르시는 분들이 생각보다 너무 많더라고요.
아래 사항을 포함해서 질문하시면 대답해주는 사람도 바로 대답해줄 수 있고 질문하는 사람도 얻어가는게 많을겁니다.
- 구현하려고 하는것
- 에러로그(어떤 에러가 나는지 정보가 반드시 필요함) **
- 에러를 해결하려고 내가 시도해본 방법들
- 내가 추측하는 에러의 원인 + 그렇게 생각하는 이유
- 나의 개발환경 (os, 사용하는 기술스택, 기술 버전, 등등)
회사 선배들한테 물어볼 때는 개발환경 정도는 스킵해도 되지만
만약 인터넷에 물어보는거라면 개발환경에 관한 정보가 반드시 필요합니다.
(같은 맥 환경이어도 인텔칩이냐 애플실리콘이냐에 따라 에러 원인이 다를 수 있음)
저렇게 질문하시면 대답해주는 입장에서도 여러분이 시도해본 것들을 제외하고 대답해줄 수 있고
질문하는 입장에서도 그 방법들은 왜 안되고 답변받은 방법은 왜 되는지 공부가 되는 멋진 질문이 될거에요.
5. 여담
제가 올린 사진들이 죄다 영어라 겁먹은 분들도 있으실 것 같아요.
근데 사실 들어가서 보면 쉬운 단어와 기술용어의 조합이라 해석하는데 큰 어려움은 없으실겁니다.
그리고 앞으로 계속 개발자를 하실거라면 영어독해, 듣기 정도는 익혀두시면
얻는 정보의 질과 양이 어마어마하게 달라집니다.
영어는 꼭 공부하시면 좋겠어요.
신입개발자분들께
신입은 잘 모르고 잘 못하는게 당연한거고
회사에서 신입을 뽑았으면 신입이 일을 잘할 수 있게 알려주는게 당연한겁니다.
그게 싫으면 신입이 아니라 경력을 뽑았어야 되는거고요.
신입인데 본인이 너무 못하는 것 같아서,
또 그런 자신을 회사에서 너무 질타해서 우울해하는 분들을 많이 봅니다.
개발이 안맞는게 아니라 그 회사가 안맞는거에요.
거기서 버티면서 아파하지 마시고 회사를 옮기세요.
여자들은 개발 잘합니다. 경험상 그랬어요.
모두 멋진 개발자가 되길 바라요.
도움 많이 돠었어!! 고마워!!!
이렇게 길고 깔끔하게 글 써주는 것도 쉬운 일 아닌데 여시가 경험한 거 나눠준 것도 고맙고 이런 실천력과 자신감도 전달해줘서 고마워 여시가 늘 즐겁게 지내기를 바래!
최고
와 여샤 도움 많이 됐어🤍
완전 꿀정보다 고마워
나 다른 직무로 들어갔다가 프론트엔드 배우고 있는데 너무 못하는거 같아서 우울하고 자괴감 들었는데(심지어 전공자임ㅠㅠ) 이런 좋은 정보 알려주고 따뜻한 글 써줘서 너무 고마워 여시
휴우 자괴감와서 연어왓는데 꿀정보+ 힘되는 말 너무 고마워🥹🥹열심히 공부하고 힘내볼게 ㅠㅠ 글써줘 고마유ㅓㅠㅠ
고마워!!