CodeGym /Java Blog /무작위의 /나는 학생들에게 많은 문을 열어줄 것들을 가르치고 있습니다. CodeGym University의 멘토인...
John Squirrels
레벨 41
San Francisco

나는 학생들에게 많은 문을 열어줄 것들을 가르치고 있습니다. CodeGym University의 멘토인 Milan Vucic과의 인터뷰

무작위의 그룹에 게시되었습니다
CodeGym University의 "Java Fundamentals" 과정 멘토 중 한 명이자 "초보자를 위한 Android 앱 개발" 과정의 저자이자 교사인 Milan Vucic을 만나보세요 . 그는 8년 동안 Android 개발자로 일한 경험이 있으며 몇 년간 Java 및 Android 멘토링을 받았습니다. 이 텍스트에서 그는 자신의 직업적 배경과 멘토링에 대해 이야기하고, 초보자가 저지를 수 있는 가장 큰 실수를 밝히고, CodeGym 사용자에게 개발자가 되는 방법에 대해 조언합니다.

개발자가 되기로 선택한 이유는 무엇인가요?

저는 세르비아 출신입니다. 어렸을 때 이사를 많이 해서 8년 동안 초등학교를 다섯 개나 바꿨어요. 그 덕분에 나는 아주 솔직하게 말하고 새로운 교수들을 잘 받아들이게 되었습니다. 한때 훌륭한 수학 교수님이 계셔서 수학 대회에 나갔고 세르비아 전국 대회에서 3등을 하기도 했습니다. 나중에 나는 수학, 물리학, 프로그래밍 분야의 글로벌 대회에 참가할 수 있도록 최고의 학생들을 훈련시키는 수학 문법 학교에 다녔습니다. 나는 그 학문 분야를 매우 좋아했습니다. 그래서 고등학교 때 저는 Pascal, C, C# 같은 많은 언어와 약간의 데이터베이스용 SQL을 배웠습니다. 또한 저는 평생 게이머로 살아왔고, 게임 제작에서 큰 잠재력을 보았습니다.

개발자가 되기 위한 학습 경로는 무엇이었나요?

저는 대학에서 처음으로 진지한 프로그래밍에 입문했습니다. 저는 베오그라드 최고의 공학 대학 중 한 곳에 등록했고 그곳에서 2년 동안 공부했습니다. 당시 저는 훈련 프로그램을 통해 각 과목에서 비교적 높은 성적을 받았습니다. 그러다가 친구와 함께 앱을 만들어 인턴십에 지원하기로 했습니다(2015년이었습니다). 운 좋게도 '홈 프로젝트'를 통해 연습생 자리를 얻게 됐고, 회사에 취직하게 됐다. 그곳 프로젝트의 기본 언어는 PHP였는데, 저는 이전에 한 번도 시도해 본 적이 없었습니다. 하지만 경영진은 우리에게 PHP 프레임워크를 배울 수 있는 몇 주를 주었습니다. 저는 YouTube 튜토리얼과 인터넷 검색을 통해 공부했습니다. 나는 또한 언어에 익숙해지기 위해 PHP로 코드를 작성하고 있었습니다. 결국 우리는 팀에 합류해 그 회사에 1년 동안 머물렀다. 그런 다음 다른 직업을 구해 Python 프로그래밍을 하고 나중에 Android로 전환했습니다. 처음 몇 년은 일과 새로운 지식으로 가득 차서 압도적이고 도전적이었습니다. 하지만 점차 자신감이 커졌습니다. 어느 순간, 드디어 진짜 프로그래머가 된 줄 알았어요.

어떤 회사에서 일했고, 어떤 프로젝트에 참여했나요?

나의 첫 번째 회사는 훌륭했습니다. 나는 그곳의 문화를 좋아했습니다. 나는 그들의 연구 개발 팀의 일원이었습니다. 우리는 학생들이 대학 공부를 정리하는 데 도움이 되는 앱을 개발 중이었습니다. 이 앱에서는 어떤 방이 비어 있는지, 어떤 방이 꽉 차 있는지, 강의 일정을 확인할 수 있는 친숙한 UI가 있습니다. 제가 일했던 두 번째 회사는 프로그래밍 분야에서 이 지역 최고의 회사 중 하나였습니다. 저는 그곳에서 정말 즐거운 시간을 보냈습니다. 우리는 다양한 종류의 앱을 만들고 있었습니다. 저는 대부분의 시간을 의료 앱 작업에 참여했습니다. 그러다가 지난 3년 반 동안 사용자를 위한 포커 앱을 제공하는 회사에서 근무했습니다. 그리고 거기에서 저는 Android 관련 내용을 훨씬 더 많이 배웠습니다.

