본문 바로가기
etc..

2023 Jumpit to Backend 후기

by 소똥 2023. 9. 1.
아래 세션에 대한 정리는 초보자인 저의 수준에서 이해한 내용을 정리한 것입니다. 강연자분의 의도가 잘못 전달된 부분이 있다면 지적 부탁드립니다 :>

 

이번 포스팅은 지난주 참석한 점핏 투 백앤드 후기이다.

 

점핏이라는 곳에서 개최했고, 유명한 개발자 분들이 나오셔서 각자의 주제로 주니어 개발자들에게 할 수 있는 조언들을 해주셨다.  

(사실 이제 입문자여서 유명한지는 모르나,, 사람들의 반응을 보아하니 유명한 분들인듯 하다..!!! 그리고 다들 말씀하시는 거에서부터 똑똑함이 뿜뿜...)

 

 유튜브 에서 재시청 가능하다.

 

백엔드 개발자로의 전향을 마음먹고 처음 참여하는 컨퍼런스 (?) 였다.

 

오프라인으로 참가하고 싶었지만 오전에 다른일이 생겨 온라인으로 참여하였는데 현장의 분위기가 무척 궁금해 오프라인 참가를 못한것이 너무 아쉬웠다..  하지만 온라인의 장점인 놓친 부분을 돌려볼 수 있고, 자료들이 잘보여서 강연자분들의 말씀을 더 귀기울여 들을 수 있었다!

 


중요한 건 인터페이스야

인터페이스가 무엇을 말하는 걸까? 궁금했는데 전반적인 설계의 관점을 말씀하신 거였다. 

 

강연 내용

어떤 컨텐츠를 만들때,  무엇을 만들것인지 명확하게 확인 하라.

  • 함께 제품 기획하기
    • 모든 구성원 (기획자, 디자이너, 클라이언트 개발자, 서버 개발자) 가 각자의 전문성을 활용해 각자의 요구와 의도가 왜곡되지 않게 함께 기획을 하여야 한다.
  • API 설계
    • 서버 개발 전, 클라이언트 개발자와 함께 API를 설계하기

위와 같은 과정은 결국 개발 비용을 줄일 수 있다. 

 

추가로,

 

  • 고객 > 디자인 > 클라이언트 > 서버 의 순으로 일을 수행하자  (이유는 비용)
  • 즉, 비용이 많이 드는 것부터 약속하기 == 불확실성이 높은 것부터 약속하기
    • 이말은 즉, 항상 위의 순으로 일을 수행해야 하는것은 아니다. 라는 의미)

 

추천 도서

— 아이디어 불패의 법칙

— 클린 애자일

 

조언 (질의 응답)

  • Ownership 을 가질 것 ! → 의문이 드는것은 물어보고, 물어볼때도 내 대안을 제시하며 물어보기
  • 협업 툴 추천 → 피그마 피그
  • 기획자에게 불가능을 정량적으로 표현하는 법 → 모든 정보를 공유. A안으로 할때는 B안보다 몇퍼센트의 효용이 발생할 수 있다.

내게 맞는 회사

나 또한 내가 다녔던 회사가 내게 맞지 않다고 판단하여 퇴사를 하고 공부를 하고 있어, 와닿는 부분이 많았다. 

 

특히나 이쪽 산업(IT서비스)의 경우,

회사의 규모가 커질수록 같은 백엔드 개발자라 하더라도 하는 업무가 엄청나게 세분화 될수 있다. 

따라서 회사를 가더라도 과연 내가 하고싶었던 기술을 내가 다룰 수 있는가, 혹은 너무 좁은 부분만 다루는 것은 아닐까? 등 내 커리에 대한 꾸준한 고민이 필요할 것 같다고 느꼈다.

 

추천 도서

— 클린 소프트웨어

 

조언 (질의 응답)

  • MSA 도입하려면 어느정도 서비스 규모? 트래픽이 올라갈 시점에 MSA 도입해야할까?
    — 여러 팀들이 서로에 대한 영향도를 파악하기 힘들때 MSA 전환을 빠르게 해야함
  • 나중에 MSA로 바꾸려면 어떤 Action을 해야하는지에 대한 생각을 해야함 
    — 처음부터 Multi 모듈로 시작하면 좋음. 하지만, 당장에 생산성이 높은 방향으로 하는것이 좋음.
  • 네트웤의 흐름, 해당 환경에 대한 이해가 필요
    — 내가 만든 sw가 어디에 올라가서 어떻게 트래픽이 응답하는지 등을 알아야함!!

 


