주니어 개발자를 위한 프로젝트 팁💡

hotoron·2020년 9월 16일
2

👾 개발지식

목록 보기
2/5
post-thumbnail

주니어 개발자를 위한 프로젝트 팁💡

기업별 선호하는 인재상? 어떤 기술스택을 쌓으면 좋을까?

🧐프로젝트를 하는 주니어 개발자의 궁금증은 모았다!🤓

본 문서는 멀티캠퍼스 혁신성장 청년인재 집중양성 MSA과정의 2차멘토링 Q&A를 재구성한 글입니다.

에자일 방법론 적용

🐥에자일 방법론을 적용중입니다. 올바른 방향인지 모르겠어요ㅠㅠ
  • 에자일 방법론 사용시 방법론에 치여 시간을 많이 잡아먹지 않도록 주의해라.

  • 방법론을 적용 했냐 안했냐 보다는 해당 방법론이 프로젝트 팀에 얼마나 맞느냐가 중요하다.

  • 면접에서 ~~이러한 방식으로 프로젝트를 진행해보았다, 이런식으로 개발방법론을 잡아보았다, 이런생각을 가지고 프로젝트에 임했다라고 말할수있다는 점에서는 플러스요소

  • 개발방법론에 맞춰 플젝 진행을 하다가 어려웠던점 혹은 불편하거나 좋았던 점 등 노하우를 쌓는것을 추천

    • 왜 좋거나 불편했는지 이유도 작성한다면 금상첨화!

스크럼 / 스프린트 적용

🐥개발보다는 스크럼을 따라하는데 시간이 많이 소요됩니다. 이런 경우에 스크럼 적용에 대해 어떻게 생각하시나요?
  • 스터디 입장에서 적용을 해보는것을 추천
  • 하지만 많은 시간을 소비하지는 말라!

메세징 시스템

🐥메세징 시스템을 프로젝트에 적용해서 공부해보고 싶은데 어떤 기능에 적용 가능할까요? 실무에서는 어디서 적용하고 있는지 궁금합니다.
  • 카프카를 적용할 때 카프카가 어떤 기술셋을 가지고있는지, 어떤 의미를 가지고 적용을 했는지 면접에서 궁금해할 수 있다
  • 카프카를 제대로 구성하려면 클러스터링 구성을 공부해야함
  • 서로간의 데이터 유실 없이 오프셋형태로 데이터들을 순차적으로 큐에다 쌓는 작업을 위해 메세징을 사용할것을 예상
  • 하지만 너무 큰 규모, 카프카가 시스템보다 더 큰 구성이 될거같음
  • 왜사용하고싶은지? 클러스터링 구성, 샤딩 등을 공부하는것을 추천
  • 카프카로 어떤 밸류를 얻고싶은지 고민 필요

이슈 트래킹

🐥실무에서 이슈 트래킹을 어떻게 사용하고 있는지 궁금합니다.
  • 지라 사용하지 않음 팀의 성향에 맞게 적용

MSA 적용 시점

🐥MSA 적용 시점이 궁금합니다.
일반적으로 스타트업은 MSA를 추천하지 않는다고 하는데 프로젝트의 성격이 스타트업에 가깝다고 생각합니다.
  • 두가지측면에서 적용할지말지 고민해보라
    • 스타트업은 빠른시장에 대응하는 사례가 많음 유행에 민감
    • msa를 만드는데 소모되는 리소스들을 서비스개발에 투자한다고 생각하면 된다
    • 어떤 도메인을 사용해서 서비스를 제공하느냐는 시장에서 궁금해하지 않는 요소이기 때문
    • 때문에 msa를 추천하지 않는것
  • 스터디입장
    • 밸류를 창출한다기 보다는 기술 자체가 밸류가 되기 때문
    • msa를 구성을 해봤다 어떤 느낌으로 서비스를 나누었고 유기적관계를 아키택팅하는것이 스터디입장에서 도움이된다.

RDB vs NOSQL

🐥NOSQL 과 RDB중 어떤 걸로 구현하는 것이 좋을까요? 확장성을 고려한다면 좀더 자유로운 NOSQL을 써야할지 고민입니다.
  • 실제 현업에서는 인프리팀의 dba가 선택해서 논의의 여지가 없음
  • 안정성과 관계성을 중요시하면 RDB로 구성
  • nosql심플하게 구성하기 좋음
  • 스터디 입장에서 보자면 nosql을 접해보는것도 나쁘지 않음
  • 가장중요한건 왜 !!를선택했는지를 알고있어야함 장단점 및 특징 선택한 이유에 대해 답을 할 수 있어야함