당신의 관점에서 볼 때 Android 개발(그리고 일반적으로)에서 Java의 미래는 무엇입니까?

저는 주로 제가 가장 좋아하는 언어인 Java로 코드를 작성했습니다. 내가 사용해 본 모든 언어 중에서 Java는 가장 아름답고 배우기 쉽습니다. 왜냐하면 매우 친숙하기 때문입니다. Java는 이미 많은 프로젝트에서 사용되고 있습니다. 물론 미래가 있습니다. Android부터 웹 앱, 백엔드, 프런트엔드, 데스크탑까지 거의 모든 것을 Java로 만들 수 있습니다. 그러나 Java에 미래가 없고 Java로 작성된 모든 프로젝트가 중단되었다고 상상하더라도(이는 불가능합니다) Java는 여전히 프로그래밍에 익숙해지기 위한 훌륭한 언어입니다. Java를 알면 Python이나 C#을 비교적 빠르게 배울 수 있습니다. 처음으로 복잡한(또는 보기 흉한) 언어를 배우게 된다면 프로그래밍을 좋아하지 않을 것입니다. 처음부터 PHP나 C++를 배웠다면 프로그래밍을 전혀 좋아하지 않았을 것입니다. 익히기가 쉽지 않습니다.

멘토가 되기로 결심한 계기는 무엇인가요?

앞서 말했듯이, 우리 교수님 중 많은 분들이 학업을 훌륭히 해내셨습니다. 저는 그들의 학문에 능숙해지고 더 많은 지식을 얻을 수 있도록 동기를 부여해준 그들의 감동적인 가르침에 감사드립니다. 그래서 당연히 상당한 경험을 가진 개발자가 되었을 때, 나는 그것을 올바르게 하는 방법을 알고 있었기 때문에 그 지식을 누군가에게 전달해야 한다고 느꼈습니다. 이것이 제가 Codementor에서 일하기 시작한 이유입니다. 나는 적어도 10명의 정규 학생과 여러 번의 일회성 세션을 가졌고, 컴퓨터를 켜는 방법을 모르는 것부터 간단한 Java 또는 Android 앱을 코딩하는 방법을 이해하는 것까지 안내했습니다. 또한 실시간 디버깅 세션도 진행했습니다. Codementor 사용자가 멘토와의 약속을 예약하고 디버깅에 대한 도움을 받을 수 있는 옵션이 있습니다. 이 세션 동안 저는 버그를 수정하고 특정 지점에서 정확히 무엇을(그리고 어떤 목적으로) 하고 있는지 설명했습니다. 이 경험은 나의 교육 스타일에 큰 영향을 미쳤습니다. 저는 Android 과정 의 학생들이 모든 주제에 대한 설명에 적극적으로 참여하기를 바랍니다. 나는 그들이 코드를 작성하고 솔루션을 찾는 동안 전체 사고 과정을 안내합니다. 학습에 대한 의미 있는 접근 방식을 받아들여야 합니다. 왜냐하면 그것이 무언가를 제대로 익히는 유일한 방법이기 때문입니다.

나만의 Android 강좌를 시작하겠다는 아이디어는 어떻게 생각하게 되셨나요?

그것은 나를 놀라게했습니다. 저는 CodeGym에 Android 강좌가 없다는 것을 알고 있었기 때문에 제가 그들을 위해 강좌를 만들어 줄 수 있다고 제안하기로 결정했고 그들은 받아들였습니다. 재료를 준비하기 시작했고, 내 뇌는 끊임없이 다른 차원에서 작동하고 있었습니다. 때때로 나는 길을 걸으며 강좌 내용을 적기 위해 휴대폰을 가져가곤 했습니다. 그때 아이디어가 참 많았습니다. 이 앱을 만들고, 저 앱을 작성하면 이 지식 영역이나 안드로이드 개념을 다루면 어떨까?.. 강좌 내용을 만들고 앱을 코딩하는 것이 즐거웠습니다. Android 강좌를 만드는 것은 나에게 환상적인 경험이었으며 더 많은 개선 사항이 있다고 생각합니다. 라이브 세션에서 저는 특히 처음 3~4년 동안 일한 경험에 대해 많은 이야기를 나눴습니다. 나는 그것이 그들에게 많은 문을 열어줄 것이라고 생각한다. 저는 그들에게 Java나 Android를 가르칠 뿐만 아니라 회사에서 일하는 방식과 실제 프로그램을 설계하는 방법도 다루고 있습니다.

