본문 바로가기
Identity_Preparation

개발자를 시작하는 당신에

by 스타트업_디벨로퍼 2020. 12. 18.

제 소개를 하자면 개발자 신으로 들어가게된 개발자 입문자입니다.

저는 코딩이 너무 어렵고 막연하고, 연구를 할 당시에도 너무 익숙하지 못해서 다가가지 못했던 거 같습니다.

그러나 세상은 너무나도 급격하게 바뀌고 있고, IT, DT(Data Technology) 등의 산업이 급성장하고 있고 일자리가 정규직이 아닌 프리랜서 형태의 역량 기반의 일자리로 계속 전이가 이루어질 것인데, 가장 기본적인 것이 코딩 역량이라는 생각이 듭니다. 그렇기 때문에, 개발자로 커리어를 꿈꾸거나, 혹은 휴학 생활을 알차게 보내보고 싶으신 분에게는 이 내용이 개발자가 되기 위해 충분한 내용으로 다가올 수 있을 거 같아 상세 정보 적어보도록 하겠습니다.

그렇지 않더라도, 앞으로 연구하시는데 쓰이는 코딩을 접하는 경우도 많으며, 회사 가셔도 데이터 다루는 거나 공장 설비 다루는 경우에 공학도 출신들에게 코딩을 요구하니 참고하셔도 좋을 거 같네요.

(혹시라도 틀린 내용이 있거나 부족한 내용이 있으면 섬세하게 지적해주시면 감사하겠습니다.)

일반적으로 예전에는 독학을 하거나, 학원을 가서 코딩을 주로 배웠는데, 요즘은 Youtube, wikidocs등의 발달로 인해서 양질의 강의자료가 충분히 제공되고 있으며, -> (저는 요즘 Youtube로 웬만한 이론(책은 wikidocs 사이트에 엄청 많습니다., 코딩, 프로젝트 등을 배우고 있습니다.)

참고 사이트

파이썬 코딩 도장

위키독스

이를 통해 1**) 언어(파이썬, 자바, C, SQL, Spring), 2) 각종 패키지( 파이썬을 예로 들면, Pandas, Numpy), 3) 알고리즘, 4) 인공지능을 위한 수학, 통계** 등을 충분히 접할 수 있다는 점입니다.

C언어 덕분에 코딩에 뜻을 접었었던 저로서는 이러한 환경 변화에 놀랐습니다. 이와 함께 스타트업 출신 회사들이 엄청난 규모로 개발자를 육성하고 있다는 점입니다.

  1. 민간(가격은 20주에 750만원 정도에 형성)
  • 패스트 캠퍼스, 코드 스테이츠, 위코드, 스파르타 코딩 클럽, 등등
  • (심지어는 교육 전문 기관이 아닌 경우도 충분히 수익성이 있기 때문에 다른 업종 회사도 뛰어들고 있음) 위코드, 클래스 101
  1. 공공 (850만원 정도이나 내일배움카드 등을 통해서 무료로 수강이 가능)
  • 정부지원 (정부과제 기반 회사) : 플레이 데이터 , 각종 국비 학교, 학원,
  • 공공기관 : 인공지능 사관학교, 광역자치단체 주관 사업

독학

  • youtube,
  • github
  • 티스토리, 네이버 블로그
  • 네이버 커넥트재단 - edwidth

