평비 31일차 : 잘 키운 서비스 하나, 열 토이 프로젝트 안 부럽다.

Key 🔑 : 사람들이 필요로 하거나 꾸준히 사용할 수 있는 서비스를 만들어보자.

목적 없는 하루하루는 무의미하게 끝나버렸을 겁니다. 그런 날들이 언제나 그렇듯이 말입니다.
  - 버드 제독

오늘의 24시간⏰을 최대한 활용할 방안

  1. 1일 1평비
  2. 근무(휴일) 중 시간마다 휴식하고 독서하기
  3. 업무 인수인계 준비 및 문서 작성
  4. 운동하기

오늘의 책 한 구절 📕

비참해지는 비결은 자신이 행복한지 아닌지에 대해 고민할 여유를 갖는 것이다.
  - 조지 버나드 쇼

굳이 그런 고민을 할 필요가 있을까? 소매를 걷어붙이고 부지런히 움직이라. 그러면 피가 돌기 시작하고, 정신이 번쩍 날 것이다. 머지않아 몸속에 긍정적인 활력이 치솟으면서 걱정을 몰아낼 것이다. 바쁘게 일하고 그 상태를 유지하라. 가장 저렴하면서도 효과 높은 약이 바로 그것이다.


개발자 멘토링 💻

서류탈락하는 개발자 포트폴리오의 특징 from 코딩몬스터TV youtube

현재 기업이 전혀 매력을 느끼지 못할 프로젝트 경험들로 가득하지는 않은가?

  • 프로젝트를 눈에 그럴싸하게 만드는 것만이 개발자의 역할이라고 생각하는 사람들이 있다. 그래서 많은 분들이 새로운 프로그래밍 언어나 프레임워크를 이것저것 급하게 배우고 혼자서 토이프로젝트를 완성하는 것만으로 만족한다.

    난 여러 기술스택 모두 보유했다. 내가 개발해봤는데 대학교에서 배우는 CS 전공지식 실제 개발엔 쓰이지도 않더라. 
      - 어떤 한 개발자
    
  • 워터폴 방식의 개발에만 최적화된 서류이다. 이런 능력은 초기 데모 버전을 빠르게 만들어야하는 창업팀이나 고객의 요구대로 빠르게 만들어야 하는 외주 업체나 SI 업체에서 필요하다. 이런 업체에서는 정해진 시간에 누가누가 빨리 구현하는 지, 얼마나 다양한 언어나 프레임워크를 다뤄봤는 지가 개발자의 생산성이고 능력이다.
  • 하지만, 최근 개발자의 몸값이 날아오르는 회사들은 자체 서비스를 개발하고 직접 운영하는 IT 업체들이다. 이런 곳에서는 애자일 방법론 아래서, 지속적인 변화 및 확장, 운영한다. 그렇기 때문에 빠르게 눈에 그럴싸한 것을 찍어내는 능력보다는 제품 변화에 대응하는 능력, 점점 늘어나는 트래픽 확장에 대응하는 능력, 쌓여가는 기술의 취약점들을 최소화하는 능력이 중요하다.
  • 그렇다면 생각해보자.
    1. 나는 사용자들이 조금이라도 사용하는 서비스를 배포한 적이 있는가?
    2. 그로 인해 발생하는 문제들을 해결해본 적이 있는가?
    3. 더 좋은 성능, 더 좋은 코드로 개선해보기 위해서 언어적인 패러다임이나 SW 설계 관점에서 고민을 해보았는가?
    4. 개발 과정에서 반복되는 부분들을 자동화하거나 체계적 관리 법에 대해 고민해보았는가?
  • 아마 과거 했던 프로젝트들은 완성된 이후에 방치되어 있을 것이다. 위의 IT 업체들이 원하는 능력을 전혀 기를 수 없는 프로젝트들만 했을 것이다.
  • 여러 프로젝트를 가볍게 찍고 넘기기보다 하나의 프로젝트를 운영하고 고도화해나가는 경험이 더 경쟁력 있고 가치가 높아지고 있다.
  • 좋은 아이디어나 멋진 디자인에 집착하지 말고, 나 또는 다른사람이 필요하거나 불편함을 해소해줄 수 있는 서비스 또는 다른 서비스를 참고해서 필요한 기능을 추가하고 다른 경쟁력을 가질 수 있는 서비스를 만들어보자.

    No. 프로젝트 자가진단 (전문 경력 개발자도 2~3개 체크하는 정도이니 안심하자.)
    1 실제 서비스를 공개적으로 배포하고 운영해봤다.
    2 유저의 피드백에 따라 성능/사용성을 개선하고 신규 기능을 추가해봤다.
    3 발견되는 버그와 개선사항을 정리하고 쌓인 이슈들을 체계적으로 관리해봤다.
    4 코드를 지속적으로 리펙토링하고 디자인 패턴을 적용해봤다.
    5 위의 시도에서 더 좋은 설계와 더 빠른 개발 사이의 트레이드 오프를 고민해봤다.
    6 반복되는 수정과 배포에 수반되는 작업들을 자동화해봤다.
    7 언어나 프레임워크의 기능만으로 구현 할 수 없는 것들을 직접 구현해봤다.
    8 내가 사용한 라이브러리나 프레임워크의 문제점이나 한계를 느끼고 개선해봤다.
    9 코드나 제품의 퀄리티를 유지하기 위한 분석 툴이나 테스트 툴을 도입해봤다.
    10 타인과의 협업을 효율적으로 하기 위한 고민을 해봤다.