프로그래밍을 배울 때 학생들이 흔히 저지르는 실수는 무엇입니까?

가장 큰 실수는 학습을 중단하고 프로그래밍이 당신의 머리보다 훨씬 높다고 생각하는 것입니다. 나는 7년 동안 일한 후에도 여전히 버그를 만듭니다. 그 중 일부는 학생들에게 디버깅 방법을 보여 주기 위한 것입니다. 버그 중 일부는 라이브 코딩 중에 발생하며, 학생들은 처음으로 제가 어떻게 버그를 수정하는지 직접 확인할 수 있습니다. 학습자와 비교했을 때 제가 유일하게 다른 점은 버그를 훨씬 빨리 찾아서 수정할 가능성이 높다는 것입니다.

프로그래밍 지식/경험이 있는 학생과 코딩을 처음 접하는 학생의 주요 차이점은 무엇입니까?

수영을 해본 적이 있고 신체 활동을 많이 하지 않는 사람을 알고 있다면 어떤 종류의 신체 경쟁을 더 잘할 가능성이 더 높은 사람이 있을까요? 당신은 답을 알고 있습니다. 프로그래밍에도 마찬가지입니다. 컴퓨터/기술에 대한 이전 경험이 도움이 될 것입니다. 컴퓨터 게이머라면 컴퓨터를 사용해 본 적이 없는 사람보다 프로그래밍을 배우는 것이 더 쉬울 것입니다. 기술 신인이 가야 할 가장 중요한 길을 갖게 될 것입니다. 영어를 잘 아시나요? 인스턴트 플러스, 많은 자료를 사용할 수 있으며 대부분은 무료입니다(Youtube, StackOverflow 등). 누가 더 빨리 배울까요? 물론, 이미 컴퓨터에서 수천 시간을 소비했고 기술이 일반적으로 어떻게 작동하는지 알고 있는 사람입니다. 하지만 기술에 대한 경험이 충분하지 않다고 해서 실망하지 마세요. 개발자가 될 수도 있습니다. 시간이 더 필요할 뿐입니다.

CodeGym 사용자에게 교육 목표를 달성하고 개발자가 되는 방법에 대해 조언을 해주실 수 있나요?

기술 살펴보기

기술은 우리의 삶을 더 쉽게 만듭니다. 무작위로 버튼을 클릭하고 작업 환경을 탐색하면서 많은 것을 배웠습니다. 무언가를 볼 때 그것이 어떻게 작동하는지 알고 싶습니까? 그런 다음 클릭하세요!

두려움은 잊어라

모든 사람을 위한 나의 가장 큰 조언은 두려워하지 말라는 것입니다. 누구나 버그와 실수를 합니다. 구글링해서 많이 검색해보시면 결국 해결책을 찾으실 수 있을 겁니다.

학습에 시간을 투자하세요

우리가 수업시간에 하는 일은 전투의 절반입니다. 개별적으로 더 많은 시간을 투자해야 합니다. 수업 사이에 더 많이할수록 더 많은 것을 배울 수 있습니다. 그렇죠? 수업 사이에 아무것도 하지 않으면 아마도 어느 정도 지식( 내 강의를 시청하면서 ) 을 얻을 수 있지만 독립적으로 무언가를 만들 수는 없을 것입니다. Java Fundamentals 또는 Android 과정에서 교육을 받고 있다면 최소한 우리가 함께 작업하는 시간만큼 스스로 작업하는 데 투자하세요. 우리가 일주일에 3시간 30분씩 나와 함께 시간을 보낸다고 가정해 봅시다. 그렇다면 일주일에 적어도 서너 시간은 스스로 해야 합니다. 지식을 확고히 하고 향후 논의를 위한 잠재적인 질문을 생각해 내기 위해 스스로 코딩하는 것이 중요합니다. 수업 중이나 Slack 채팅에서 주저하지 말고 질문하세요. 지속적인 버그의 경우 마지막 그룹에서 했던 것처럼 라이브 디버그 세션을 수행할 수도 있습니다. 학습은 양방향 경로이므로 이 과정을 재미있고 생산적인 경험으로 만드는 것은 우리 모두의 몫입니다. "나는 학생들에게 많은 문을 열어줄 것들을 가르치고 있습니다."  CodeGym University의 멘토인 Milan Vucic과의 인터뷰 - 1
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION