JavaRush /Java Blog /Random-KO /2.5개월 만에 Java Middle이 됩니다.
novago219
레벨 34

2.5개월 만에 Java Middle이 됩니다.

Random-KO 그룹에 게시되었습니다
처음부터 2.5개월 만에 당신이 정말로 중도가 될 수 있다고 생각한 모든 독자들에게 인사드립니다. 나는 당신을 실망시키기 위해 서두르고 있습니다. 이것은 자신에 대한 열심히 노력해야만 가능하며 모든 사람이 모든 것을 동시에 원하는 방법을 알고 있습니다. 지금 당장은 다른 방법은 없습니다. 그리고 처음부터 이 문구는 특정 조건부 상태에서만 나에게 적용됩니다. 왜냐하면 저는 프로그래밍 언어로서 Java에 대한 지식이 전혀 없었기 때문입니다. 하지만 저는 JavaRush를 만나기 전에도 이미 뭔가를 알고 있었고 할 수 있었습니다. 어쩌면 이것으로 이야기를 시작하고 싶을 수도 있습니다. 왜냐하면 제 경력 성장은 어떤 면에서 보면 지식, 기술, 행운의 다소 이상한 조합이기 때문입니다. 그래서 다른 사람들에 비해 나에게 경쟁 우위를 제공하고 JavaRush(최대 레벨 34)를 매우 빠르고 별 어려움 없이 통과할 수 있게 해 준 목록을 제공하겠습니다(적어도 놀라지는 않았습니다). 목록은 대학에서 나에게 준 지식과 내가 관심을 가졌던 내용으로 구성됩니다. 모든 것이 어디에 있는지 구분하지 않고 대학 이름도 밝히지 않겠습니다. 원한다면, 대학에서 가르치지 않는다면 스스로 이 모든 지식을 습득해야 합니다.
  1. 알고리즘 및 데이터 구조: 이 방향으로의 나의 길은 알고리즘 구성 원리 연구, 고전 서적(Knuth) 읽기, 파스칼 프로그래밍 언어 공부에서 시작되었으며 C 언어, 모든 데이터 구조 구현 및 분석으로 계속되었습니다. 각각의 장점과 단점. 나는 다른 모든 것 외에도 Turing Machines 및 Markov Algorithms를 사용하는 방법을 알고 있다고 말하지 않을 것입니다. 또는 오히려 이미 이것을 말했지만 이것을 무시할 수 있습니다. 무한 메모리 테이프와 그에 따른 포인터의 움직임은 컴퓨터가 내부에서 실제로 어떻게 작동하는지에 대한 가장 정확한 아이디어를 제공하지만 이것은 단지 나의 겸손한 의견일 뿐입니다.
  2. 컴퓨터 아키텍처 및 어셈블러: 컴퓨터 작동 원리를 완전히 이해했다고 판단되면 매우 낮은 수준에서 프로그램 작성을 시도해 보십시오(그렇지 않으면 Java의 모든 즐거움을 어떻게 감상할 수 있습니까?). 저는 개인적으로 모든 교육 옵션을 하나로 고려했습니다. , 2, 3개의 레지스터가 있고 레지스터가 하나만 있고 프로그램이 작동할 때 어떻게 피해야 하는지 깨달았습니다(놀랍죠?).
  3. 이산 수학: 당연히 위와 병행하여 이 주제를 수강할 가치가 있습니다. 논리적 사고에 대한 완전한 이해를 제공하고 유한 상태 기계 이론을 통해 프로세서 내부가 어떻게 배열되고 어떻게 구성되는지 알려 주기 때문입니다. 그들은 집적 회로로 구성됩니다. 그래프 이론도 여기에서 연구되며 100% 불필요한 것은 아니라는 점을 잊지 마십시오.
  4. 고등 수학: 머리가 너무 복잡해지지 않도록 한 단락에서 다른 모든 수학 주제를 강조하기로 결정했습니다. 여기에는 수학적 분석, 확률 이론 및 통계, 선형 대수학이 있습니다. 그런데 3차원 그래픽을 만들고 싶다면 매우 중요한 것입니다. (알고 있듯이 모든 사람의 꿈은 게임을 작성하는 것입니다. 미분 방정식과 수치 방법에 대한 과정을 수강해야 하지만 이는 매우 사소한 일입니다.) 및 기타 영역.
  5. OS 아키텍처. Linux: 여기에 익숙해지면 Java의 멀티스레딩으로 인해 발생하는 질문이 훨씬 줄어들 것이며 이미 어딘가에서 철학자에 대한 동화를 들어본 적이 있을 것입니다.
  6. OOP, C++ 언어: 음, 우리는 먹이사슬의 꼭대기에 거의 도달했습니다. 여기서는 자세히 설명하지 않을 것이며 왜 C++에서 OOP를 구현하는 것이 훨씬 더 흥미로운지는 말하지 않겠습니다.
  7. 추가로, 제가 이미 알고 있는 몇 가지 작은 것들은 컴퓨터 그래픽(OpenGL, Unity 3D) 및 C#(Core)이었습니다.
