CodeGym 학생들은 이미 IT 분야에서 일하고 있는 사람들의 이야기를 듣고 싶어한다는 것을 알고 있습니다. 그래서 우리는 문제를 직접 해결하고 Java 교육을 이수한 다양한 국가 및 회사의 개발자에 대한 시리즈를 시작했습니다. 이 이야기는 이리나에 관한 것입니다. 학교와 대학에서 그녀는 기술 과학을 좋아했습니다. 그녀는 프로그래밍에 대해 조금 알고 있었지만 문맥 광고 분야에서 일하기로 결정했습니다. 그래도 Irina는 개발에 손을 대고 싶었습니다. 어느 날, 그녀는 특정 서비스에 개발자 인턴을 채용한다는 내용의 이메일을 받았습니다. 비록 우리의 주인공은 인터뷰에 합격하지 못했지만 그 경험은 그녀가 Java를 배우기 시작하도록 동기를 부여했습니다."개발 과정에서 악과 싸울 필요는 없지만, 손대서도 안 됩니다.": 프로그래머 이리나의 이야기 - 1

"저는 확실히 개발에 도전하고 싶었습니다"

9학년 이후, 추가 학습 방향(예: 기술, 인도주의, 경제, 의학 트랙)을 선택해야 했을 때 저는 인도주의 트랙과 기술 트랙 사이에서 고민했습니다. 나에게 있어 인문학은 전 세계에서 악을 비난하고 선한 대의를 옹호하는 저널리스트로서의 경력을 의미합니다. 테크니컬 트랙을 고민하면서 악과 싸우지 않는다면 적어도 건드리지 않겠다는 생각이 들었습니다. 저는 저항이 가장 적은 길을 따라 기술적인 길을 선택했습니다. 졸업 후, 저는 대학에 입학하여 컴퓨터 공학과 컴퓨터 공학을 전공했습니다. 아쉽게도 대학에서는 특정 언어에 대한 기술을 제공하지 않았습니다. 저는 단절된 방식으로 C++, C#, JavaScript 및 UI 레이아웃에 대해 몇 가지를 배웠습니다. 3학년 때 우연히 문맥광고에 관심을 가지게 되었고 우연히 꽤 유명한 회사에 취직하게 되었습니다. 그 결과 나는 2년 동안 광고계에 머물렀다. 나는 상당한 성공을 거두었지만 확실히 개발에 도전하고 싶었습니다. 프로그래밍으로의 복귀 역시 잘 계획된 계획 없이 이루어졌습니다. 직장에서 Java 개발자 인턴을 채용하려는 새로운 서비스에 대한 이메일을 받았습니다. 나는 인터뷰에 가기로 결정했습니다. 물론 그 당시에는 제의를 받을 만큼 기초 지식이 충분하지 않았지만 이번 에피소드를 통해 Java에 대한 몇 가지 리소스를 찾아보게 되었습니다. 우연히 인터넷에서 이 강좌를 발견했습니다. 처음에는 그것들이 나를 사로잡지 않았습니다. 모든 재미있는 그림과 로봇 이야기가 나에게 진지하지 않게 느껴졌지만 나는 내 작업을 연습하고 확인할 수 있는 기회를 정말 좋아했습니다. 저는 좀 더 고민하다가 시도해 보기로 결정했고, 그다음에 끌려갔습니다.

"처음 몇 번의 면접에서는 실패했어요"

나는 엄격한 일정 없이 일과 중에 쉬는 시간에, 때로는 밤에 공부를 시작했습니다. 레벨 16-17쯤 되었을 때 나는 일자리를 찾기 시작했습니다. 그때까지 나는 약간의 휴식 시간을 갖고 약 3개월 동안 공부를 하고 있었습니다. 업무 경험이 없으면 알고리즘에 대해 물어보기를 좋아하지만 나도 거의 알지 못했습니다. 그래서 처음 몇 번의 면접에서는 실패했어요. 더 많이 준비하고, 가장 자주 묻는 질문을 찾아보고, 그에 대한 답변을 외워야 했습니다. 급하게 SQL을 배웠고, 코드 버전 관리 시스템(IMO, CodeGym에서는 Git이 레벨 30이 아닌 터무니없이 고급 수준으로 언급됨)과 SOLID 원칙을 연구하고, 정렬 알고리즘을 배웠습니다. 결국 작은 회사에 후배 개발자로 입사하게 됐어요. 첫 직장에서 제가 맡은 업무는 새로운 시스템 기능 개발, 기존 기능 개선, 버그 수정 등 아주 사소한 일이었습니다. 우리는 폭포수 방법론을 사용했습니다. 비즈니스 담당자가 작업을 보내고, 분석가가 작업을 좀 더 자세히 설명하고, 개발자가 이를 구현하고, 분석가가 테스트한 다음 개발자가 이를 제품에 적용합니다. 우리는 특별한 기술을 사용하지 않았습니다. 모든 것을 마이크로서비스 대신 단일체인 순수 Java로 작성했습니다. 데이터베이스 작업을 위해 우리는 자체 독점 비공개 소스 프레임워크를 사용했습니다. 처음에는 프로젝트를 저장소에 업로드하는 방법을 배우는 것부터 시간 초과가 발생하지 않도록 데이터베이스에 요청을 작성하는 방법까지 어려움의 바다가 있었습니다. JSON, SOAP 작업, Maven이 무엇인지, Maven 프로젝트를 빌드하는 방법에 대해 Google에서 많이 검색해야 했습니다. 나는 배움을 포기하지 않았습니다. 이틀에 한 번이라도 공부하려고 노력했는데, 한 달 동안 미뤄두어야 할 때도 몇 번 있었어요. 하지만 내 목표는 소중한 40레벨을 완료하는 것이었습니다. 동시에 저는 Spring 프레임워크에 대한 강좌를 수강했습니다. 봄은 나에게 많은 새로운 기회를 열어줬고, 이력서 덕분에 받는 제안도 몇 배나 늘어났습니다. 격리 기간 동안 저는 직업을 바꾸고 마이크로서비스 아키텍처를 갖춘 프로젝트로 전환했습니다. 우리는 주거용 및 상업용 부동산을 검색, 판매, 구매, 임대하는 것은 물론 모기지 신청 및 서비스를 제공하는 서비스를 만들고 있습니다. 우리 서비스의 80%는 Kotlin으로 작성되었습니다. 나머지 20%는 Java로 작성되었습니다.

