Software

Software development, mentoring, coaching.

View on GitHub

인사

안녕하세요. 저는 소프트웨어 개발에 대한 끊임없는 도전 및 경험을 얻는 걸 좋아하며 이러한 경험을 바탕으로 하여 소프트웨어 개발이 어떤 것인지 그리고 추구해야 하는 가치가 무엇인지 전파하는 활동을 하고 있는 김종필 이라고 합니다.

View Github pages: https://jongfeel.github.io/Software/

내용이 조금 길더라도 관심 있으신 분은 끝까지 읽어보기를 권장합니다.

에 대한 설명이 차례대로 있습니다.

뭘 하는 거죠?

저는 소프트웨어 개발에 어려움을 가진 분들을 돕고자 무료로 아래와 같은 활동을 하고 있습니다.

이유야 어떻든 결과적으로 저화 함께 진행하여 소프트웨어에 대한 전체적인 이해를 하고 그 이해를 바탕으로 올바른 소프트웨어 개발을 할 수 있는 능력을 키우는 것이 목적입니다.

주의사항

여기서 소프트웨어 개발에 어려움을 가진 사람은 누군가 시킨 일을 “어떻게” 해결해야 하는지 고민하는 사람이 아닙니다. 내가 무엇을 더 알아야 소프트웨어를 개발하는데 도움이 되고 잘 할 수 있게 되는지, 지금의 내 방법으로도 잘 되고 있는데 내가 잘 모르는 다른 방법을 알면 뭐가 더 좋은지 알고 싶은 분들에게 도움이 되는 과정입니다. 최소한 자신이 공부를 할 의지를 가지고 있어야 제가 도움을 드릴 수 있습니다.

저에 대한 자세한 소개

저는 현재 버넥트에서 AR 관련 연구, 제품 개발, 연구과제 프로젝트의 PM 및 시니어 개발자로 재직중에 있습니다.

2021

2020

2019

2018

2016

2015

before 2015

대상은

아래 링크들을 통해 저에 대해서 더 자세히 살펴보실 수 있습니다.

어떤 개발 언어로 하는 거죠?

소프트웨어를 개발하는데 언어, 프레임워크, 개발툴은 선택 사항입니다. 원하시는 언어, 프레임워크, 개발툴 등등을 정해서 하실 수 있습니다. 제가 정해드리는 툴은 git 한가지이며, 이걸 공유할 수 있는 github 사용은 필수입니다. 만약 제가 사용하지 않았던 언어, 프레임워크를 정하시면 상대적으로 선생님이나 멘토 느낌이 아닌 동등한 실력을 가진 스터디원과 스터디 하는 느낌으로 진행 할 수 있는 긍정적 효과를 얻으실 수 있습니다.

왜 무료로 하나요?

돈을 받는 것도 좋지만 여러분이 소프트웨어를 개발하는게 어떤 건지 이해시켜 드리는게 더 중요한 가치이기 때문입니다.

이렇게 하면 얻는 이득이 뭐죠?

어떤 식으로 진행하나요?

목표 설정

저와 함께 만들고 싶거나 하고 싶은 주제, 도달 하고자 하는 목표, 해결 해야 하는 과제, 원하는 기술 스택 및 개발 툴 등에 대해 논의하고 구체화 하는 식으로 시작합니다.

개발 문서 및 코드 작성

주제 및 목표가 구체화 되고 문서가 나오면 목표를 달성하기 위해 요구사항 분석, 설계, 구현을 필요한대로 진행하는 걸 권장합니다. 특별한 문서 템플릿이나 작성 규칙은 없습니다. 정해진 규칙이 없다고 해서 어렵게 생각하지 마시고 필요하다고 생각되는 부분을 저와 함께 얘기하면서 진행하시면 되고, 많이 어려우신 분들에게는 제가 적절한 힌트나 가이드 등을 드립니다. 그래서 문서 작성할 때에는 서식이나 템플릿 보다는 내용 자체를 읽고 이해할 수 있는 수준으로 적어 주시는게 중요합니다. 사실 전 멘토의 역할에 충실해야 하기 때문에 실제 연구, 공부, 실험, 결과, 생각의 변화 등의 내용 공유는 여러분 스스로 진행해야 합니다.

Github 공유

위의 활동을 진행하면서 만든 모든 문서와 소스 코드, 추가 질문 사항, 문제 상황 등 공유할 내용 모두 github에 공유합니다.

문서 공유

github 내에 md(markdown) 파일이나 wiki에 적으셔도 되고 블로그나 기타 편한 방식의 포맷으로 작성하신 뒤 link를 알려 주셔도 됩니다.

진행 상황 공유

