Search
Duplicate
🤔

개발자가 되고 싶은 이들이 자주하는 질문에 대한 이야기

개발자로 취업을 하려고 하는 분들이 늘어나고 있습니다.
이 카페 뿐 아니라 개발 단톡방 여럿에서도 나오는 질문들에 대해서 주관적인 조언들을 하고자 합니다.
이미 자신의 길이 확실하거나 하시면 굳이 안보셔도 됩니다.

1. 개발 공부는 어떻게 시작하나요. 독학을 하나요? 국비를 가나요? 등..

: 제일 자주나오는 질문 중 하나입니다. 이에 대한 방법도 정말 다양하죠. 저는 여기서 난이도 별로 소개하며 어려운 순으로 하시거나 하나를 정해서 해보시는걸 추천드립니다. 일단 해보시고 결정하시기 바랍니다.
집에서 혼자 독학 : 집에서 책이나, 인강등을 보면서 직접 공부하는 방식으로, 처음부터 책을 독파하거나, 혹은 책을 조금 훑고 바로 프로젝트를 진행하면서 모르는것을 찾아보면서 공부하는 방식. 혼자서 자기절제를 충분히 하면서 모르는 것도 구글링 해서 찾아가면서 공부해야 하기에 쉽지 않습니다. 하지만 여기에 익숙해지면 미래에 자기발전을 하기에는 습관이 만들어 졌기에 한결 편할 수 있다.
도서관, 스터디 카페 등 학업 분위기가 조성된 곳에서 독학
: 집에서 혼자 하는 것보다는 주위 시선도 신경쓰이고 화이트 노이즈도 있고, 몇몇 스터디카페는 집중하기 편하게 조명부터 습도, 온도까지 조절해주기에 집중하기 좋다. 필자도 취업 후 1년동안은 스터디 카페를 다니면서 학습을 했었습니다.
자금에 따라 분기
돈이 부족한 경우
:국비 학원으로 필자 역시 이 경우를 선택했는데 고려 할 점이 몇가지 있습니다. 1. 등/하원 거리및 시간을 고려하라. 필자의 경우 왕복 3시간~4시간 가량이 걸렸는데, 매일 08:00 ~ 21:00 까지 학원에서 버티다보니 6개월차 쯤에는 체력적으로 너무 힘들어서 집중력이 많이 떨어졌습니다.   2. 담당 강사를 살펴봅시다. 교육과정은 거의 다 비슷하다. 애초에 회사에서 요구하는 최소한의 기술만 교육해 취업시키는게 목적이기에 커리큘럼 자체는 별로 중요하지 않다. 그보다는 강사가 누군지 살펴볼 필요가 있다. 하지만 학원 측에서 강사 정보를 공개하지 않거나 리뷰도 편향적일 수 있기에 확인하기 쉽지 않습니다.   개인적으로는 혹은 검색해본 다른사람들의 의견을 취합하면 다음 부분을 신경씁시다. - 최우수 훈련기간인가? - 학원 홈페이지에서 교육과정을 두리뭉실한게 아닌 명확하게 소개하는가? (ex: 자바의 자료형, 연산자, OOP 이해 등.. 명확한 소개) - 뭔가 화려한 기술이 아닌 기본기를 가르쳐 주는곳.
돈이 충분한 경우
: 이 경우엔 사실 별로 고민할게 없다. 내가 약 400~800만원 사이의 금액을 지출할 여유가 된다면 그냥 적당한 부트캠프 찾아서 들으면 된다. 나 자신의 절박함이나 성실함만 충분하다면 됩니다. 학원의 패러다임이나 방향성이 나랑 맞는지만 확인한 뒤 상담받아보고 결정하면 됩니다.
다음 링크는 부트캠프 목록 정리 사이트이니 자신에게 맞는 부캠을 찾아봅시다. (링크)   아니면 남궁성강사님이 조만간 교육 과정을 준비하고 있으니 이를 기다려보는것도 좋을 것 같습니다.

2. 독학을 하면 포폴용 프로젝트는 어떻게 하죠? 개인 포폴은 뭘 만들어야 하나요?

물론, 학원(국비, 부트캠프)을 다니면 알아서 팀이 구성되고 그 팀내에서 프로젝트를 진행하고는 합니다.
그래서 개인으로 독학하면서 준비하는 분들은 포폴 프로젝트는 어떻게 해야할지 고민하고는 하는데, 크게 두 가지 방법이 있습니다.

첫 째, 혼자 만들기