일상 체크리스트 📃

식사   시작과 끝   일상  
아침   기상 시간 06:40 독서2P 데일 카네기 - 자기관리론 ~90p
점심 부타동, 미니 탄탄면     영양제 먹기 O
저녁 닭볶음탕 취침 시간 00:00 운동 PT 1H (등)

오늘의 순간들

  • 개발 커리어 패스를 계획해보는데, 할 게 너무 많다;; 그러므로 더욱 더 차근차근 준비를 해야할 것 같다.
  • 간만에 헬스를 했다! PT 쌤이 바뀌었는데, PT 쌤들마다 스타일이 매우 다른 것 같다.. 고중량/고반복, 기구/케이블/맨몸 운동, 상체/하체 포커스 등 많이 다르나는 걸 느꼈다.
  • 여자친구가 평비에 댓글을 달려고 한다!!

Today’s Award 🏆

  • 가장 좋았던 순간 👍 : 간만에 칼퇴!!!! 이제 진짜 끝이 보이는 것 같아서 마음이 푸근하다.. 일 하면서도 별로 스트레스 안 받고 여유롭게 했던 것 같다.
  • 가장 나빴던 순간 👎 : 늦잠 자는 바람에 평비 외에 아무것도 못했다는 점..
  • 오늘의 성과 😎 : 회사 이슈를 0개로 만들었다. 이제 인수인계를 준비하고 남은 기능 개발만 하면 된다!

회고 (DAY)

오늘은 성공한 사람과의 시간이 아니라 개발자 멘토와의 시간을 가졌다. 나의 개발자 커리어를 시작함에 있어 멘토링이 필요했다. 내 커리어 방향성을 정하는데 정말 많은 도움이 됐다.

  • 어떤 서비스를 개발해야할 지 : 겉으로 보기에만 그럴싸하게 포장하는 개발이 아니라 다른 사람들에게 정말로 필요한 서비스를 개발하자.
  • 언어와 프레임워크를 선택함에 어떤 기준을 정해야할 지 : 남들이 많이 사용한다고 선택을 하는 것이 아니라, 내가 개발하는 서비스에 적합한 언어와 프레임워크를 선택해야 한다.
  • 어떤 개발 공부를 해야할 지 : 기능 중심의 개발 공부가 아니라, 서비스 성능 향상을 중점으로 두는 개발을 공부해야 한다.

댓글남기기