본문 바로가기

프로그래머스 풀스택 데브코스/데브코스 TIL

웹 풀사이클 데브코스 TIL 52일차

오늘은 특강 수업과 LMS 수업이 동시에 있는 날이다.

옛날 개발자 전망 vs 요즘 개발자 전망

잘못된 개발자 진화 모델

초보-중급-고급-팀장-상위 관리자
이렇게 이어지는 개발자 진화 모델은 옛날 방식이다. 요즘은 나이가 많다고 개발자를 못하진 않는다. 옛날 개발자는 나이 차면 회사 나와서 치킨집을 차려야한다는 말도 농담반 진담반으로 있었다.

요즘 개발자 전망

  • 나이 제한없이 개발가능(개발 프리랜서 급증)
  • 다양한 IT 사업 아이텝으로 창업 가능
  • 야근 거의 없음
  • 연봉이 많이 향상되었음

프로그래밍 제대로 학습법

  • 개발이란 새롭게 만드는 과정
  • 자기주도학습에 익숙해져야한다.

기초를 제대로 배우자

새로운 언어와 도구는 계속 나온다. 유행따라가는데 집착할 필요가 없다. 신 기술이 나온다고 무조건 유행을 좆을 필요는 없다. 하나를 배우더라도 원리를 제대로 이해하고 써야한다. 원리를 제대로 익히지 않으면 몇년 지나지 않아서 한계가 온다. 트랜드를 파악하되, 원리와 핵심을 파악하는 것이 중요하다.

한 기술에 적당히 학습하면 된다. 너무 깊게 공부하는 것은 시간낭비이다.

프로그래밍 원리는 하나다

언어를 초월해야한다. 언어도 결국 하나의 뿌리에서 나왔기 때문에 공통적인 원리가 있다.

프로그래밍 학습 테크트리

