itisjustK
코딩과 사람 사는 이야기
itisjustK
전체 방문자
오늘
어제
  • 분류 전체보기 (207)
    • 일이삼사오육칠팔구십일이삼사오육칠팔구십일이삼사오육칠.. (0)
    • Web (43)
      • html & css (9)
      • django & python (15)
      • java script (9)
    • iOS (51)
      • Swift (42)
      • SwiftUI (5)
    • CS (25)
      • 자료구조 (6)
      • 운영체제 (3)
      • 데이터베이스 (9)
      • 네트워크 (7)
    • PS (34)
      • 알고리즘 & 자료구조 (0)
    • Life (36)
    • Retrospective (15)
    • Book (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 어플
  • CS
  • 킨디
  • ios
  • crud
  • 개발자
  • 독립서점
  • AppleDevloperAcademy
  • mongodb
  • 생활코딩
  • binding
  • CoreData
  • POSTECH
  • 점주
  • 연결리스트
  • SwiftUI
  • nosql
  • SWIFT
  • 생활코딩 #이고잉 #HTML #코딩 #개발자
  • 세그멘테이션

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
itisjustK

코딩과 사람 사는 이야기

비전공 iOS 개발자가 프로젝트가 끝나자마자 3개월 동안 CS 강의만 들은 이유
Retrospective

비전공 iOS 개발자가 프로젝트가 끝나자마자 3개월 동안 CS 강의만 들은 이유

2023. 5. 3. 13:27

안녕하세요 K입니다. 어느덧 올해도 상반기가 한 달밖에 남지 않았는데요, 잘 보내셨나요? 

저는 이번 상반기에는 저에게 부족한 부분(CS, 알고리즘 등)을 공부하면서 보냈습니다. 특히 작년 저에게 CS가 정말 필요하다고 느껴서 올해 초에는 CS 공부에만 전념했습니다.

이런 결정을 하게 된 계기와 어떤 식으로 공부했는지에 대해 남겨보려고 합니다. (회고 특성상 편한 말투로 써보았습니다.)

 

 

배경

  • 작년에 3개의 어플을 출시하면서 어느 정도 '그럴 듯하게 보이는' 프로덕트는 만드는 정도까지는 할 수 있게 되었음. 왜냐하면, 약간의 구글링 실력과 swift 문법에 대한 기초적인 이해만 있으면 얼마든지 코드 가져다 써서 구현할 수 있으니까.
  • 하지만 이 정도는 누구나 다 할 수 있는 일이라는 생각이 들었고, 이런 식으로 작업해 나간다면 성장이 없을 것 같았음.
  • '이렇게 하면 안되는데'라는 생각이 머리를 떠나지 않았고, 좋은 개발자는 어떤 개발자인지 고민하였음.
  • 개발자는 developer임. 즉, '발전'시키는 게 이 직업의 역할임. 좋은 개발자는 '발전'을 잘 시킬 수 있어야 함.
  • 코드를 발전시키기 위해서는 좋은 코드를 써야 하고, 좋은 코드는 메모리∙속도 면에서 효율적이어야 하고, 유지보수도 용이해야 하며, 안정적이면서 확장성이 좋아야 함.
  • 좋은 코드를 쓰기 위해 팀원들과 코드 리뷰도 하고, 스스로 작업하면서 좋은 코드를 작성하기 위해 공부하기도 했음.
  • 코드를 깊게 이해하려고 파고들면 그 끝엔 어김없이 메모리∙쓰레드∙속도 등의 CS 개념이 있었음(당연한 말이겠지만).
  • 하지만, 난 CS 지식이 약했기 때문에 이해하는 데 한계가 있었음. 모르는 CS 지식이 나올 때마다 검색하면서 주먹구구식으로 이해하려고 했지만, 깊은 이해가 동반되지 않았기 때문에 순식간에 휘발되기 십상이었음.
  • 결국 난 성장의 속도가 더뎌지고 있었음. 기초가 부족하다보니 성장의 한계를 맞닥뜨렸고, 이 문제를 해결하기 위해선 (좋은 개발자로 한 단계 더 성장하기 위해서라면) 내게 부족한 CS 지식을 채우는 것이 최우선 일이라고 느꼈음.

 

 

행동

  • 다른 할 일이 많았지만(자소서 작성, 프로젝트 유지 보수 등), 올해 1분기는 CS 공부에 할애하는 것으로 계획했음.
  • 내 상황에 가장 알맞은 공부 수단은 인터넷 강의였음. 찾아보니 다양한 강의(KOCW, 인프런 등)가 있었고, 난 인프런 강의 중 나와 스타일이 맞는 강의를 골랐음.
  • 인프런의 강의로 고른 이유는 효율적으로 공부할 수 있겠다고 생각했기 때문임. 비교적 짧은 시간 동안 개발자가 실무에서 필요할 개념들을 정리할 수 있었고, 공부하면서 부족한 개념들은 KOCW의 전공 강의 또는 서적을 이용해서 공부하기로 계획했음.

 

  • 인프런의 장점은 빠른 QnA였음. 처음 공부하는 내용이다 보니 곧바로 모르는 내용을 질문할 수 있었음. 내 공부 특성상 질문을 많이 하는 스타일이라서 더욱 나한테 적절했음.

질문을 곧바로 하면서 개념을 잡아갔다

 

  • 또한, 아무래도 장기간 인터넷 강의를 듣다 보면 공부 텐션이 떨어질까봐 매주 회고하는 시간을 가지고 정리했음. 어떤 요인이 내 공부에 좋은 영향을 미칠지, 안 좋은 영향을 미칠지 분석하였고 끝까지 효율성을 가져갈 수 있었음

회고 내용들

 

  • 효과적인 학습을 위해서 들은 내용을 나만의 언어로 스스로 정리하고, 자료구조와 알고리즘 같은 경우는 Swift로 구현해보면서 공부하였음. 모든 내용은 노션에 정리하였음. 

노션에 정리하면서 공부 내용을 정리했다

 

  • 지금은 이 내용을 블로그에 옮기면서 다시 한 번 복습하고 있음.

 

 

결론

  • 필요한 모든 부분을 채웠다고는 말 할 수 없지만, 최우선적으로 보이는 빈틈을 어느 정도 메꿀 수 있었음.
  • 아직 좋은 코드를 작성하기에는 힘들긴 하지만, 좋은 코드가 눈에 보이는 정도까지는 된 것 같음.
  • 어떤 언어이든 그 토대는 CS인 것을 다시 한번 느꼈음.
  • CS는 한 번에 끝낼 수 없다고 생각하고, 그렇게 생각하면 안 된다고 생각함. 앞으로 개발하면서도 이 부분을 자주 들여다보면서 기초를 계속 탄탄히 다져야겠다는 생각이 들었음.
  • 성장에는 탄탄한 기초와 끊임없는 배움이 동반되어야 함을 배울 수 있었음.
저작자표시 (새창열림)

'Retrospective' 카테고리의 다른 글

블로그와 Stack Overflow만 찾던 내가 공식문서와 친해진 계기  (0) 2023.05.04
결국 개발도 ‘사람’이 하는 일이었다  (0) 2023.05.04
Apple 디자인 챌린지 참석 후기 : UX/UI 는 곧 '길 찾기'다!  (0) 2023.03.07
프라이머 21기 데모데이 참석 후기  (0) 2023.03.02
독립서점 플랫폼 어플 '킨디' 제작 일지 (2) - 팀 샌들즈 어셈블  (0) 2022.12.20
    'Retrospective' 카테고리의 다른 글
    • 블로그와 Stack Overflow만 찾던 내가 공식문서와 친해진 계기
    • 결국 개발도 ‘사람’이 하는 일이었다
    • Apple 디자인 챌린지 참석 후기 : UX/UI 는 곧 '길 찾기'다!
    • 프라이머 21기 데모데이 참석 후기
    itisjustK
    itisjustK

    티스토리툴바