요즘 개발자는 크게 프론트엔드 개발자, 백엔드 개발자, 데이터 사이언티스트 (하나 더하면 데브옵스?) 정도로 구분되는데, (커리어는 이 사이트(https://roadmap.sh/)에서 참고하시면 좋을 거 같습니다. )

Developer Roadmaps

각 커리어에 요구되는 세부 정보와 우대 사항등은 https://www.wanted.co.kr/을 보시면 주니어 개발자(신입)~경력 개발자까지 상세하게 나와 있으며, 이를 위해 여러분 만의 포트폴리오 구성이 필요한 거 같습니다.

커리어 여정을 행복하게, 원티드

개발자 기본 조건

1. Github, 블로깅

블로그는 노션이나 티스토리를 추천드리며, 소스코드와 포트폴리오 구성을 위해서 Github는 필수적이다는 점 말씀드립니다. 코딩이나 본인이 배운 것을 정리하는 습관을 보기위해 하는 거 같습니다.

2. 언어 역량 (파이썬, 자바, C, 등)

회사마다 다르겠지만 다다익선이고 기본적으로 대부분의 기업에서 처음 기술면접시에 알고리즘 테스트/코딩 역량 테스트를 통과하셔야하기 때문에 하나를 진득하니 파보고 이를 다른 언어로 확장하는 게 좋을 거 같아고, 난이도가 낮은 파이썬을 기반으로 확장하는 게 흥미를 최대한 덜 잃지 않을까 싶습니다.

알고리즘 역량 강화 사이트 : 프로그래머스→ 백준도 있기는 하나 여기가 더 깔끔하고 카카오나 네이버 블라인드 테스트도 연계가 되어있어 좋아 보입니다. 개발자 신에서 유명한 나동빈님이 저자인 **"이것이 코딩테스트다"**에 꽤 자세히 나와있으니 추천드립니다.

프로그래머스

2-1. 확장하기 (기반 언어가 C 또는 파이썬이라고 가정할때)

확장하기 유용한 것은 다음과 같습니다.

  • HTML, CSS, Javascript : 프론트엔드에서 가장 기초가 되며, 웹 개발을 하다보면 금방금방 시각화가 되서 충분히 도움이 되는 거 같습니다.
  • 자바 : 요즘은 자바보다는 파이썬(구글의 60~80%가 파이썬 기반)이지만, 그럼에도 불구하고 기존에 구축된 것을 유지/보수하거나 자바->파이썬으로 넘어가는 경우에 요구된다고 하니, 자바-C-파이썬은 기본인 거 같습니다.
  • AWS : 요즘 백엔드 시장에서는 서버보다는 Amazon Web Service를 기반으로 구축을 하곤 하는데, 유투브에서도 잘 나와있고, 찾아보면 괜찮은 오픈소스가 있어서 참고해보시면 좋을 듯 합니다.
  • 엑셀, PPT : 개발자와 기획자간에 통역사가 필요할 정도로 커뮤니케이션 스킬이 많이 요구되고 있습니다. 이를 위해서는 자료도 좋아야하고 발표 능력도 요구가 되는데, 저희가 그동안 해온 엑셀이나, PPT도 상당히 중요하다고 생각합니다.

2-2. Syntax

저는 코딩을 가장 주저하는 것이 디버깅 에러라는 생각이 들고, 이를 최소화하기 위해서는 syntax error를 최소화해야하는 거 같습니다. (파이썬 튜터같은 좋은 사이트도 있지만, 처음이시라면 w3school을 추천 드립니다. 정말 다양한 언어가 있고, 튜토리얼부터 각종 패키지까지 제공되니 좋은 거 같습니다. )

W3Schools Online Web Tutorials

3. 포트폴리오 구성(프로젝트)

  • 사실 일반적으로 이 부분이 가장 핵심이 될 수 있다는 생각이 드는데, 회사에서 요구되는 스킬이 개인 프로젝트 2개~3개, 그룹 프로젝트 2~3개 정도라고 보는데, 본인이 지원하는 회사와 어느정도 연계가 되는 프로젝트이거나 가시성(Show-off)이 되면서, Data-visualization도 충분히 되는 형태의 프로젝트를 진행하여, 기숙적인 역량과 함께 업계의 니즈를 감안하여, 아래 항목도 함께 병행하여, 증권사 리포트 or 사업 제안서 형태로 만들어나가면 좋을 거 같습니다.
  • 비즈니스 모델 분석,
  • 비즈니스 모델을 기반으로 한 확장성 조사(EX) 카카오 -> 카카오 선물하기, 이모티콘 -> 모빌리티 -> 카카오 헤어 등),
  • 동종 업계 분석,
  • 예상되는 시장 가치,
  • 요구되는 기술 수준, 자금 규모, 초기 인력
  • 해외 확장 가능성

4. 대회 참석

  • 빅데이터 대회, 스타트업 대회, 해커톤 등 정말 많은 대회가 있는데, 이러한 대회에 작은 상이라도 입상하는 것만으로도 충분히 우리의 역량을 정량적(정성적 X)으로 보여질 지표라는 판단이 들어 준비해나가시면 좋을 거 같습니다.

5. 각종 자격증

  • 개발자신에서는 실무를 위주로 평가하다보니 자격증을 그렇게 요구되지 않는 경우도 많지만, 반대로 정부의 과제를 수주하게 되는 경우, 특정 자격증( 정보처리기사, 빅데이터 분석기사, 빅데이터 분석 준전문가 등) 을 요구한다고 합니다. 그렇기 때문에 이것도 Side로 챙겨가면 좋지 않을까 싶습니다.

6. 추가 역량 닦기

  • 수학, 통계, 알고리즘, 컴퓨터 과학 등은 계속해서 공부해나가야 한다고 생각이 듭니다. 어떤 업계로 갈지 모르고, 나의 경력을 최대한 인정받으려면, 나의 skillset을 극대화하고 이를 분석하고 포장할려면 항상 기본에 충실해야한다는 생각을 하게 됩니다.

이상으로 (다양한 개발자 출신 선배님들과 강사님들과 유투버등을 통해서 물어본 바에 의해)제 기준에서 필요하다고 생각하는 개발하기 위해 필요하다고 생각되는 조건들이었습니다.

긴 글 읽어봐주셔서 감사했고, 사실 이렇게 글을 적는 이유는 정보 제공 목적도 있지만, 지적받기 위해서입니다. 추가로 어떤 것을 더하거나 프론트엔드/백엔드/데이터사이언티스트는 세부적으로 어떤 것을 더하면 좋을지 지적해주시면 너무도 감사하겠습니다.

커리어 관련 정보 알고 싶으신 분들(프론트/백엔드, 데이터 사이언티스트)은 네이버 D2 활용해보세요. 컨텐츠가 미쳤습니다....(keyword : meetup or 밋업 or tech talk)

NAVER D2

연계 사이트 네이버 tv - 네이버 엔지니어링

NAVER Engineering : 네이버TV

예시1 (백엔드 개발자 테크 트리)

NAVER D2

예시2 (프론트부터 백엔드까지)

NAVER D2

예시3(Front-end 개발자 커뮤니티 특집 (JavaScript, 웹표준 & 접근성)

NAVER D2

예시4(빅데이터 techtalk)

NAVER D2

예시5(NAVER Tech Talk: AI 3차 (~ 2018.1.) - 비전, 자연어 처리, 음악, 의료, 금융, 데이터)

NAVER D2

참고 사이트 : IT회사에서 기획자/개발자/디자이너의 직무/업무

기획자, 개발자, 디자이너 등 IT 직군별 업무 총정리

Q&A

Q : 개발직군 석박필수라고 보십니까 A : product 와 research 중 어디에 더 비중을 두냐에 따라서 엔지니어 또는 연구 개발자로 나뉠 수 있는데 후자의 경우 석박이 필수는 아니지만 아무래도 석박을 통해 연구를 공고히 하고 인맥을 쌓을 수 있어서 보통 매우 권장되지. 반면 컴공의 대부분의 일자리를 담당하는 전자의 경우 그냥 컴공 졸업장과 매우 뛰어난 러닝커브, 그리고 이 게시물 글쓴이가 말한 것들을 익히면 돼.

A2 : 답은 케바케이죠... 제가 보기에 그 어떤 학과보다 진로가 다양한게 컴공이 아닐까 싶어요(ai, 데이터 분석 , os , si(system integration), 웹/앱 개발, 서버 개발, 서버 유지 보수, 공공 데이터 센터 등등등등) 무엇을 하느냐에 따라 다르고, 업계나 회사마다 너무 다른 거 같아요. 일단 기본적으로 역량 싸움이고 블라인드테스트(코딩역량, 알고리즘 테스트)를 무조건 봅니다. 데이터 분석이나 OS, 시스템 프로그래밍 같은 쪽(이 밖에도 더 있겠지만..)은 학위가 요구되는 거 같은데, 코딩 역량 (이건 그냥 숙련도 차이라 연차에 따라 갈리는 느낌) 알고리즘 설계 (머리도 좋아야겠지만, 알고리즘 짜는게 익숙해야하고, insight, intuition domain knowledge 등을 미리 쌓아야겠지요..) 이렇지 않을까 싶고 본인을 먼저 아는 것이 필수적이니 일단 사실 찾아보셔야할 거 같아요..

Plus Comment : 자바에서 파이썬으로 넘어가는 것이 대세라고 하셨는데 백엔드 국내 기준으로는 오히려 반대경우를 많이 봤습니다. 스타트업에서 빠르게 구축하기위해 파이썬 장고 등을 사용하다가 자바 스프링 등으로 넘어가는 것이 회사가 커지는 상황에서 많이 일어납니다. 대표적으로 현재 당근마켓이 스프링을 도입하기 시작하고 있습니다. 저는 자바 스프링으로 백엔드하고있고 DB쪽은 잘 몰라요. 상황마다 다른것도 맞고 회사마다, 부서마다 다 다르긴 합니다 그래도 대부분 원하시는 네이버 카카오 라인 배민 등의 국내 대기업이 스프링을 주력으로 이용하기 때문에 국내 대기업을 원하신다면 이쪽에 관심을 가져야 한다고 생각해요. 그리고 자바진영에도 파이썬 등의 언어처럼 생산성을 높이기 위해 코틀린이라는 언어가 있어요. 신사업의 경우 대기업에서는 파이썬보단 코틀린으로 스프링을 이용하는 경우도 꽤 있습니다. 참고로 전자정부등의 자바 생태계와 대기업, 잘나가는 스타트업쪽의 자바 생태계는 완전 다르다고 생각하시는게 좋을 것 같아요. 댓글을 달고보니 자바 스프링얘기만 한것 같은데, 당연히 가장 중요한 것은 컴공 기초라고 생각해요. 기본기 잘되있는 신입 데려다가 가르쳐서 사용하는것을 회사쪽에서도 선호하는것으로 알고있어요

반응형