github의 projects 탭의 칸반 보드 생성을 통해 관리합니다.

의 세가지 상태로 관리해 주시면 됩니다.

이슈 공유

github의 issue 탭에 생성하고 공유합니다. 질문할 게 생기거나 문제가 발생하면 적어주시면 됩니다.

소스코드 리뷰

소스코드 리뷰가 포함될 수 있으며 필요하면 pull request를 통해 코드 리뷰를 진행합니다. 안해도 상관 없지만 코드 리뷰를 진행하기를 권장해 드립니다.

리뷰 미팅

저와의 미팅은 github에 공유한 결과를 가지고 리뷰하고 계속해서 진행해 나가야 할 방향을 잡아주는 얘기를 하게 됩니다. 작성하신 문서, 코드 리뷰, 이슈 내용 위주로 진행하며, 따로 공부하신 부분 등 준비해 오신 모든 내용에 대한 리뷰를 진행합니다. 보통 1주일에 1회 1~2시간 내외로 진행하며 구글 행아웃을 통한 온라인 미팅으로 진행합니다. 필요시 종종 오프라인 미팅도 진행하지만 자주 진행하지는 않습니다. 공유해 주신 내용이 없다면 문서 및 코드 공유가 이루어진 시점 후에 협의된 미팅 일정대로 진행이 가능합니다.

시간 관리

주기적인 리뷰 미팅이 진행되므로 다음 리뷰 미팅때 까지 얼마만큼의 시간을 사용할지 계획하고 실천합니다. 제가 정해드리는 건 아니고 스스로 실천 가능한 목표를 정하시고 체크만 해주시면 됩니다. 매번 리뷰 미팅 때 마다 달성률을 체크하고 조절할 수 있게 가이드 해 드립니다.

이러면 정말 실력이 느나요?

제가 기술적인 강의를 하는 것도 아니고, 과외를 하는 것도 아닌데 어떻게 내 실력이 늘 수 있는지 궁금할 수도 있을 겁니다. 물론 기술적인 걸 알게 되면 실력이 느는 것이라고 느끼실 수도 있지만, 소프트웨어를 개발하는 실력이라는 것은 꼭 그런 기술적인 지식만을 요구하지는 않습니다. 기술적인 지식이 아닌 “실력”이라는 키워드를 이야기 하기 위해서는 누군가와의 “소통”을 통해 생각의 폭을 넓혀야 하고, 나의 활동에 대해 지속적인 리뷰를 동반한 “피드백”이 필요합니다. 그리고 현재보다 더 나은 나의 모습을 위한 “기록”을 하는 훈련을 해야 하며, 더 나아가서 내가 성장했다는 걸 느낄 수 있는 “회고(깨달음)”의 활동이 적절히 동반되어야 “실력”이 늘었다고 할 수 있으며 “성장”을 할 수 있다고 생각합니다.

궁극적으로 저는 그 성장을 위한 가이드를 해 드린다고 생각하시면 됩니다. 그러면 당연하게도 내 “실력”이 늘었다는 걸 작성했던 문서들을 통해 객관적으로 아실 수 있으며, “성장”했다는 것 역시 자연스럽게 느끼게 됩니다.

왜 이런식으로 진행하는 거죠?

4차 산업혁명 시대에 맞는 교육방식

애자일 프로세스

소프트웨어 장인정신

착각하면 안되는 것

이 과정의 목표는 소프트웨어를 이해하고 올바른 방향으로 개발할 수 있는 능력을 키우는 것이 목적입니다. 아래와 같은 목적을 가지신 분은 저와 함께 해 봤자 도움이 되지 않는다는 걸 깨달으실 수 있습니다.

진행 시 중요 규칙

전체 멘토링 스케줄

아래 노션 링크에서 구글 캘린더와 연동된 제 공개 멘토링 스케줄을 확인하실 수 있습니다.

Mentoring schedule

아래와 같은 분들이 저와 함께 하고 계십니다

팽대원님, 정세영님 팀

종료된 프로젝트 2021년

변지혜님

[21_HF046] VR을 활용한 AI 외국어 학습 시스템

[21_HG028] 인체 치료 VR - Body Cure Bot VR

[21_HF279] Unity를 활용한 증강현실 과학실험 앱

차동훈님

[21_HF047] Untact Drive Thru (언택트 드라이브 스루 서비스)

[21_HF401] AR 프로그램을 기반으로 만든 보정 어플 - ‘뽀정했어?’

정혜인님

윤태원님

박소현님, 박지수님, 이수혁님 팀

조혜빈님

조윤우님 + 정혜인님

2020년

2019년

2018년

문의

시작하고 싶은 용기가 생기셨나요?