CodeGym 학생들은 이미 IT 분야에서 일하고 있는 사람들의 이야기를 듣고 싶어한다는 것을 알고 있습니다. 우리는 문제를 직접 해결하여 Java 교육을 이수한 다양한 국가 및 회사의 개발자에 대한 시리즈를 출시했습니다. 이 이야기는 프로그래밍 경력을 쌓기 위해 호텔 사업을 떠난 Android 개발자 Dima에 관한 것입니다. 그는 1년 반 만에 자바와 안드로이드를 마스터하고 개발자로 취업했다.소프트웨어 개발자 Dima의 이야기: "코드를 작성하는 것은 테스트하는 것보다 훨씬 더 흥미롭습니다." - 1

"매일 새벽 5~6시에 일어나 출근 전에 공부했어요."

저는 인문학 분야의 고등 교육을 받았으며 호텔 경영학 학위를 받았습니다. 그래서 대학을 졸업하고 호텔업에 종사하는 회사에서 고객과 함께 일했습니다. 그 순간 나는 몇 가지 이유로 이 분야에 관심이 없다는 것을 깨달았습니다. 사람들과 일하는 것이 생각만큼 쉽고 즐겁지 않고, 급여도 그리 높지 않습니다. 시간이 지나면서 모바일 앱 테스트를 위한 품질 보증 부서에 공석이 생겼기 때문에 제품 부서(회사에는 호텔 객실 예약을 위한 앱과 웹사이트가 있음)로 이동할 기회가 생겼습니다. 나는 일자리를 얻을 수 있었지만 필요한 경험이 없었습니다. 일을 하던 중에 자동화된 테스트를 작성하게 되었고, 프로그래밍을 시작하게 되었습니다. 그때 나는 코드를 작성하는 것이 테스트하는 것보다 훨씬 더 흥미롭다는 것을 깨달았습니다. 내 마음 속에 질문이 생겼습니다. 어디로 공부하러 가야합니까? 그 당시 저는 이미 이 강좌에 대해 알고 있었기 때문에 강좌를 진행하기 시작했습니다. 저는 20개의 레벨을 완료하고 다음에 어디로 갈지 생각하기 시작했습니다. 나는 좋은 선택이 모바일 앱 개발에 들어가는 것이라고 결정했습니다. 20레벨에서 얻은 지식이 주니어 개발자가 되기에는 충분하다고는 말할 수 없습니다. 구문과 Java Core 개념을 배웠지만 실제 작업이 없는 지식일 뿐입니다. 오히려 코드를 작성하려는 기반이 됐습니다. 게다가 나는 이론에 관한 두 권의 책을 더 읽었습니다. 이 짐을 가지고 안드로이드 개발에 들어갔습니다. 저는 훈련 계획을 세웠습니다. 매일 아침 5~6시에 일어나 출근 전 2시간 동안 공부했습니다. 나는 또한 자유 시간이 있을 때마다 공부했습니다(예를 들어 테스터로서 개발자가 새로운 기능을 구현하는 동안 기다리는 경우). 낮에는 프로그래밍 작업을 완료했습니다. 저는 1~2개월 안에 20레벨을 완료했습니다. 내 일정에 따라 레벨당 1~4일을 보냈습니다. 이 과정을 마친 후에는 다른 곳에서 Android 개발에 관한 여러 과정을 수강했습니다. 처음에는 Android의 기본 과정으로 전환하여 무엇이 무엇인지 파악하고 지식을 더욱 심화했습니다. Android 세계에는 업계 표준으로 간주되는 다양한 라이브러리로 구성된 자체 동물원이 있습니다. 5~6개의 주요 도서관이 있으며, 해당 도서관을 공부하지 않았다면 취업 면접에 갈 의미가 없습니다. 풀타임으로 일하는 동안 제가 교육을 받는 데에는 약 1.5년이 걸렸습니다. 하루 8시간 공부하면 6개월이면 끝납니다.

"실패한 인터뷰가 내 기반을 강화했습니다"

