세번째 수업 | 개발자 마인드셋!

Faithful Dev·2024년 9월 5일
0

김승준 강사님

1교시 : 데이터 분석 및 인공지능 개발 환경

  • IDE: 통합 개발 환경으로, 코드 작성, 편집, 디버깅을 한 곳에서 할 수 있다. 확장 프로그램도 다양하게 지원되어 생산성이 높다. VS Code는 특히 Python 개발에 유용하고, GitHub와 연동해 협업하기 좋다.
  • Jupyter Notebook: 데이터 분석에 최적화된 환경으로, 코드 작성 후 바로 결과를 확인할 수 있다.

GitHub를 통해 버전 관리를 쉽게 할 수 있으며, Git을 이용해 코드 수정 내역을 관리하고 협업할 수 있따. GitHub Codespaces를 통해서는 어디서나 Python 등 개발이 가능하다. GitHub Copilot은 AI 코딩 도구로, 코드 자동완성이나 주석문 추천 등을 제공하여 개발을 도와준다.

2교시 : 개발자 마인드셋

  • Don't reinvent the wheel. 이미 검증된 솔루션을 활용하라.
  • Divide and conquer. 문제를 작은 부분으로 나누어 해결하라.
  • Keep it simple, stupid (KISS). 복잡성을 줄이고 단순하게 유지하라.
  • YAGNI. 현재 필요하지 않은 기능은 미리 구현하지 마라.
  • DRY. 코드 중복을 피하고 재사용 가능한 모듈을 사용하라.
  • Separation of concerns. 기능이나 역할을 모듈로 분리하여 유지보수성을 높여라.

Personal Insight

비전공자로서 AI 엔지니어라는 길을 선택한 나에게, 개발자 마인드셋에 대한 강의는 특히 중요한 시간이었다. 대학에 가면 문과 전공자들은 철학을, 이과 전공자들은 공학을 먼저 배운다. 교육 전공 학생들이 교육 철학을 배우듯이, 개발 전공 학생들은 소프트웨어 공학을 공부하게 된다. 이 기본적인 철학과 공학이 1학년 학생들이 언뜻 보기에는 필요한가, 싶을 수 있지만, 학년이 올라가고 전공 분야에서 직업을 갖게 된다면, 가장 기본적인 마인드셋을 만들어주는 장치의 역할을 하며, 그 중요성을 깨달을 수 있다. 전공자와 비전공자의 차이를 논하라면, 해당 분야에 대한 철학적(공학적) 사고를 가지고 있는가로 구분할 수 있을 것이다.
첫날 말씀해주셨던 개발자가 리뷰어의 역할을 한다는 말씀과 개발자 마인드셋에 대한 이야기를 해주시면서 "Code is read more than it is written"이라는 문장을 언급해주신 부분에서 이런저런 생각이 많이 들었다. 언어를 배울 때 쓰는 것보다 읽는 것이 먼저 익숙해져야 하듯이, 코드 또한 작성하는 것에 앞서 읽을 줄 알아야겠구나, 라는 생각을 했다. 일을 한다면 나 혼자 하는 것이 아닐 것이기에.
그래서 다양한 전문가들이 작성한 코드라든가, 해커톤 같은 대회에서 수상한 코드들을 분석해보는 시간이 매우 유익하겠다는 생각을 했다. 내 사고 안에만 갇혀 있던 코드 작성이, 더 확장되어 더 나은 코딩 습관과 설계 패턴을 주고, 내가 작성하는 코드의 퀄리티를 높일 수 있겠다는 생각이 들었다. 어제 다짐했듯 지속적으로 현재 업계의 동향을 파악하는 것과 더불어 이러한 노력들이 개발자로서의 성장에 있어 중요한 밑거름이 될 것 같다.

profile
Turning Vision into Reality.

0개의 댓글