필자 역시 그렇지만 개인용 포폴을 준비할 때 했던 실수가 프로젝트의 깊이보단 넓이에 집중했다는 것입니다. 다른 사이트를 참고한다고 거대한 포털 사이트(네이버,다음 등), 이커머스 사이트(마켓컬리, 지마켓, 쿠팡 등...), 교육 사이트(인프런, 프로그래머스)등을 보고 따라하는데, 이는 혼자 하기엔 양도 너무 많고 구현할 기능도 너무 많아 혼자서는 진행하기도 힘들뿐더러 깊이가 없기에 별로 도움이 안된다고 생각합니다.
차라리 게시판 하나를 만들더라도 '제대로' 만들어보는게 좋습니다. 사실 게시판은 쉽게만들려면 너무 쉽게 인터넷만 구글링해도 만들수 있지만, 어렵게 만들려면 한없이 어렵게 만들 수 있습니다.
(Ex: 로그인, 파일업로드, 이미지, 텍스트편집기 라이브러리 사용, 댓글(or 대댓글))
그리고 이런 포폴 프로젝트에서 중요한점은 얼마나 이쁘게 만들었냐 디자인이 수려하냐가 아니라, 얼마나 안정적인지, 사용자의 돌발 행동에 대한 대처가 잘 되어있는지, 그리고 무엇보다 내가 이 프로젝트를 진행하며 겪은 트러블을 어떻게 트러블슈팅 해줬는지에 대한 경험인 것 같습니다. 필자 역시 면접에서 가장 플러스되었던 요인이, 포폴 프로젝트 배포에 있어서 생겼던 aws 인스턴스 배포 문제와 이를 해결했던 과정을 설명했던 부분이였습니다.

둘 째, 여러 사이트에서 스터디 그룹 참가(혹은 생성)하여 포폴 프로젝트 진행

해당 카페, 인프런, 오키, 단톡방 등등 프로젝트용으로 스터디 그룹 가입하거나 만들어서 진행하는 방식으로
베스트는 3년차 이상 현업 개발자가 포함된 스터디그룹에서 리더가 있는 상태에서 진행하는게 제일 좋아여 배울 점도 많습니다.
장점은 여러명이 참가하기에 좀 더 규모있고, 수려한 포폴 사이트가 만들어진다는점...
단점은 내가 맡은 파트를 제외하고는 이해도가 떨어지기에 따로 학습을하거나 해야한다는 점..
자신이 원하는 방향으로 잘 골라서 진행하시면 될 것 같습니다.

3. 개발자 되려면 뭘 공부해야 하나요

개발자의 종류는 다양합니다. 프론트엔드, 백엔드, 인프라, DBA, 보안, 임베디드, 머신러닝 등등.. 분야가 많죠.
각 개발자의 업무에 대하 정말 간략하게 한줄 정리를 하면 다음과 같고 좀 더 디테일한 부분은 구글에서 검색해서 확인하기를 바랍니다.
1.
프론트엔드 개발자(클라이언트 개발자) ⇒ 사용자에게 보이는 클라이언트 측면의 프로그래밍을 담당
2.
백엔드 개발자(서버 개발자)
⇒보이지 않는 비즈니스 로직 프로그래밍을 담당
3.
풀 스택 개발자 ⇒프론트엔드, 백엔드를 모두 하는 개발자
4.
미들티어 개발자 ⇒프론트엔드 또는 백엔드에 특화되어 있지는 않지만 둘 다 조금씩 할 줄 아는 개발자
5.
웹 개발자 ⇒웹 페이지, 웹 사이트 등 www기반 소프트웨어 개발자 또는 소프트웨어 엔지니어
6.
데스크톱 개발자 ⇒데스크톱 운영체제(Mac OS, Windows, Linux 등)에서 운영되는 소프트웨어 어플리케이션 담당
7.
모바일 개발자 ⇒모바일 기기의 어플리케이션의 코드를 구성하는 개발자
8.
그래픽 개발자 ⇒3D 그래픽이나 애니메이션을 계산하여 유저의 모니터로 출력하는 개발자
9.
게임 개발자 ⇒게임 분야 전문인 개발자를 가리키는 포괄적인 용어
10.
데이터 사이언티스트 ⇒데이터 분석 소프트웨어 프로그램 담당
11.
빅 데이터 개발자 ⇒데이터 저장, 추출하는 소프트웨어 프로그램 담당
12.
데브옵스(DevOps) 개발자 ⇒백엔드 소프트웨어, 분산 시스템을 설계/담당/통합/관리하는 기술을 담당
13.
CRM 개발자 ⇒고객 데이터 수집 시스템 분야의 전문 개발자
14.
소프트웨어 테스트 엔지니어 (SDET) ⇒소프트웨어 시스템을 평가하는 소프트웨어를 구성하는 개발자
15.
임베디드 소프트웨어 개발자 ⇒마이크로컨트롤러, 리얼타임 시스템, 전자 인터페이스, 셋톱박스, 컨슈머 디바이스, iOT 디바이스, 하드웨어 드라이버, 그리고 시리얼 데이터 트랜스미션 등 하드웨어 관련 담당
16.
High-Level 개발자 ⇒파이썬, 루비, Perl, PHP등 high-level scripting 언어를 사용하여 하드웨어와 거리가 매우 먼 코드를 작성하는 개발자
17.
Low-Level 개발자 ⇒ C언어, Assembly 등 low-level 언어를 사용하여 하드웨어와 거리가 가까운 코드를 작성하는 개발자
18.
워드프레스 개발자 ⇒ 워드프레스를 위한 테마, 플러그인 제작 및 워드프레스 사이트 관리 담당
19.
보안 개발자 ⇒ 소프트웨어 시스템 안정성 테스트 및 수정 담당
그리고 이 중 [Frontend, Backend, DevOps, Android, DBA, React] 를 희망하시는 분들은 다음 링크에서 원하는 로드맵을 선택하시면 어떻게 학습을 시작하고 뭘 학습할지 나옵니다. 여기서 추천하는 항목들에 대해선 필히 학습하시길 바랍니다.