UNIT TEST / TDD

🐥Unit Test등 TDD 중심으로 개발을 진행하는게 좋을까요?
  • 업무쪽에서 단위테스트는 굉장히 중요 안전성을 중요시하기 때문
  • 코딩테스트에 단위테스트를 넣는 사람을 선호
  • tdd컨셉을 가지고간다면 테스트케이스를 다만들어야하는데 꼭 그런것이 아니라 필요한 부분에 대해 유닛테스트를 작성하는것도 좋다 꼭 모든 케이스에 대해 테스트케이스 작성할 필요는 없다.
  • 유닛테스트를 어떻게 했는지가 더 중요

프로젝트 성격

🐥배운 것을 적용하기 위한 플젝 vs 유저가 원하는 서비스 중 어느 것이 더 경쟁력 있나요?
예) 면접 시 **기술 왜 사용했나요? 배운 기술을 적용하고 싶었다 -> 설득력X
  • 회사의 특성을 탄다
  • SK (SI)
    • 배운것을 적용하기 위한 플젝을 통해 많이 얘기하는 경우는 sk쪽에 더 가까움
    • 해당되는 업종 자체가 고객사가 존재 회사를 상대로 얘기를 한다 그래서 그 회사가 봤을 때 이 아키텍처가 좋다 라는 승인을 얻기위한 노력들을 기울인다.
    • 이 아키텍처가 왜 좋은지에 대한 설명들을 쭉 나열하기 위해서 필요한 여라가지 기술셋들을넣고 아름답게 보이기 위한 작업들을 함 고객에게 임팩트있게 대해야하기 때문에
  • 카카오의 경우
    • 유저가 원하는 서비스를 어떤 식으로 구성을 하는가
    • 모토가 어떤 기술을 쓰던지 원하는 결과만 만들어내면된다 없으면 만들면되지 어떤 기술을 써서라도 내가 익숙한 기술을 써서 무조건 만들어서 서비스 하자
    • 각 회사별로 어떤 인재를 원하는지 파악을 하고 가는것이 중요
    • 왜사용했냐라고 물었을 때 '~~를 만들기위해 사용을 했고 ##효과를 거두었습니다' 까지 나오면 베스트

프로젝트 주제

🐥유저가 모여야 의미 있는 서비스( 예: 커뮤니티 ) vs 컨텐츠(?)가 있는 서비스 ( 예: 코로나 맵)
  • 당연히 컨텐츠가 있는 서비스

  • 플랫폼을 만들려면 상당히 긴 시간이 소요된다.

  • 컨텐츠가 좋으면 유저는 모이기마련

  • 배민같은 서비스들이 그동안 사람들이 기획을 하지 않아서 안뜬것일까?

    • 기술이 모든것을 하는것은 아니다 어떤측면에서는 마케팅전략이나 자본투자를 받아서 어떻게 전략을 짜겠다 혹은 어떤 타겟을 주고객층으로 만들겠다 등이 중요하다
    • 기획 측면에서 페르소나 ; 어떤 사용자가 많이 사용을 할지 타겟시장을 분석하는것이 중요
    • 어느 정도 완성도와 , 구매력, 시장 크기 등의 분석을 하는것도 중요

기업이 원하는 인재상

🐥기업에서 ‘실무에 투입할 정도구나’하는 프로젝트 수준은 무엇일까요?
서비스 운용 경험의 범위가 어디까지를 말하는지? 앱의 경우, 마켓에 올려 서비스운영을 해봤다는 경험을 작성하지만 웹의 경우는?
  • 웹서비스를 시장에 출시하기 위해서는 호스팅 작업이 필요
  • 실제 고객 혹은 방문자를 관리해봤다라는 수준이 운영경험인거같다
  • 고민해봐야한느것은 서버에 어떤식으로 퍼포먼스 투닝을 하고 상태관리를 해서 메모리릭이 나지 않고 등의 고민을 해보는것
  • 실제 누군가가 사용을 해봤다는것 자체가 의미가 있다고 생각
  • 업로드하는 플랫폼이 다를 뿐이지 크게 다르지는 않다.
profile
Junior Backend Developer

0개의 댓글