프로그래밍/생각노트

[MeetUp] 우아한형제들 밋업 후기 (2022.11)

제이콥J 2022. 12. 18. 11:48

우아한현제들 MeetUp에 zoom으로 참여했다.

요약한 답변들과 느낀 점을 기록해보았다.

 

 

B2B 회사에서 기능 구현 중심의 업무를 하나보니
FE 개발자로서 전문성이 쌓이지 않는데,
B2C 회사로 이직을 해야 하는가?

 

(김정환님 답변)

기능구현 수준에만 머문다는 질문이 공감된다.

UI 버튼 만들면 POP UP이 보이거나 이런 정도의 업무를 할 때가 많다.

 

김정환님도 그런 일을 한 적이 있다.

거기에만 머물게 되면 정말 전문성이 얕아지는 것 같다.

 

어플리케이션 만들 때 좋은 설계를 고민해야 한다.

유지보수 환경 고민 등 이런 환경은 어디서든 할 수 있다.

이런 것에 초점 맞추는 것은 어떤가?

 

기능구현 수준으로만 개발하면 나중에 유지보수 힘들다.

어떻게 유지보수 하기 좋은지 설계를 고민해야 전문성이 키워진다고 생각한다.

 

김정환님 또한 그 부분에서 계속 고민중이다.

 

백엔드 API 호출에 대한 고민, 캐시에 대한 고민 등을 할 수 있다.

 

눈에 보여지는 것만 구현하는 정도에 머물지 말자.

소프트웨어 공학적 관점에서 보아야 엔지니어로서 전문성을 키울 수 있을 것이다.

 

B2B 솔루션 회사에서 프론트엔드로 개발자로 재직중인 나에게 좋은 답변을 주셨다.
내가 능동적으로 기술 문제를 고민해보고 적용해봐야겠다고 생각했다.
또한 동적인 UI/UX, SEO 등 회사에서 채울 수 없는 부분은 사이드 프로젝트로 실력을 키워 나가야겠다. 

 

 

이력서 및 포트폴리오

(김정환님 답변)

깃헙 링크와 기술블로그 등의 자료를 제공하지만 그 의도가 잘 보이지 않는다.

 

오픈소스 기여한 지원자가 기억 남는다.

스스로 성능 개선 할 수 있었다고 생각하며, 라이브러리들을 참고하며 라우터 직접 만들었다.

엔지니어로서 호기심이 있고, 그것을 충족시키기 위한 활동을 하고 있었다.

서류를 위한 서류가 아니라 정말 궁금하고 할 수 있는 것을 하고 성장가능성 보여줘서 좋았다.

 

경력 지원자분들은 설계 능력과 경험 위주로 본다.

그러나 많은 지원자들이 애플리케이션 개발 시 설계 능력이 부족한 것이 보인다.

단순 개발만 하면 그런 부분이 빈약해진다.

 

회사에서 실무를 하다 보면 내 관심 분야가 아닌 주어진 일을 하기 위해 프로그래밍을 해야 한다.
내가 좋아하는 것들을 개발하기 위한 개인 프로젝트를 할 때와는 달랐다.
엔지니어로서의 열정을 위해 회사의 제품에도 관심과 애정으로 개발을 해야겠다고 생각했다.

또한 연차가 쌓일수록 설계 능력을 키워나가야 한다는 것도 알게 되었다.

 

 

시니어의 스트레스에 관한 질문

(박경태님 답변)

시니어 개발자는 잘해야 한다는 압박 때문에 스트레스가 많다.

 아는 동료는 스트레스로 인해 소화불량과 탈모가 왔다.

반면 다른 동료는 잘 해서 좋은 곳으로 이직했다.

 

화합보다 비교하며 경쟁하려는 태도가 망친 것 같다.

자신이 기술적으로 우위에 있어야 한다며 이기려고 하기 보다는 동료로서 함께 하는 태도로 하면 괜찮아질 것이다.

 

동료가 좋은 것으로 이직하면 도움을 받을 수도 있을 것이다.

꼭 선생님으로 가리쳐야 한다고 생각하지 말라.

대결보다 협업을 하라.

 

과거 내가 일했던 영업 조직에서는 영업사원끼리 경쟁하는 구도가 많았다.
한정된 자원을 놓고 영업사원들끼리 내부적으로 경쟁하는 경우가 있었다.
그러나 개발 조직은 협력 위주의 분위기라는 생각이 든다.
더 마음을 열고 협업하려는 태도를 가져야겠다.

 

 

개발자의 성장을 위한 태도

(박경태님 답변)

성장을 위해서 단순 개발만 해서는 안 된다.

도메인 지식과 시스템 지식(아키텍처)을 균형있게 갖춘 개발자가 되어야 한다.

 

도메인 지식은 이직 등을 하면 필요 없는 지식이 될 수 있지만 현재 팀에서 일을 잘 하려면 필요하다.

그래서 가볍게 여기지 말라.

 

한 분야를 깊이 파고들 수도 있지만, 대중적인 시니어가 되기 위해 어느 정도 자세히 아는 것에서 끝내면 된다.

 

상대가 잘 알아볼 수 있도록 책임의 한계나 도메인 잘 설계하라. 너무 많은 역할을 맡지 마라.

가독성 좋아 남들이 보기 좋은지 확인하라.

매번 같은 룰을 적용해서 코드를 작성하라.

 

최근 회사 업무에서 도메인 지식에 대한 중요성을 느꼈다.
비슷한 말씀을 해주셔서 내 생각이 맞다는 것을 검증할 수 있어서 유익했다.

 

 

작은 회사에서 디자이너도 없고 프론트 개발을 혼자 다 하고있다. 이직해야 할까?

(김정환님 답변)

김정환님도 10명 미만 스타트업에서 일을 했었다.

당시 백엔드과 프론트엔드를 같이 했다. 그냥 웹 개발을 했다.

오히려 이런 환경이 장점이라 어필을 했다.

 

경험이 있기 때문에 미리 알 수 있고 의견 개진을 할 수 있다.

할 수 있을 만큼 의견과 역량을 다 펼쳐보는 것이 좋다.

 

채용하는 입장에서도 이직 동기 질문을 할 것이다.

에로사항과 환경을 개선하기 위해 어떤 노력을 했는지 물어본다.

그 때 개선하기 위한 노력을 말해주면 신뢰가 간다.

 

선배 개발자들은 퍼블리셔, 기획 등 R&R에 나누어지지 않을 때도 맡아서 했다.

일을 나누어 정해진 일을 하기보다는 좋은 상품 만들어 좋은 퀄리티를 고객에게 제공하는 것이 중요하다.

 

개발에 대한 R&R 이상으로 좋은 상품을 만들기 위해 노력해야 한다는 점. 정말 중요한 관점이라고 생각한다.
최근 재직중인 회사에서도 이사님께서 비슷한 말씀을 해주셨다.
지금처럼 작은 회사일수록 더 유효한 내용이라 생각한다.

 

 

대용량 트래픽에 경험에 관한 질문

(박경태님 답변)

대용량 트래픽을 다루는 경험은 하기 힘들다. 큰 기업에서만 가능하기 때문이다.

그래서 대용량 트래픽에 대한 경험이 아닌 지식 있는 사람 채용한다.

 

서버 하나가 처리할 수 있는 양은 정해져 있다.

그래서 서버를 많이 놓을 수밖에 없다.

클러스터, 샤딩(데이터 나누어 저장), 분산처리를 해야 한다.

MSA, Service Base 아키텍처로 분리해야 한다.

 

저장소도 마찬가지이다.

WAS(Web Application Server)가 늘어남에 따라 저장소가 늘어나야 한다.

Radis, Kafka, Mongo 시스템을 이용하려면 각각 이해하며 체크해야 한다.

 

RDBMS에는 샤딩, 시스템과 증설 등에 관해서, 그리고 DB 직접적으로 투입하는 코드를 작성하는 방법도 있다.

 

대부분 많이 모를 것이다.

이정도 알면 대용량 서비스 경험할 준비를 마친 것이다.

 

직접 경험과 운영을 할 수 없다면 관련 지식이라도 습득하고 연습해보는 것이
대안이라는 것을 알게 되었다.

 

 

서버 설계

(박경태님 답변)

서버의 튼튼한 설계를 하기 위해서는 현재 시스템을 잘 파악해야 된다고 생각 됩니다.

현재 시스템에 가장 적절한 솔류션이 도입되어야 되는 교과서 같은 답변이 있을듯 합니다^^.

안정적인 시스템을 위해서는 사용하려는 솔루션(큐나 저장소 캐쉬등)에 대한 특징을 먼저 이해하고

안정적으로 운영 하는 방법을 습득해야 된다고 생각합니다.

그런 솔루션을 기반으로 EDA EDM MSA등의 아키텍쳐를 구현 할 수 있다고 생각됩니다.

아키텍쳐 부분은 다양한 것을 소규모로 구축해보고 특징을 경험해보는게 좋다고 생각됩니다.

현재 사용되는 대부분의 아키텍쳐는 장단점이 있고 하나의 아키텍쳐나 개발방법론으로 모든걸 해결하기는 어렵기 때문에

오리엔탈 소프트웨어 아키텍쳐를 시작으로 지속적으로 관심을 가지고 보는 것이 중요해 보입니다

 

 

주니어 개발자로서 

(김정환님 답변)

기능 구현에만 멈추면 그 수준이 된다.

프로덕트 기술 호기심 갖고 연구하라.

꾸준히 기록하며 기술블로그 하면 자신만의 관점이 생긴다.

 

(박경태님 답변)

주니어는 굵직한 업무를 맡지 못하고 서포트하며 운영 업무 위주를 한다.

프레임워크, 철학, 구조, 히스토리 살펴보며 왜 해당 기술 쓰는지 고민하면 깊이 알게 된다.

그것이 쌓이면 깊이 있는 이야기를 할 수 있게 된다.

신입 때 너무 큰 업무를 받지 못했다고 해서 커리어가 끝나는 것은 아니니 걱정 말라.

 

반응형