이것은 글로벌 Java 커뮤니티의 성공 사례를 번역한 것입니다. Alex는 CodeGym에서 영어로 공부하는 러시아어 버전의 과정에서 Java를 배웠습니다. 이것이 여러분의 추가 학습을 위한 영감이 되기를 바라며 언젠가 여러분의 이야기를 우리와 공유하고 싶을 수도 있습니다 :)
소개
제가 어떻게 프로그래밍에 입문하게 되었는지에 대해 조금 말씀드리겠습니다. 저는 훈련을 받은 교사이자 심리학자이며, 5년 동안 성공적으로 직업을 수행해 왔습니다. 하지만 여러 가지 이유로 다른 나라로 이주할 생각이 점점 많아지고 있습니다. 그리고 나라마다 언어나 규정이 다르기 때문에 철저한 재교육 없이는 같은 종류의 전문가가 될 수 없었습니다. 그래서 저는 움직이고 성공할 수 있는 더 간단하고 흥미로운 방법을 찾기 시작했습니다. 나는 문신 예술가로서 손을 뻗어 보았습니다(이것은 본질적으로 언어에 대한 지식이 필요하지 않습니다). 그러나 그것은 다른 날의 이야기입니다. 그러던 중 동료 친구가 저에게 CodeGym을 소개해 주었습니다. 나는 처음에 그렇게 적당한 가격으로 게임을 플레이함으로써 나를 본격적인 프로그래머로 만들겠다는 약속에 회의적이었습니다. 그런데 생일 돈을 좀 받았고("가족세"가 적용되지 않음) WoW와 CodeGym 사이에서 선택의 기로에 섰습니다. 시기적절한 할인 덕분에 저울이 올바른 방향으로 기울어졌고 여기까지 왔습니다. 우리 모두가 이미 알고 있듯이 CodeGym은 90% 순수한 연습입니다. 작업을 해결하는 방법을 배웁니다. 부족한 지식을 인터넷에서 찾는 법을 배웁니다. 이 모든 것이 좋지만 15레벨에서는 그림을 완성할 수 있는 뭔가가 부족하다는 느낌을 지울 수 없었습니다. 나는 GeekBrains에 가입하려고 생각했지만 (아마도 다행스럽게도) 같은 친구가 제 시간에 나를 멈추고 Udemy를 소개했습니다. 이 지식 저장소를 열었을 때 나는 다음과 같은 호소를 따라갔습니다. " 잠깐, 친구. 당신은 초보자입니까?" 단 3일 동안만 할인이 진행됩니다 — 이 기회를 놓치지 마세요! " 나중에 항상 할인이 있다는 것이 분명해졌지만 그게 요점이 아닙니다. 저는 즉시 Java 0부터 Pro까지, Android용과 유사한 두 가지 코스가 포함된 패키지를 구입했습니다. 그리고 이것이 우리 이야기가 시작되는 곳입니다.성공인가 실패인가?
안드로이드 강좌를 진행하면서 새로운 지식을 바탕으로 프로젝트를 만들어야 한다는 숙제가 생겼습니다. 나는 단순하고 평범한 일을 하는 것은 그것을 전혀 하지 않는 것과 같다고 믿는 사람이다. 그래서 나는 즉시 내 삶을 복잡하게 만들기 시작했습니다. 나는 가장 발전되고 생생한 상상력을 가진 내가 아는 사람에게로 향했습니다. 이 사람은 나의 사랑하는 아내입니다(예, 그녀도 이 기사를 읽을 것입니다). 그녀는 동물 사진을 클릭하면 그에 상응하는 동물 소리를 내는 앱을 만들 것을 제안했습니다. 좋은 아이디어였지만 여전히 매우 간단했습니다. 나는 이 제안을 기초로 다음과 같이 추론하기 시작했습니다.- 이 앱은 단순함(비웃고 잊어버릴 만한 것) 그 이상이어야 합니다. 가치가 있었으면 좋겠습니다. 예를 들어, 무언가를 가르치는 것입니다.
- 동물과 함께 알파벳이되게하십시오. 하지만 그냥 알파벳이 아니라 영어 알파벳도요!
- 그리고 동물뿐만 아니라, 시야를 넓히기 위해 아는 사람이 거의 없는 희귀 동물까지!
- 그리고 애니메이션, 문자 이름의 오디오 재생, 영어와 러시아어로 된 동물 이름이 있어야 합니다!
프로그래밍을 계속 공부하는 것이 가치가 있나요?
환멸이 뒤따랐다. 첫째, 나는 그 과정에서 내 숙제를 공개하는 것이 허용되지 않았습니다. 나는 일을 하고 과시하려고 엄청난 노력을 기울였지만, 그렇게 하는 것이 허락되지 않았습니다. 둘째, 내 앱은 에뮬레이터와 휴대폰에서 완벽하게 작동했습니다. 계획했던 것 중 애니메이션은 구현하지 않았습니다. 왜냐하면 학과에서 관련 수업을 마친 후에 끝내기로 결정했기 때문입니다. 그런데 애플리케이션 배포에 대해 생각하기 시작했을 때 흥미로운 문제에 직면했습니다. 다른 휴대폰과 태블릿을 사용하여 내 앱이 다양한 화면과 Android 버전에 최적화되었는지 확인한 후 알 수 없는 오류가 발생했습니다. 문자로 전환하면 프로그램이 종료됩니다. 나는 문제의 근원을 찾으려고 노력했고 로그를 검토했는데, 간결한 Java 예외와 비교하면 훨씬 더 hocus-pocus처럼 보였습니다. 인터넷은 나에게 도움이 되지 않았습니다. 한편으로는 아이들이 놀고 싶어하는 작동하는 앱을 만들었습니다. 반면에 내 휴대폰에서만 작동합니다. 이것은 나를 웃게 만든다. 물론 속상하기도 했지만, 곰곰히 생각해보면 잃은 것보다 얻은 것이 더 많다는 결론을 얻었습니다.- 나는 내 작업에 대한 비판을 더 잘 처리하게 되었습니다.
- 소프트웨어 설계에 있어서 지식과 경험의 가치를 깨달았습니다.
- 프로그래밍에 대한 자존감이 높아졌습니다.
- 디자인 패턴과 리팩토링의 기초에 대한 공부의 필요성을 깨달았습니다.
- 그리고 제가 말했듯이, 이제 저는 다른 누구도 갖고 있지 않으며 아마 앞으로도 없을 나만의 앱을 갖게 되었습니다. =)
GO TO FULL VERSION