4. 개발자 연봉은 얼마가 적당한건가요?

단톡방이나 카페에서 이런거 물어보면 사람들이 짜증 많이 낼 것입니다.
너무 많은 분들이 물어보시는데 답이 없는 질문이기 때문이죠.
적게는 2000에서 많게는 8000이상들도 받는 분들이 존재하는만큼 정말 주니어 개발자 평균 초봉 스펙트럼이 아주 넓습니다. 제가 취업할땐 중소 2800 +@, 중견 3500 +@, 대기업 4200 +@ 이정도로 보라는 의견도 있었는데, 이 역시 너무 대중없는 말 입니다.
그래도 어느정도라도 가늠하고싶다 싶으시면 내가 합격했거나 합격하고싶은 회사에 대해서 NICE 기업정보 사이트에서 회사 정보를 조회해 보시기 바랍니다.
우아한 형제들 NICE 기업정보 연봉 챕터 참고
그 밖에 크레딧잡, 잡플래닛, 블라인드 등등 회사평가를 확인할 수 있지만, 주로 퇴사자는 부정적으로, 재직자는 긍정적으로 쓸 수밖에 없기에 신뢰도가 아주 높지는 않고 참고용으로 보시기 바랍니다.

5. 학원 나오면 네카라쿠배갈 수 있나요?

네카라쿠배가 뭐냐면 현재 연봉도 높고 대우도 나쁘지 않은 중견이상 기업들 입니다. (요샌 추가로 당(당근마켓), 토(토스)등도 추가되었죠.)
근데 광고를 보면 뭐 학원 과정만 들으면 여기 있는 회사 갈 수 있다고 합니다. 가능하냐구요? 글쎄요...
그 고3때 보던 수능 100일의 전사 뭐 이런걸로 보시면 됩니다. 가능 할 수도 있겠죠. 요새 개발자가 부족하다 부족하다 하지만, 그건 일정이상의 실력이 되는 개발자를 말하는 것이구요. 일명 경력있는 신입처럼 신입이지만, 대용량 트래픽 처리, OOP 에대한 높은 이해, 일정 수준 이상의 알고리즘 능력, GC에 대한 이해와 사용 능력(ex: ZGC란 무엇인가, GC의 종류와 동작 원리에 대한 설명 등...) 등 꽤나 높은 수준의 개발자를 요구하고 이 역시 계속 상향평준화 되는 상황입니다.
수능 100일의 기적
물론, 그래도 내가 열심히하고, 또 열심히 한 만큼 하면 네카라쿠배당토 갈 수 있겠죠.
근데 학원 코스 6개월 어느정도 열심히 한 정도로 갈 수 있다는 생각은 버리는게 좋습니다.
길게 보시고 내가 1~3년동안 정말 대부분의 시간을 공부에 쏟아붓고 활동해서 가시는 분들은 꽤 있으니 이를 생각해서 하나의 학원이나 교육과정으로 참가만해서 네카라쿠배당토를 갈 수 있느냐는 생각보다는 그 이후까지 꾸준히 공부해서 가는것을 목표로 잡기를 바랍니다.

6. 정보처리기사 자격증 따야하나요?