JavaRush는 그것과 어떤 관련이 있습니까?
글쎄요, 이 모든 지식의 쓰레기와 함께 작년 9월에 저는 JavaRush를 발견하고 몇 가지 레벨을 스크롤하고 포기했습니다. 왜냐하면 대학 졸업 후 일자리를 아주 쉽게 찾았기 때문입니다(프로그래머가 아니라 IT 분야에서 아마도) 누군가 그것이 무엇인지 짐작할 수 있습니까?). 그러나 나는 곧 내가 이것에 전혀 관심이 없다는 것을 깨달았습니다. 몇 달 만에 나는 거의 한도에 도달했고 회사 경영진이 거의 재미있는 옵션(DevOps도 포함)을 제공했음에도 불구하고 여기에서 개발할 필요가 없다는 것을 깨달았습니다. 나는 거절했다. 동시에 저는 컴퓨터 과학 올림피아드를 위해 학생들을 준비하고 있었고 (말하는 것을 잊었습니다. 저는 스포츠 프로그래밍을 정말 좋아했습니다), 본업을 그만 둔 후 그곳으로 향했습니다. 이것 역시 질릴 때까지 약 4-5개월 동안 모든 것에 만족했습니다. 질문이 반복되고 모든 주제가 다루어졌는데 그때 JavaRush가 생각났습니다. 합리주의자(욕심쟁이)이기 때문에 처음에는 처음부터 끝까지 처음 10개의 레벨을 진행한 다음 더 살펴보았습니다(레벨 15이면 충분할 것 같았습니다). 이것이 매우 흥미롭고 일반적인 방식으로 이루어졌다는 것을 깨달았습니다. 자유로운 순간에. 5분 정도 여유 있으세요? 좋습니다. 메서드의 논리를 추가하겠습니다. 합계: 2개의 월간 구독을 구매했습니다. 첫 달에는 레벨 10에서 28로 올라갔고, 두 번째 미완료(약 15일)에는 레벨 28에서 34로 올라갔습니다. 연대순으로 보면 4월~5월 중순이었습니다. 즉, 1.5개월이 소요되었습니다(계산은 루블 단위로 직접 하세요). 나는 그것을하는 방법과하지 않는 방법을 말하지 않을 것입니다. 이것에 대해 이미 많이 언급되었습니다.
고용
레벨 30쯤 되었을 때, 저는 도시의 공석을 살펴보고 서두르지 않고 모든 사람에게 이력서를 보내지 않고 구체적으로 원하는 회사를 선택하고 준비한 후 낙서를 HR 부서에 보내기로 결정했습니다. 낙서도 아주 정성껏 그렸는데 아주 잘 나왔네요. 나는 신속하게 인터뷰에 초대받았고 매우 자신있게 통과했습니다(적어도 Java Core에 관한 한). 질문이 무엇인지 설명하지 않겠습니다. 문제는 그들이 나에게 Spring이 어떻게 작동하는지, 그리고 내가 엔터프라이즈 기술을 전혀 알고 있는지 물었을 때 시작되었습니다. 사실, 나는 모른다고 말했지만 그런 수준에서는 주니어가 보장되지만 (더 높이 점프하지 않을 것입니다) 여전히 점프했고 여기서 아마도 가장 흥미로운 부분이 시작될 것입니다. 일반적으로 조건(2개월 - 수습기간, 직위 - 후배 및 급여 범위)을 설명했을 때 별로 마음에 들지 않는다는 것을 깨달았지만 동의한다고 말하고 나중에 일을 시작할 수 있는지 물었고, 새로운 회사에 입사하기 전에 현재 직장에서 일을 마무리해야 했기 때문에 동기가 부여되었습니다. 그래서 준비하는 데 거의 한 달이 걸렸습니다. 5월 초에 면접을 보고 23일부터 일을 시작했어요. 당연히 요구 사항을 다시 한 번 연구하고 어떤 기술이 사용되었는지 (Java EE 6) 알아보고 작업을 준비했습니다.
중간인가 중간이 아닌가?
글쎄, 나는 일을 시작했고 그들이 약 5 명의 주니어를 모집했다는 것을 발견했습니다. 물론 그 중 제가 눈에 띄었지만 그다지 많지는 않았습니다. 우선 직속상관을 만났는데, 그 사람이 담배를 피우는 걸 알아차리고 그 사람과 함께 담배를 피우러 나가기 시작했습니다(저는 전혀 담배를 피우지 않습니다). 우리와 함께 또 다른 프로그래머도 있었는데, 그에 대해 조금 나중에 말씀 드리겠습니다. 일반적으로 담배를 피우는 동안 (근무일 기준 3-4 회) 관리자와 이야기하고 성공에 대해 더 자세히 이야기하고 우연히 내 지식을 언급하고 (유용했을 것임에 틀림 없음) 일반적으로 최고의 자신감을 얻었습니다. 할 수 있었다. 첫 주가 끝날 때 바비큐와 맥주를 마시면서 더 나은 관계가 형성될 수 있도록 했고, 이를 제가 정리했습니다. 나는 경비원이 나를 쫓아낼 때까지 밤 11시까지(근무일은 오후 6시 30분까지) 사무실에 머물렀다. 때로는 회사의 CEO와 CTO가 사무실에 머물면서 연락도 주고받았고, 함께 저녁을 먹고 함께 사무실을 나갔습니다. (CTO는 집까지 태워다 주기도 했지만 저는 정중히 거절했습니다.) 그래서 첫째, 직속 상사와 좋은 관계를 맺었고, 둘째, 업무를 완수하고 집에 갈 것임을 고위 경영진에게 보여주었습니다. 당연히 이 모든 것이 나를 중간으로 만들지는 않습니다. 그래서 그것은 무엇을 했나요? 인터뷰 전에는 JUnit을 제외하고 단일 프레임워크를 몰랐다는 점을 상기시켜 드리겠습니다. 위에서 언급한 프로그래머에게 돌아갈 가치가 있는 곳이 바로 여기입니다. 그는 모스크바에서 5년, 미국에서 약 7년(최고 프로젝트 설계자) 및 특히 중요한 정부 프로젝트를 포함한 여러 곳에서 일한 20년 경력의 매우 강력한 프로그래머였습니다(이 모든 것은 담배를 피우면서 배웠습니다). 그와 함께). 그래서 이 프로그래머는 매우 심각한 임무를 받았고 나를 조수로 받아들이기로 결정했습니다. 그에게 이 임무가 주어진 후, 그는 급히 출국해야 하고 일을 할 수 없다는 것이 밝혀졌습니다. 멀리서 모니터링 하겠다며 지원서의 틀을 짜주고 나한테 맡겨줬다. 제가 중년이 되어 수습기간을 2개월이 아닌 1개월 만에 끝내고 더 많은 연봉을 받을 수 있게 된 것은 바로 이 순간이었습니다. 이 프로그래머는 멀리서 모니터링을 할 수 없어 프로젝트를 전적으로 나에게 맡겼기 때문이다. 나는 한 달 안에 그 일을 성공적으로 마쳤고, 그 결과 직위와 더 높은 급여를 신청할 수 있는 기회를 얻었습니다.
도덕은 무엇입니까?
이 모든 지식을 나에게 제공한 곳에서 공부할 수 있어서 운이 좋았다고 말할 수 있습니다. (그러나 저는 상사에게 언급하기 위해 사용했습니다.) 상황이 그러한 프로젝트가 내 어깨에 떨어졌으며 JavaRush는 무엇을 해야 합니까? 그것으로 할 것 같습니까? JavaRush 이전에는 나의 Java 숙련도 수준이 0이었다는 점을 다시 한 번 상기시켜 드리겠습니다. 그게 전부입니다. 둘째, 52번째 시도에서 문제를 해결했을 때 마음에 남는 것이 있습니다. 저는 예외, 검사 등에 대한 재주가 있었고 이는 또한 다른 사람들에 비해 경쟁 우위였으며 일반적으로 JavaCore를 매우 철저하게 이해하기 시작합니다( 회사 비용으로 통과하고 94%를 획득한 OCA 인증서를 확인하는 것입니다. 이것이 없으면 계속 진행하는 데 큰 의미가 없습니다. 다음 주에 저는 처음부터 새로운 프로젝트에 배정되었습니다. 이 프로젝트는 제가 직접 이끌게 됩니다(데이터베이스 설계, 기술 선택 및 팀 모집 포함). 또한 인터뷰를 진행하고 후배들의 진행 상황을 검토하여 그만한 가치가 있는지 판단할 것입니다. 나는 이러한 문제에서 사실적 지식뿐만 아니라 팀과의 의사 소통 능력, 경영진에 자신을 잘 소개하는 능력, 인상을 남기는 능력 및 내가 모든 것을 끝까지 볼 것이라는 증거를 통해 도움을 받았다고 말하고 싶습니다. 끝. 관심을 가져주셔서 감사합니다. 모든 사람이 더 많은 인내와 세부 사항에 관심을 갖기를 바랍니다.
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION