본문 바로가기
2021 상반기 취준대비 코스

2021 상반기 취준대비 코스 - 프로젝트편

by 한끗차it_kwon 2021. 2. 1.

안녕하세요. 한끝차IT입니다!😆

 

이번엔 채용과정에서 가장 중요한 요소가 되는 프로젝트 관련 영상입니다!

프로젝트 경험은 지원하는 직무에 대한 관심도를 보여주는 중요한 척도중 하나이기 때문에 자소서랑 분리해서 따로 주제로 선정하게 되었습니다.😊

또한 프로젝트는 서류의 자소서부터 면접까지! 즉, 채용과정의 시작과 끝에 영향을 주는 매우 중요한 요소이기에 더욱 철저히 준비하셔야 합니다. 그럼 시작하겠습니다!

 

< 입벌려 프로젝트 들어간다! youtu.be/4GHDZvQu1EU>

 

 

Q1. 프로젝트의 4가지 요소?

저희 생각에는 프로젝트 경험에서 필요한 요소는 크게 4가지로 나눠볼 수 있는데요.

첫번째로, "서비스성" 실제 개발한 프로그램을 유저에게 배포하여 서비스제공까지 해보는 프로젝트입니다.

두번째로, "기술성" 최신 주목 받는 신기술을 접목한 프로젝트,

세번째로, "클린코드" 수준 높은 클린 코드 구조와 다양한 디자인 패턴 등이 적용된 프로젝트, 그리고 마지막으로

본인이 지원한 직무와 관련되지 않은 분야 외 프로젝트 총 4가지가 있습니다.


Q2. 프로젝트 : "서비스성"

"서비스성"이란 실제 개발한 프로그램을 유저에게 배포하여 서비스제공까지 해보는 것입니다. 채용에서는 실제 개발한 프로그램을 사용자에게 배포하는 경험이 매우 중요합니다. 학부수준에서는 기능 구현하고 끝이 나는 경우가 많지만, 실제 출시를 준비하면서 마주하는 이슈들이 다양하고 그 과정에서 얻는 경험은 매우 값지기 때문입니다. 해당 프로젝트에서 경험해봤으면 하는 것들은 다음과 같습니다.

 

  • 시장조사

개발한 제품에 대한 시장 조사는 현재 개발하는 프로젝트의 한계와 발전가능성을 알 수 있습니다. 시장조사를 통해 왜 이 프로그램이 필요한지 정립할 수 있기 때문에 꼭 필요한 경험입니다.

 

  •  사용하면서 발생하는 작은 오류도 전부 잡아보기

실제 출시를 위해서는 정말 작은오류도 다 잡아야합니다. 같은 버튼을 막 클릭해서 발생하는 오류들도 실제 사용에서는 발생할 수 있고, 이러한 사유로 프로그램이 정지되면 사용자의 만족도는 떨어집니다. 이러한 작은 오류를 해결하기 위해서 필요되는 기술이해의 정도는 생각보다 매우 깊습니다.

 

  •  사용자 리뷰를 받고, UX를 높이는 방법 고민해보기

사용자로부터 실제 사용후기를 받고 어떤점이 불편하고 개선되어야 하는지 피드백을 받아보는 것입니다. 이러한 경험이 UX를 고려하게 되고 UX를 높이는 과정에서 프로젝트의 방향이 잡히기도 합니다.

 

  • 서비스화(플레이스토어, 앱스토어, 웹 etc)를 하여 고객에게 배포까지

실제 서비스용 서버를 따로 구축하고 사용자에게 배포하는 과정은 생각보다 단순하지 않습니다. 각 절차에서 필요로 되는 지식들이 많고, 여러가지 key를 발급받아 디버그모드와 릴리즈모드를 나누는 등 이러한 경험이 실제 현업에서 사용되는 기술이고 남들과의 차별성이 될 수 있습니다

 

  • 실제 트래픽을 관리해보기

사실 학부생 입장에서 트래픽을 모니터링하고 관리하는 것은 쉽지 않은 경험인데요. 그렇더라도 저희는 최소한 트래픽을 어떻게 대처하고 최적화 시켜야할 지에 대한 고민은 꼭 해보시는 것을 추천드립니다. 트래픽을 줄이기 위한 방법으로는 레디스 같은 인메모리 캐시를 사용한다거나, S3 스토리지 서버를 따로 두기, 그리고 더 나아가서는 쿼리 비용을 줄이는 것 까지 정말 다양하게 고민해 볼 수 있을 것 같은데요, 실제로 본인의 프로젝트에 적용을 시켜보는 것을 추천해 드립니다!