전공자라면 졸업증이 있는데 졸업증을 다시 한 번 따는 거라고 생각하시면 되고, 비전공자는 있어도 나쁠건 없습니다. 공공SI를 할 경우에는 이 기사 자격증이 도움이 되지만 그외에는 크게 도움 될 일이 없습니다.
요새는 변별력이 조금 생겼다고 하지만, 이전에는 자격증 취득이 너무 쉬워서 당일처리기사라는 오명도 있었으니까요. 그래서 이 자격증이 있다고 이력서 작성한다고 인정받고 그런건 딱히 없습니다. 저 역시 자격증을 따긴 했지만, 아직 자격증 수첩 발급신청도 안했고, 회사에서도 기사 자격증 없을 때 취업했습니다.
(2021년 8월 기준) 정보처리기사 시험 출제 범위
다만, 시험에 나오는 항목들이나 키워드들이 알아둬서 나쁠것도 없고 배워두면 다 결국 쓸 곳이 있으니 공부하는 목적으로 준비하는것은 나쁘지않다고 생각합니다. 저 같은 경우에도 기사 준비할때 배웠던 협업 키워드 관련해서 회사 회의시간에 알아들을 수 있어서 도움 되었습니다.

ETC. 그 밖에 드리고싶은 말

개발자라는 직종이 쉽게보면 컴퓨터만 있으면 되고 책, 인강, 학원등 정보 제공을 해주는 곳이 워낙 많은데다가, 취업에 대해서도 낮게 보면 정말 개발만 알아도 취업이 되는데 연봉도 상대적으로 나쁘지 않아 보이기에 많은 분들이 고려하고 있습니다.
하지만, 그렇게 쉽게 시작하고 안주하게 되면 결코 2~3년차에서 점핑하거나 인정받기가 불가능에 가깝습니다.
어느 직종이던 같겠지만 개발 분야 역시 달리지 않으면 퇴보하게 되고, 그래서 평일, 주말 할 것 없이 스터디 그룹을 짜서 스터디를 하고 책을 사서 책을 보고, 새로운 트렌드의 라이브러리나 기술에 대해서도 지속적인 학습이 필요합니다. 즐기지 않으면 버티기 힘듭니다.
하지만, 계속해서 기술을 탐미하고 학습하는걸 즐기게 되면 아주 매력적인 분야이고 어느 정도 금전적으로도 안정되기에 도전해보시길 바랍니다.
다음으로 제가 개인적으로 많은 인사이트를 얻거나 학습을 진행했던 교육 사이트, 플랫폼 등등을 소개해드리겠습니다. (※Udemy를 제외하고는 전부 직접 수강했고 수료까지 했습니다.)

A. 남궁성님의 자바강의 유튜브

: 요즘 수려하고 화려한 효과의 세련된 편집 기술의 강의들에 비교해서 약간은 투박할 수 있습니다.
하지만, 남궁성 강사님의 온라인/오프라인 강의를 모두 들어본 입장에서는 자바의 정석을 공부한다면 이 채널은 구독하고 다 들어보시길 추천합니다. 책을 2회독, 3회독만해도 이해도가 달라지는게 느껴지는데 남궁성 강사님은 근 10년 이상을 책을 개편하고 교육하시면서 발전을 거듭하셨는데, 대학/대학원을 나오면서도 쉽지 않았던 자바 및 OOP에 대한 이해를 하는데 정말 많은 인사이트를 얻었습니다.

B. 주니어가 읽으면 좋은 학습 추천 정리 블로그

: 개인적으로 교류하며 많은 인사이트를 얻게 해주는 Lob이라는 분인데, 자바, 스프링에 대해서 읽고 배운 책, 인강들에 대한 추천평 및 소개가 있기에 참고하기 좋습니다, 뿐만아니라 취업에 필요한 기술면접 리스트들도 정리되어 있기에 추천합니다.

C. 영어가 된다면 Udemy

: 저는 사실 영어가 부족해서 여기서 들은적은 없습니다만, 가격적으로나 퀄리티부분이나 많은 분들이 추천합니다. 스크립트(대본)을 다운받아서 볼 경우 청해력이아니라 독해력만 있어도 가능하기에 영어가 어느정도 되신다면 추천드립니다.

D. 영어가 안된다면 Inflearn

: 제가 주로 보는 강의 사이트인데, 한국어라는 부분이 크게 장점입니다. 조현영(제로초), 김영한, 백기선님 등 스타개발자들이 많은 강의들을 등록했는데, 노드, 리액트, 타입스크립트는 조현영님, 스프링및 JPA는 김영한님, 스프링, 자바(고급)은 백기선님등의 로드맵을 확인하시길 바랍니다.