개발자 양성 과정 커리큘럼에서는 어느과정에서나 필요한 공통 과정과 특화 과정으로 나뉜다. 공통 과정에는 C언어, 객체지향, 자료구조, 알고리즘, 데이터베이스, 파이썬+ 데이터분석, 프론트엔드, 리액트 등등이 있다.
특화과정에서는 닷넷 기반(c#, 운영체제, ASP.NET, 자마린), Node.js 기반(Express, 몽고 DB, 모던 자바스크립트)

지식보다는 자세와 마인드

  • 대표님들은 성실한 사람을 원한다
  • 연구하는 자세와 오픈 마인드
  • 우리가 생각하는 것보다 개발자 취업이 쉽다

제자들 후기톡

제자들의 교육 소감을 보았다.

개발자 면접 공식

나쁜 이력서 vs 좋은 이력서

이력서의 가독성이 좋고 한눈에 알아볼 수 있게 해야한다. 면접관의 관점에서 보면 면접관은 회사의 실무진이고 바쁘다. 따라서 가독성이 좋은 것은 도움이 된다.
먄잡관이 질문을 많이 하는 케이스? 지원자에 관심이 많을 때와 이력서에 정보가 너무 없을때 두가지가 있다. 따라서 이력서는 장황하게 쓰지 말고 핵심적이 내용이 눈에 딱 들어오게 써야한다.

개발자의 이력서 작성

  • 간결하게 A4 1-2장 이내로 구성해야 한다.
  • 간략 인적사항, 포트폴리오, 경력사항, skill, 교육, 자격증, 지원동기 등
  • github, 블로그, 링크드인 활용하자
  • 가족사항, 병역, 취미, 특기 NO!!

이력서 관리 플랫폼

  • 링크드인
  • 원티드
  • 로켓펀치
  • 잡코리아
  • 사람인
  • github

면접

면접 필패공식

  • 자신감 없는 태도(주눅 든 모습)
  • 세상 잃은 표정 + 불안함 + 끝을 흐리는 말투
  • 알고 있어도 모르는 것 같은 느낌
  • 자기 소개하면서부터 시작되는 동공 지진
  • 묻지마 지원
  • Ctrl + C, Ctrl + V의 스멜이 느껴지는 이력서
  • 다른 회사를 우리 회사로 착각한건 아닐까?
  • 특기, 취미, 가족관계, 틀린 회사 이름

어떤 회사인지 모르고 지원

  • 지원하는 회사의 비즈니스 모델을 모름
  • 서비스를 한번도 사용해보지 않음
  • 단순히 취업이 급해서 지원한 케이스로 보임

이력서 내용과 개발자 단골 질문에 대답하지 못하는 경우

  • 이력서에 기재한 내용에 대한 질문에 버벅
  • 기본적인 CS 질문에 답변 못하는 경우(오버로딩 vs 오버라이딩)
  • 햡업시 갈등 해결 단골질문

준비되지 않은 Q&A 시간

  • 회사에 궁금한 내용이 없다.
  • 야근이 많은지 묻는다. 복지가 어떤지 묻는다. 개발면접에서 물어보면 마이너스
  • 연봉 테이블이 어떤지 묻는다. 개발면접에서 물어보면 마이너스

예의없는 행동

  • 거만한 태도
  • No 겸손
  • 재직 중 또는 이전 회사를 안좋게 얘기하는 경우

면접 필승공식

  • 90%만 솔직해지기
  • 낚시성 질문을 그대로 솔직하게 얘기하지 않기
  • 지원할 회사를 파고 들자
  • 기본적인 예상 질문은 반드시 공부
  • 답변은 장황하지 않게 핵심적으로 설명
  • 인터뷰는 많으면 많을수록 좋다
  • 면접도 자주하면 스킬이 늘어난다
  • 마지막 Q&A 시간은 쐐기를 박는 시간, 추가로 나에 대해 어필할 수 있는 시간이다

결론

  • 개발자 수요는 계속 늘어난다
  • It 개발자의 처우와 복지는 좋아지고 있다
  • 웹 개발자 신입 문이 좁아졌다
  • 웹 개발자에만 한정하지 않고 개발자가 되자

취업특강

취업 트렌드 특강을 들었다.

변화하는 취업 트렌드

공개 채용보다는 수시채용이 대세가 되었다.

소식에 밝아야 한다.

소식을 얻을 수 있는 창구

  • 언어 및 직군 별 오픈채팅방, 디스코드 등
  • 각종 컨퍼런스
  • 현직자와 함께하는 동아리
  • 개발자의 인스타 링크드인

정보가 왜 중요할까

  • 채용 공고에 대한 실제 TO
  • 모집하는 팀의 문화
  • 선호하는 개발자 성향
  • 실제 사용하는 기술 스택

경험과 능력

  • 전공지식에 대한 이해가 신입으로서 가장 중요
  • 대외할동
  • 기술 블로그(학습하고 있는 것들)
  • 클론 코딩
  • 오픈소스 컨트리뷰트
  • 개인 프로젝트 경험(팀을 구해서 하는 것을 추천)

신입의 경쟁력

  • 새로운 지식과 기술
  • 유연성과 적응력
  • 창의력과 혁신
  • 동기부여와 열정

누구를 뽑을까?

  • 함께 일할 수 있는 사람
  • 성장 가능성

매력적인 이력서/포트폴리오

왜 뽑아야 하는가

이 사람이 회사에 왔을 때 어떤 역할을 할 수 있다.

가장 중요한 포인트

  • 지원동기와 입사후 포부
  • 회사에서 어떤 역할을 할 수 있는가

이력서

최대한 짧게 두페이지 이내로 작성. 신입에게 중요한건 포트폴리오

포트폴리오 작성법

무엇을 배웠나 경험을 중심으로. 구현을 함으로써 결과물을 냈다 는 방식을 작성하는게 좋다. 기술스택은 중점적으로 사용한 것을 위주로 질문을 받아도 자신있게 대답할 수 있는 것들을 적는게 좋다.

코딩테스트

코딩테스트 준비 전략

  • 언어 선택: 개발할때 쓰는 언어 하나, 코딩테스트용 하나 준비하는게 좋다
  • 기초 개념 확립: CS 지식 쌓기
  • 실전 문제 풀이
  • 문제 해결 전략 습득
  • 복습 및 개선
  • 코드 설명 연습: 라이브 코딩 대비

자료구조

배열, 연결 리스트, 스택, 큐, 트리, 해시 테이블, 그래프, 힙

알고리즘

정렬, 검색, 다이나믹 프로그래밍, 분할 정복, 그리디, 백트래킹, 그래프, 해싱

취업시장에서 살아남기

10번 찍어 안넘어 가는 나무 없다. 한 곳만 붙으면 되는거라 여러곳을 두드리다보면

기술 역량 강화

  • 공식 문서 위주의 학습: 블로그 같은 경우는 축약되거나 잘못된 정보도 많아서 습관을 기르는게 좋음
  • 유명 프레임워크 분석

취업 시장 탐색

  • 채용 공고 참고: 사실 채용공고의 정보가 실제 쓰는 것과 다를 수도 있음. 우대사항은 하나라도 해당되는게 있다면 도전해보는걸 추천
  • 지원 플랫폼: 원티드나 잡플래닛만 보지 말고 그 회사 채용사이트 통해서 직접 하는걸 추천. 생각보다 모르고 넘어가는 채용공고가 많다.

자신감 채우기

  • 강점 찾기
  • 자기개발을 통해 역량 키우기
  • 선배나 멘토와의 교류
  • 주변 피드백
  • 문서화 습관

소프트 스킬 개발

  • 커뮤니케이션 능력 향상
  • 호감이 가는 말하기 능력
  • 시간 관리 능력

자주 나오는 질문

  • 이력서에 어떤 프로젝트를 포함시키는 것이 좋을까? : 팀 프로젝트를 우선적으로 3~4개정도. 만약 기여도가 똑같다면 팀 프로젝트를 하는게 더 좋다.
  • 기술적인 질문에 답을 모를 때, 어떻게 대응하는 것이 좋나요?: 50%만 답해도 괜찮다. 모르면 모른다고 솔직하게 애기하면 됨. 대신 모르는데 아는척 하면 안됨
  • 팀 내에서 의견 충돌을 경험한 적이 있나요 라는 질문에 어떻게 대응하면 좋을까요?: 해결된거면 잘 설명하면 좋음
  • 면접에서 어떻게 하면 좋은 인상을 남길 수 있나요?: 답변할 수 있는걸 답변하고 최대한 자신감 있는 모습으로 하면 좋다.
  • 네트워킹을 통해 취업 기회를 어떻게 찾을 수 있나요?: 채용공고 보다 지인 우선적으로 뽑을 확률이 높다.
  • 취업 준비 과정에서 가장 중요하게 생각해야 할 것은 무엇인가요?: 지치지 않는게 가장 중요하다. 규칙적으로 살면서 계획적으로 사는게 중요하다.
  • 외부라이브러리 사용?: 외부 라이브러리는 최대한 적게 사용해서 하는걸 추천한다.
  • 프로그래밍 외에 어떤 역량을 키우는 것이 중요한가?: 소프트 스킬이 중요하다. 대화가 되는 사람이 되는게 제일 중요
  • 코딩테스트에서 시간관리: 1번부터 순서대로 푸는게 아니라, 한번씩 문제들을 다 읽고 풀 수 있는 문제를 찾아서 먼저 푸는 것을 추천한다.

LMS 강의

Map 함수

  • map 함수는 배열의 갯수만큼 반복문을 돌게 된다.
  • 콜백함수에 파라미터를 값, 인덱스 순서로 받아올 수 있다.
  • 값을 리턴할 수도 있는데 새로운 배열에 그 값을 받아줄 수 있다.
  let arr = [0,1,2];
  arr.map(function(value, index){
    return value + 10;
  })
  //[10,11,12]

tsx 에서는 for문을 사용할 수 없기 때문에 이 map 함수를 사용하면 된다. 이러한 map의 특징을 이해한다면 반복되는 html에도 적용이 가능하다. 리액트는 array 안에 html을 담아놓아도 잘 보여준다. 중괄호 안에서 사용한다.

  {
          post.map((value : Post, idx : number)=>{
            return(
              <div className='post' key = {idx}>
              <h3 onClick={handleDetailClick}>{value.title}
              <span onClick={handleLikeClick}>❤️</span>{like}</h3>
              <p>{post[idx].date}</p>
            </div>
            )
          })
        }

post 배열에 map 함수를 사용하였다. post 객체를 직접 가져올 수도 있고, 콜백함수의 인자로 인덱스를 넘겨받아서 찾을 수도 있다. 한 가지 주의할 점은 리액트에서 반복문으로 생성한 html 에는 key 속성값을 넣어주어야한다. 넣지 않으면 경고메시지가 뜨게 된다.
return 문이 아닌 곳에서는 for문을 사용할 수 있지만 가독성 측면에서 map을 사용하자

후기

강사님의 개발학습법 특강과 취업특강이 있었다. 또 Map 함수의 사용법에 대해서도 배웠다.
키워드: 프로그래머스 데브코스, 국비지원교육, 코딩부트캠프