[스터디] TimCookie 월간 IT 인사이트 특강 테킷 뷰(View) 6월 영상 요약 - 개발자 성장 로드맵 : 시작부터 실전까지

안승지·2024년 4월 14일
0

[스터디] TimCookie

목록 보기
1/5

개발 스터디 'TimCookie' 저장소 정리 전 백업_23.06.29

개발자 성장 로드맵 : 시작부터 실전까지

  • 스윗코리아 프론트엔드 개발자 이상희님

  • 강사 배경 및 히스토리, 기술 스택
    • 생략

Front End 와 Back End, 나에게 맞는 직군은?

  • FE : 웹 애플리케이션 또는 웹사이트의 사용자 인터페이스(UI)를 개발하는 역할. 동적이고 유연한 UI를 구현하기 위해선 BE 못지 않은 지식 필요.
  • BE : FE 보다 높은 진입 장벽, 시스템의 뒷편, 서버 측에서 비즈니스 로직 구현, 데이터베이스 구축 및 관리, CRUD 처리를 위한 API 개발 등등

tech roadmap


image

  • FE language roadmap
    • HTML : 웹 표준, 크로스 브라우징, 접근성, 검색 최적화
    • CSS : (그리드, 플렉스, 포지션, 미디어 쿼리, etc...), 기타 전처리기(필수라기 보다는 선택, 입사 후 회사에 맞는 전처리기 사용도 가능), 부트스트랩과 material UI 는 지식 정도만 갖춰둘것.
    • VanillaJS : ES6(이후로 추가되는 최신 문법들을 계속 숙지해야 함), DOM, 비동기 제어 기술(Fetch API)(Axios, Ajax), Promise, Async, Await
    • TypeScript : OOP(객체 지향 프로그래밍)(탄탄한 JS 기본기가 중요)
    • view FrameWork / Library (탄탄한 JS 기본기 이후에..) : 리액트, 뷰, 앵귤러
    • SSR(서버 사이드 렌더링) : Next(리액트 기반), Nuxt(뷰 기판), Universal(앵귤러 기반)
    • State Management(상태 관리 라이브러리) : Redux/MobX(리액트), Vue(뷰), RxJS(앵귤러)

image

  • FE CS roadmap
  • 많은(깊은) 지식이 필요하지는 않지만, 프론트엔드 특성상 많은 영역의 사람들과 협업이 필요.
    • 네트워크 : Domain/DNS, HTTP/HTTPS, Socket(통신의 일종), Cookie/Session
    • 서버 : 리눅스(OS)(빌드와 배포 환경에 따라), Security(OAuth2.0 인증), 프록시 서버(우회 접속), API(백엔드), L7(네트워크 응용 계층)(프론트엔드는 이 응용 계층에서 이루어짐)(L7 스위칭)
    • DataBase : (종류와 계념에 대해서만 알고 있으면 될것)
    • 자료구조 : 어레이, 링크드 리스트, 스택, 큐, 등등....(구현을 해봐도 좋고 코테 대비 알고리즘 풀이 사이트를 이용하면 좋을것)
    • GoF(디자인 패턴) : 컨테이너, 아토믹, 옵저버 (어떻게 소스, 시스템을 설계할 것인가, 어떻게 개발할 것인가 에 대한것)

image

  • BE tech roadmap
  • 생략

image

  • FE/BE common tech roadmap
    • IDE : 협업 및 개발을 위한 툴
    • Terminal : 서버를 실행하고 빌드 테스트나 배포를 한다던가...(iTerm은 툴)
    • VCS : 버전 컨트롤 시스템, 깃 활용 이전에는 SVN을 사용했음, 현재 대부분은 깃, 깃플로우 개념과 깃헙과 깃랩같은 깃 저장소에 대한 지식(회사에서 사용하고 있는 저장소에 따라)
    • 패키지 매니징 : NPM, 얀 (회사에 따라)
    • 테스팅 도구 : 제스트와 사이프레스(고유의 문법이 있음, TDD 기반 개발시에 사용)(사용하지 않는 회사도 있음, 입사 이후에 습득해도 좋을것.)(제이미터와 로커스트는 강사님께서 자주 사용하셨던 것, 이러한 것도 있다 정도 알아두면 좋을것)
    • 데브옵스 : 포괄적인 의미, 개발과 운영이 매끄럽게 굴거가기 위해 자동화를 한다던가, 개발 문화적인 부분을 포함함
      • 배포
      • CI/CD : Github action, PipeLine, Nginx(proxy)
      • 클라우드 : AWS/GCP