E. 프로그래머스 (Programmers)

: 최초에는 인프런과 비슷한 인터넷 강의 플랫폼이였는데, 이제는 노선을 바꿔서 강의보다는 유료 스터디와 데브매칭을 진행합니다.
유료 스터디 : 시니어급 이상의 개발자들이 주관하여 미션이 발행되면 참가원들이 미션 진행후 제출하면 그에 대한 코드리뷰를 받으면서 진행하는 방식입니다. 이는 완전 초보보다는 어느정도 공부를 한 상태에서 시니어급 이상에게 리뷰를 받으면서 잘못된 습관이나 코드의 문제점을 파악하고 고칠 수 있습니다. 다만 내가 참여율이 저조하거나 진도를 못따라갈 정도의 수준이라면 말 그대로 돈을 땅에 버리는 수준입니다. 나는 아닐꺼라고 생각하지만 지금까지 참가했던 모든 과정에서 늘 꽤 많은 사람들이 중도 탈락한 경우가 있었기에 잘 생각하고 선택하세요. 저 같은경우 스프링 백엔드가 필요하여 단순 CRUD는 그만! 웹 백엔드 시스템 구현(Spring Boot) 과정을 들었습니다.
데브 매칭(dev-matching)
: 프로그래머스와 연계된 회사들과 채용연계를 해주는 개념인데, 이건 학습보다는 취업과 관련되어 있습니다. 카카오, CJ, 배달의민족, 그랩 등등 많은 회사에서 이 플랫폼에서 코딩테스트 혹은 채용 미션 챌린지를 진행하는데, 몇몇 회사는 이 사이트에서 제공하는 알고리즘 문제 풀이 점수로 코딩테스트를 대체하기도 하니 참고하시기 바랍니다.

F. Nextstep

: 정말 초보보다는 어느정도 개발을 한 약 1~2년차 주니어들이 들으면 좋은 유료 스터디 과정들을 진행하는 교육플랫폼입니다. 백엔드로는 TDD, ATDD, DDD, Infra등등의 과정등을 진행하는데, 가격대는 60~80만원대로 낮은편은 아니지만, 내가 클린코드, 객체지향 생활체조, 테스트에 대해 관심이 있는데 시작하기가 힘들다면, 많은 인사이트를 얻을 수 있습니다.
프론트엔드로는 BlackCoffee 과정이 있는데, 메이커준님이 주관하시며 프론트엔드를 ajaxvanilla JS만 조금 쓰는 주니어분들에게 많은걸 배울 수있게 해주고 프론트엔드로도 테스트주도개발이 가능하다는걸 알려줍니다. 페어프로그래밍, 코드리뷰와 같은 협업문화도 체험할 수 있습니다.

G. Codesoom

: 여기도 어느정도 개인프로젝트를 진행해본 경험이 있는 취준생 혹은 1~2년차 주니어 개발자에게 적절한 교육과정을 제공합니다. 현재 스프링, 리액트 두 가지 과정을 다루는데 3달의 200만원 가량이라 가격대가 좀 있는 편입니다.
그 밖에도 F-LAB이나 뭐 패스트캠퍼스 등 여러 과정들이 있지만, 제가 직접 참가한 과정 위주로 작성했기에 뺐습니다. 코로나만 아니면 남궁성 강사님이 종종 진행하는 세미나 과정에 참가하는것도 정말 좋은데, 코로나로 인해 진행이 어려워 아쉽네요.
저같은 경우 토비의 스프링, JPA, 불친절한 SQL 세미나를 참가했었는데, 가격도 부담없고 참 좋았습니다. 코로나가 끝나면 또 참가하고 싶네요. 강사님이 스프링 강의를 찍고 계시니 이 또한 기대하고 있습니다.
이렇게 학습한 내용 혹은 내 기록을 블로그로 관리하는것도 나쁘지 않습니다. Tistory, velog, git-blog, notion등등 많은데, 저 같은 경우에는 notion으로 편집 + oopy로 호스팅하여 관리합니다.
매번 비슷한 질문들이 올라오고, 어떻게 공부해야 할 지 몰라 힘들어하는 분들이 보이고, 저 역시 취준생 때 뭘 공부해야하고 어디까지 공부해야하고 연봉은 어느정도가 적당한지 몰라 힘들었던 기억이 나서 글을 써 봐야겠다고 생각은했었으나 이제서야 쓰게 되네요.
물론 제 주관이 많이 섞였고, 다른 의견들도 많을 수 있습니다. 이 글은 그저 참고용으로 보면 된다고 생각합니다. 감사합니다.