알아두면 쓸 데 있는 코틀린

안그래도 최근 코틀린으로 안드로이드 개발을 시작하며 자바와 코틀린의 차이에 대해 공부하던 차에 너무나도 도움이 되는 세션이었다. 내가 강연 내용을 100프로 흡수를 못했는데 나중에 언어에 대한 이해가 생긴 후에 다시 보면 신선할 것 같다. 

 

강연 내용

코틀린은 자바와의 상호운용성에 초점을 맞춘 실용적이고 간결하며 안전한 언어이다.

 

코틀린 장점

  • 상호운용성
  • 실용성
  • 간결성
  • 안전성
    자바에서는 null 포인터 exception 코드 → 코틀린은 컴파일러 단계에서 널이 될수없는 값을 추적 가능

코틀린 특징

  • 코루틴을 사용
    비동기 프로그램을 사용하려고 하면,  장) 응답속도 향상, 단) 디버깅의 어려움
    —> 이때, 코루틴 사용! (async 선언함으로써 순차적으로 수행되는것 같으나, 일부는 비동기)

  • 멀티플랫폼 지원
    JVM 환경에서 OK (서버, 안드로이드)
    JVM 지원하지 않는 환경 —> 코틀린 네이티브에서 동작 (IOS, 맥, 윈도우즈에서 동작할수있도록 컴파일)
  • 오픈 소스
    개발 — 사용자의 커뮤니티 운영 (Kotlin / KEEP)

추천 도서

— 프로그래밍의 길, 멘토에게 묻다 (주니어 -> 시니어)

— 실용주의 프로그래머 (시니어 -> 마스터)


조언 (질의 응답)

  • 공부법 추천
    시작 단계 — 인프런의 코틀린 3강으로 끝내기
    발전 — Jetbrain Kotlin Koans 교육툴
    심화 — 책 공부 (Kotlin in actions)
  • 질의 응답은 너무 기술 적인 내용이어서,, 나중에 본다면 노션 참고할 것.

 


컨테이너 인프라

서버 개발을 정복한 후 인프라의 세상에도 눈을 돌리고픈 나로서는 모두 생소했지만 또 흥미로웠던 내용이었다. 

강연 내용

백앤드 개발자가 인프라쪽으로 어떻게 도전할 수 있을지 소개

컨테이너 기반 — 특히 쿠버네티스 사용

 

  • 쿠버네티스의 필요성
    컨테이너는 편하게 올리기 위해서 사용함. 하지만 없다면? 데이터베이스를 하나하나 올리고, 배포를 하고 등
    컨테이너를 사용하는 이유는 결국 돈! 큰 회사에서 빠르게 인프라를 확장하기 위해서 사용함

  • 쿠버네티스 
    각자 사용하는 컨테이너(도커)를 하나로 통제할수있게 만드는 것
    빌드 배포,  성능 모니터링, MSA를 통해 분산 추적 트레이싱, 로그 통합 → 에러 추적 등 많은 기능을 할수있도록 쿠버네티스에 틀이 잡혀져 있음.

  • 어떻게 공부해야 하는가?
    공식 문서 (kubernetes) —> 문서 번역 기여 하는것도 있음.!!
    실습 !! 걍 해봐 

조언 (질의 응답)

  • 자격증
    CKA (운영), CKAD (개발자—배포), CKAS (보안)
    쿠버네티스는 100프로 실습이므로 도움도 되고, 취업에도 굿
    백앤드 개발자면 CKAD 먼저 > 그후 CKA / CKAS

 


사실 조금은 가벼운 마음으로 참석을 했는데,, 너무나도 많은 짐을 얻고 간다 하핳

정말이지 공부해야 할것 투성이다...!!! 나는 아직 까막눈이지만 하나하나 알아가다보면 백엔드의 세상에 눈이 떠지겠지. 

또 대단한 분들의 강연을 들으며 나도 언젠간 나의 지식을 타인에게 공유할 수 있는 멋진 개발자가 되어야지 다짐하였다.