image

  • more about DevOps
    • 클라우드를 AtoZ로 구성해본 경험이 있는 강사님의 입장에서 처음 시작하기 어렵다면 EC2 정도를 구현해보면 좋을것임
    • CI/CD 의 경우 벌써 알 필요는 없으나 한번쯤 활용해 보는것을 추천(회사에 맞춰서)
    • 컨테이너도 회사에 따라
    • 인프라 프로바이징 : 한번쯤 검색해보고 숙지하면 좋을것
    • 모니터링/로그 매니지먼트 : 한번쯤 검색해보고 숙지하면 좋을것

image
이러한 기술들을 전부 익힐 필요는 없다, 다만 이런 기술들이 현업에 사용되고 있다는 정도로 알고 있으며 좋을것.


개발자에게 필요한 역량

  1. 문제 해결 능력: 문제 발생시 인내심을 가지고 끝까지 해결하는 자세(소통을 통한 도움을 얻을수도, 검색을 통할수도, 기술 역량을 통해서도)
  2. 기술 역량
  3. 커뮤니케이션
  4. 지속적으로 학습하는 자세

신입 개발자에게 필요한 역량

  1. 커뮤니케이션 : 협업 능력이 곧 업무 능력(역량)
  2. 지속적으로 학습하는 자세 : 현재는 성장 곡선이 가파르지 않은것 같아도 지속적으로 나아가는 모습이 중요
  3. 문제 해결 능력 : 개발자로서 커리어를 쌓으면서 경험적으로 습득
  4. 기술 역량 : 개발자로서 커리어를 쌓으면서 경험적으로 습득

image

개발자에게 좋은 회사란?

  1. 성장할 수 있는 회사 : 성장 기회를 주고 경험할 것이 많은 회사
  2. 협업을 할 수 있는 회사 : 혼자 일하게 두지 않는 회사, 소통하고 협력하며 일할 수 있는 회사
  3. 지속적인 동기 부여 : 노력에 대한 보상과 좋은 개발 환경을 제공하는 회사

QnA

  • 질문 리스트를 만들어 둘테니 흥미가 있거나 동일한 의문을 갖고 있었다면 영상을 참고하면 좋을것.
    • 본인에게 맞는 개발 업무(영역)을 어떻게 찾을 수 있을지?(01:06:51)
    • 평균보다 느리게 성장한다고 느끼는데, 성장 곡선이 가파른 지원자들을 선호하는 회사의 채용 담당자에게 어필 할 수 있는 포인트는 무엇일까요? 성장속도를 끌어올리기 위해서는 어떻게 하는 것이 좋을까요?(01:09:37)
    • 현업에서 자주 사용하는 기술 스택은 어떤것이 있는지?(01:11:41)
    • 프론트엔드 개발자가 알아야 할 CS 지식은 무엇이 있는지?(01:13:11)
    • 최근 개발 트렌드는 무엇인가요?(01:13:58)
    • ChatGPT를 대비하여 신입 개발자가 가져야 할 강점은 무엇인가요?(01:15:09)
    • 팀 안에 코드 리뷰 룰에는 어떤것이 있는지?(01:17:03)
    • 리액트에서 앵귤러로 프레임웤을 옮기면서 어려운 점이 있었는지?(01:17:30)
    • 신입으로서 문제 해결 능력을 보여주고 증명할 수 있는 방법이 있을지?(01:18:47)
    • 비전공자로서 전공자들과의 차이를 매꿀 수 있는 방법이 있다면 어떤 것이 있을지?(01:20:08)
    • 신입은 하나를 깊게 파는것이 좋은것 같은데, 이것저것 하면서 물경력이 되지 않을까 고민입니다.(01:22:06)

0개의 댓글