Q3. 프로젝트 : "기술성"

두 번째는 바로 프로젝트의 기술성 입니다! 흔히 자기소개서나 면접 질문으로 가장 도전적이었던 경험이나 프로젝트, 가장 힘들었던 프로젝트 등을 묻곤 하는데요, 지원자가 어느 도메인에 어느 정도까지 파고 들고 다뤄보았는지 그런 경험을 묻는 것 같습니다. 

 

  • 최근 주목받는 신기술 적용(블루투스, 와이파이 다이렉트, AI, 빅데이터 등) 

저 역시 인공지능 GAN이나 자연어처리 등에 대한 기술을 바탕으로한 여러 프로젝트 들을 구현했었는데요. 물론 본인이 지원한 직무가 인공지능 직무가 아닐지라도 다양한 기술들을 접목시켜가며 본인의 도메인에서의 인사이트를 넓혀가는 점을 어필하는 것이 중요한 것 같습니다.

 

  • 해당 기술을 특정 플랫폼에 적용할 때 발생하는 이슈

특정 기술을 적용하다 보면 예상치 못한 트러블 슈팅이 발생하기도 합니다. 실제로 면접에서도 프로젝트를 진행하면서 가장 어려웠던 점이나, 트러블 슈팅을 설명하라는 등에 대한 질문을 통해 정말 본인이 진행한 프로젝트인지 검증과 동시에 어느 정도 난이도 있는 프로젝트인지를 확인하는 작업입니다.

 

  • 해당 기술에 대한 완벽한 이해

사실 요즘 너무 좋은 기술들이 많이 나오다 보니 너도나도 라이브러리를 가져와서 구현에 급급한 경우가 종종 있곤 합니다. 하지만 단순히 가져다 쓰는 것이 아니라, 해당 기술의 동작원리가 무엇인지에 대해, 그리고 어떻께 우리 알고리즘에 맞게 커스터마이징 해야 하는지 등에 대해 정확히 알고 있어야 하는 것 같습니다. 

 

  • 해당 기술을 적용해야 하는 이유, 다른 대체가능한 기술 등 배경조사

요즘 많은 기업들이 프로젝트 관련한 질문을 할 때, ‘왜'라는 키워드를 많이 물어보는 것 같습니다. 왜 해당 기술, 라이브러리를 썼는지. 다른 대체가능한 기술들도 있었을 텐데 이 기술(라이브러리)을 선택한 이유가 무엇인지에 대해 질문하고자 합니다. 이 질문 역시 지원자가 정말 본인이 구현하고자 하는 기능에 대해 자세히 조사해 보고 가장 적합한 알고리즘, 기술을 선택한 건지에 대해 물어보는 압박 질문이므로, 직무면접을 대비해서라도 자신이 왜 해당 기술을 선택한 건지 고민해 보는 것이 중요한 것 같습니다. 


Q4. 프로젝트 : "클린코드"

다음은 클린코드입니다. 클린코드란 깔끔한 코드, 즉 남이 보아도 쉽게 이해가 가능할 정도로 코드를 구성하는 것 입니다. 클린코드는 협업과 유지보수와 연결되는 개념인데, 좋은 코드를 구성하기 위해 노력하는 것이 최근 현업에서 중요시되는 부분이기 때문에, 구조적으로 개선하는 노력이 보이는 프로젝트 경험이 있다면 정말 메리트가 될 것 입니다.

 

  • 협업 

협업을 위해 사용되는 기술이 다양한데, 애자일의 스크럼 같은 다양한 개발론을 고려해서 효율적으로 프로젝트를 진행하려 노력하고, 깃헙과 같은 소스관리툴을 이용해 프로젝트의 진행을 관리하는 경험이 갖춘다면, 같이 일하고 싶은 사람으로 보여질 것 입니다.

 

  • 해당 플랫폼에서 지향하는 구조 