가까운 미래에 대한 나의 계획은 다음과 같습니다.

  1. 건축에 대한 더 깊은 몰입. 백엔드 아키텍처 설계에 대해 자세히 알아보고 싶습니다.

  2. C++를 배우세요. 나는 이것이 모든 프로그래머에게 확실히 유용할 것이라고 생각합니다. 필요한 경우 예외적으로 빠르게 실행되어야 하는 응용 프로그램의 일부를 작성할 수 있기 때문입니다. 이는 복잡한 수학적 계산에 유용합니다.

  3. DevOps. 일부 회사에서는 이 기술을 프로그래머에게 필수 요구 사항으로 만들기도 합니다. 그리고 그것은 다른 회사에서도 확실히 유용할 것입니다.

저는 9학년 때 기술 트랙을 선택했고 2년 전에 용기를 내어 광고를 그만두고 프로그래밍 경력을 시작한 것을 전혀 후회하지 않습니다. 개발은 일종의 마술입니다. 사람들이 복잡한 일을 단순하게 만들고 혼란을 명확함으로 바꾸는 방법입니다. 저는 현재 12세 남동생이 프로그래밍에 관심을 갖게 하려고 노력하고 있습니다. 1년 전에 저는 그에게 Arduino 스타터 키트를 주었고 Minecraft용 Python 코딩에 관한 책을 사줄 생각입니다. 좀 더 크면 CodeGym을 소개해 드릴게요. 내 생각엔 그 사람이 좋아할 것 같아. CodeGym에서 얻은 중요한 점 중 하나는 좋은 자료에 대한 비용 지불을 두려워해서는 안 된다는 깨달음입니다. 그것은 백배의 갚을 것입니다.

초보 개발자를 위한 팁:

  • 프로그래밍을 계속하세요. 프로그래머의 작업은 전적으로 특정 문제를 해결하고, 특정 오류를 찾아 수정하는 것으로 구성됩니다. 때로는 이것이 참을 수 없을 정도로 어렵고 지루하고 짜증나는 것처럼 보일 수도 있지만(물론 그럴 것입니다!) 마침내 문제를 해결하면 진정한 돌파구, 승리, 거의 발견처럼 느껴집니다. 그리고 이 사이클은 반복됩니다. 분노, 수용, 오랜 시도, 끝없는 실패, 그리고 승리. 프로그래머 작업의 스릴은 다음 혁신과 승리를 기대하는 데 있습니다. "개발 과정에서 악과 싸울 필요는 없지만, 손대서도 안 됩니다.": 프로그래머 이리나의 이야기 - 2
  • 가능할 때마다 계속 학습하십시오. 기사와 책을 읽어보세요. 다양한 소프트웨어 개발 분야의 강좌를 찾아 수강하세요. 새로운 기술을 꼭 시도해 보세요. 개인 프로젝트에 적용해보세요. 소프트웨어 개발에 열정을 갖고 있는 다른 사람들과 교류하세요. 경험과 아이디어를 교환하세요. 옛날 옛적에, 제가 첫 회사에서 지치지 않고 이직하는 것을 두려워하지 않도록 도와준 것은 그러한 야심찬 사람들과의 대화였습니다.

  • 그래서 제 세 번째 팁은 — 상황을 바꾸는 것을 두려워하지 마세요 : 새로운 직업, 새로운 프레임워크, 새로운 언어(죄송합니다, CodeGym). 나 자신에 대한 나의 모든 주요 승리는 내가 직업을 바꾼 바로 그 순간에 일어났습니다. 처음에는 기술이나 언어를 완전히 익히지 않은 채 어딘가에 가는 것이 두려울 것 같지만, 이 알려지지 않은 기술이나 언어를 공부하면서 많은 성장을 자극합니다. 두 번째 바람이 불고, 새로운 것을 이해하고 연구하는 데 특별한 의미를 찾습니다.

  • 당신의 강점을 합리적으로 평가하십시오. 취업, 집에서의 자율 학습, 일부 온라인 강좌, 대학, 어쩌면 가족을 병행할 수 있더라도 한동안은 지칠 가능성이 큽니다. 불행하게도 나는 오랜 기간 대학을 통합하고, 취업을 하고, 무급 개발자 인턴으로 일한 후 프로그래밍을 포기하고 지쳐버린 몇몇 사람들을 알고 있습니다. 대학에서 하루를 더 쉬거나 학업을 중단했다면, 하루를 휴가로 보내고 공부를 제쳐두고 몇 주 동안 온라인 과정을 쉬었다면 아마도 모든 것이 끝났을 것입니다. 다르게.