저는 경영진과 이해관계가 있었습니다. 제가 공부하면 그들은 저를 개발자로 고용할 것입니다. 하지만 이 계획은 결실을 맺지 못했습니다. 선임 개발자가 그만두고 오랫동안 새 개발자를 찾지 못했습니다. 나는 기다릴 필요가 없다는 것을 깨달았고 이미 다른 일자리를 찾고 인터뷰에 가기 시작했습니다. 어떤 경우에는 회사가 마음에 들지 않았습니다. 다른 경우에는 제가 몸 상태가 좋지 않아 콜백을 받지 못한 경우도 있었습니다. 면접에서 질문에 답하지 못하면 집에 가서 다음 번에 좋은 답을 하기 위해 그 주제를 공부했습니다. 실패한 인터뷰는 나의 기초를 강화했습니다. 그 결과, 2년 동안 일했던 회사에 면접을 볼 수 있었습니다. 그 당시 나는 이미 나의 약점을 모두 알고 있었고 어려운 질문에도 최대한 준비되어 있었습니다. 다양한 기업의 맞춤형 개발을 수행하는 아웃소싱 웹 개발 스튜디오에 취직했습니다. 클라이언트에는 Gazprom Media 및 TV 채널 TNT가 포함됩니다. 우리 회사는 이 프로젝트를 다른 개발자로부터 물려받았습니다. 상태가 좋지 않았습니다. 코드가 오래된 표준을 기반으로 작성되었습니다. 그때는 이미 5살쯤 되었어요. 또 다른 후배 개발자와 저는 이 프로젝트에 참여하게 되었습니다. 우리는 운이 좋았습니다. 우리는 서로를 도우며 천천히 코드를 알아냈습니다. 2년에 걸쳐 우리는 코드베이스를 표시 가능하게 만들었습니다. 프로젝트가 처음에는 형편없게 작성되었기 때문에 안드로이드를 이해하고 이 분야에 뛰어들 수 있었습니다. 이 일을 하면서 저는 약 3개월 동안 해외에 있는 동안 원격으로 근무하기로 협상했습니다. 이를 통해 저는 발리로 여행을 떠나 그곳에서 일할 수 있었습니다. 나는 그것이 도전적이라고 생각하지 않았지만 그것은 모두 내면의 자기 훈련과 자기 조직에 달려 있습니다. 나는 일찍 일어나는 것을 즐겼다. 나는 모스크바 시간으로 아침 4-5시에 일을 시작했습니다. 그 시간은 아무도 잡담을 하지 않는 시간이어서 많은 일을 할 수 있는 시간이었습니다. 모스크바에서 점심시간이 되자 일과가 끝났습니다.소프트웨어 개발자 Dima의 이야기: "코드를 작성하는 것은 테스트하는 것보다 훨씬 더 흥미롭습니다." - 2

"어떤 분야의 사람이라도 프로그래밍을 마스터할 수 있습니다"

러시아로 돌아온 후 한동안 같은 회사에서 일했습니다. 2020년 5월에 저는 식료품 회사인 DPD에서 더 나은 자리를 얻기 위해 떠났습니다. 택배 앱, 즉 택배기사용 앱과 고객용 별도 앱을 개발하고 유지관리합니다. 저는 동시에 두 개의 앱을 작업합니다. 최근에 고객 앱을 첫 번째 릴리스로 출시했습니다. 제가 채용되었을 때는 부분적으로만 준비가 되어 있었습니다. 끝내서 Google Play에 푸시해야 했습니다. 두 번째 앱인 택배 앱은 레거시 코드가 많이 포함된 오래된 앱입니다. 이전에 작업했던 오래된 코드가 많았기 때문에 레거시 코드로 작업한 경험이 있었습니다. 그것이 현재 직장에서 많은 도움이 되었습니다. 말 그대로 한 달 전, 수습기간을 무사히 통과했습니다. 프로그래밍에는 문제 해결 능력이 필요합니다. 이러한 기술은 다양한 방법으로 획득할 수 있습니다. 수학자, 물리학자, 기술적 배경을 가진 사람들은 기본적으로 이러한 기술을 배양합니다. 프로그래밍을 시작하는 것이 조금 더 쉬울 것이라고 말할 수 있습니다. 일반적으로 어느 분야에 있든 의욕과 관심만 있다면 누구나 프로그래밍을 배워 개발자가 될 수 있다고 생각합니다.

초보 개발자를 위한 팁:

  • Yakov Fain이 쓴 "자녀, 부모, 조부모를 위한 Java 프로그래밍"이라는 책을 읽어보세요. 예전에는 IT에 대한 지식이 없고 처음부터 많은 개념을 배워야 했기 때문에 이 책이 많은 도움이 되었습니다. 이 책은 프로그래밍의 기본을 매우 간단한 형식으로 설명합니다. 공부를 시작하기 전에 이 책을 읽으면 과정이 크게 단순화됩니다.
  • 명확한 훈련 일정을 만드십시오. 누군가가 일정 없이 일주일에 몇 시간씩 공부하려고 한다면 실망하게 될 것입니다. 그것은 이전에 배운 것을 잊어버리고 어떤 진전도 이루지 못하는 비결입니다. 올바른 접근 방식은 매일 조금씩 배우는 것입니다. 그러면 진행 상황을 볼 수 있습니다.
  • Android에 대한 조언: 기본 라이브러리에 대해 잘 알고 있어야 합니다. 이러한 라이브러리에 대한 몇 가지 튜토리얼을 찾아 코드를 작성하여 어떤 작업을 해결하는지 이해해 보세요.
  • "면접 질문" 중 다수가 온라인에 있기 때문에 준비할 수 있습니다. 지원자의 전반적인 지능을 확인하기 위해 트릭을 요청하는 고용주가 있습니다. 이러한 질문에 대한 답변도 준비해야 합니다.
  • 인터뷰 중에 배우려는 관심과 열망을 보여주십시오. 누군가는 처음에는 아무것도 알지 못할 수도 있지만, 새로운 정보를 빠르게 받아들이고 업무상의 문제를 신속하게 해결할 수 있습니다. 그것은 항상 가치 있는 일이다.