각 플랫폼에서 지향하는 구조가 있을 것입니다. 예를 들어, 웹에서는 MVC, 안드로이드에서는 MVVM 패턴이 대표적인데, 이런 구조적인 부분도 고려해서 개발하면 더 안정성 있는 프로젝트를 구현할 수 있고 이해도가 더욱 높아지게 될 것입니다.

 

  • 디자인패턴

디자인패턴은 코드의 효율성과 협업에 능률을 높이는 기술입니다. 어떤 디자인 패턴을 사용하면 더 효율적이고 코드의 중복을 피할수 있을지 고민해보는 것이 중요합니다. 대표적으로 싱글톤 패턴이 많은 부분에 적용되기 좋은 패턴이니 꼭 참고해보시길 바라겠습니다.

 

  • 리팩토링

불과 3개월 전의 코드만 보아도 왜 이렇게 짰지? 싶은 코드들이 많을 겁니다. 현재 하고 계시는 프로젝트 구조를 다시한번 살펴보시고, 어떻게 하면 더 좋은 구조가 될지 더 좋은 코드가 될지 고려해보신다면 정말 좋은 경험이 될 것입니다.

 

  • 현업에서 이게 개발된다면?

만약 현업에서 이 프로젝트가 진행됐다면 어떻게 개발되었을지를 고민해보는 것이 중요합니다. 실제 사용되는 기술 스택이 왜 사용되는지에 대해 이해하고 적용해보는 과정을 거친다면 프로젝트의 수준이 상당히 높아지는 것이 보일 것 입니다. 


Q5. <분야 외 프로젝트>

앞서 언급한 3가지 요소가 매우 중요하지만, 시간적 여유가 되시는 분들은 본인이 지원하고자 하는 직무와 연관이 적은 경험도 있으면 가산점이 되는 것 같습니다! 사실 직무 관심도와는 별개로 지원자가 어떤 성향을 가지고 있는지, 그리고 능동적이고 성장하는 것을 좋아하는 개발자인지 등에 대한 여부를 확인할 수 있기 때문입니다. 저 역시 포트폴리오에 멘토링을 한 경험이나, 미국 샌디에이고에서 개발한 경험을 적기도 하였는데요. 이는 다른 사람들과의 커뮤니케이션 능력, 그리고 협업 역량 등에 대해 판단할 수 있는 좋은 지표가 될 수 있을 것 같습니다. 더 나아가 지원자가 지원한 직무에서 새로운 것을 잘 배우고 협업해 나가는 지도 판단할 수 있을 것 같네요! 

 

Q6. 이번주 과제!

이번주 과제는 본인이 진행한 프로젝트 경험을 바탕으로

  1. 포트폴리오 만들기
  2. 본인이 지원할 직무에 맞는 프로젝트 기획하기
  3. 깃헙 관리하기

입니다! 간혹 회사에서 포트폴리오와 깃헙링크를 선택적으로 제출할 수 있는 경우가 많은데요. 이를 잘활용하면 지원자가 관심있고 자신있어 하는 분야가 무엇인지 어필할 수 있는 요소가 될 수 있습니다. 아 깃헙 정리할 때 리드미는 꼭 잊지 마시구여! 그리고  본인이 진행했던 프로젝트를 잘 정리해서 포트폴리오 만들고, 부족하다 생각되시면 어서 팀원들 구하시길 추천드립니다!

 

또한 이번주 코딩테스트 대비 알고리즘 문제도 리스트업 해두었습니다!

상반기 인턴십을 목표로 화이팅하시길 바랍니다😊

 

이번주 문제 : 프로그래머스

이번 과제는 저번 과제에 이어 프로그래머스 레벨 1단계 남은 문제들입니다! 어려우신 분들은 답을 찾아가며 문제를 풀어보시는 것을 추천드립니다! 궁금한 것은 아래 댓글 달아주세요 :)

 

오늘도 긴 글을 읽어주셔서 감사합니다!

한끗차it은 여러분들의 든든한 멘토가 되어 함께 나아가겠습니다😊

 

---------------------

* 한끗차IT 유튜브 : www.youtube.com/channel/UC0e36dIjdIxIEvfW__ibwDw/featured

* 궁금하신 거나 보고싶은 영상 주제 등 저희에게 말씀해주고 싶은 것은 댓글 달아주시거나 아래 메일로 자유롭게 연락주세요. 

한끗차it : thinlineit@gmail.com

댓글