최고 수준의 개발자가 되는 Eugene Cozac

게시 됨: 2022-10-26

TechBullion: 어떻게 프로그래밍에 입문하게 되었나요?

Eugene Cozac: 자라면서 저는 수학과 STEM 과학에 관심을 갖게 되었습니다. 혼자 코딩을 시작했고, 물론 고등학교를 졸업할 즈음에는 IT 분야에서 일하고 싶다는 100% 확신이 생겼습니다. 그래서 저는 몰도바 최고의 대학에서 컴퓨터 공학 학위를 받았습니다. 프로그래밍을 시작하기 전에 저는 컴퓨터 공학을 전공한 첫 학위를 따서 300대 이상의 컴퓨터를 조립했습니다.

TechBullion: 처음에 가장 도전적인 프로젝트 중 하나는 무엇이었습니까?

Eugene Cozac: 글쎄요, 처음에 약간의 어려움이 있었다고 말할 수는 없습니다. 하지만 입사 3년차에 삼성페이 프론트엔드 개발자가 되었을 때 그런 일이 있었습니다. 저는 삼성페이 프로모션의 대표 UI 개발자였기 때문에 모든 일을 제가 담당했습니다. 당시 Samsung Pay는 1,500만 명이 넘는 사용자를 보유하고 있었고 문제나 버그가 사용자 경험에 영향을 줄 수 있었습니다. 주어진 시간에 문제가 발생하면 모든 사용자가 이를 볼 수 있습니다. 그래서 나는 매우 신중했고 가능한 한 최고의 품질을 제공하려고 노력했습니다.

TechBullion: 일반적으로 사람들은 좁은 범위의 프로그래밍 언어를 전문으로 합니다. 어떻게 프로그래밍 언어 측면에서 그렇게 다재다능하게 되었습니까?

Eugene Cozac : 일반적으로 개발자의 경력 경로는 기본적으로 시간이 지남에 따라 기술 향상과 함께 주니어에서 시니어 레벨로 승진하는 것입니다. 하지만 이것으로 충분하지 않습니다. 대부분의 개발자는 같은 회사와 같은 프로젝트에서 몇 년 동안 일할 것입니다. 그러나 이것이 개발자의 상위 1%가 될 수 있는 방법이 아닙니다. 또한 사람들이 반드시 프로젝트를 매우 빠르게 교환할 수 있는 것은 아니며 다른 회사로 이동하려는 경우 이것이 어려울 수 있습니다. 그래서 제가 말하고 싶은 것은 많은 개발자들이 편안한 지대에 있다는 것입니다. 그것도 괜찮습니다. 동시에, 시니어 개발자라도 항상 프로젝트의 수장으로서 책임을 지는 것은 아닙니다. 그들은 단지 그들의 일을 하고 있을 뿐입니다. 아마도 성격과 관련이 있을 것입니다. 대부분의 사람들은 단순히 해커톤에 참여하거나, 과학의 일부가 되거나, 프로그래밍 문제를 해결하는 무언가를 만드는 것을 원하지 않습니다. 그들은 일종의 게으름을 피우고 편안한 지대에서 잘 지내고 있습니다. 저는 항상 호기심이 많았고 여러 언어를 배울 수 있는 능력은 다른 언어로 코딩할 수 있는 것이 아니라 가능한 한 최선의 방법으로 문제를 해결하려는 의지에서 비롯되었습니다.

TechBullion: 해커톤이나 프로그래밍 스프린트에 참여하셨습니까?

유진 코작: 그렇지 않습니다. 많은 개발자들이 해커톤에서 자신의 기술을 시험할 수 있다는 것을 알고 있지만, 가장 중요한 것은 가능한 한 많은 프로젝트를 빌드하고 다양한 환경에서 작업하는 것이라고 생각합니다. 사실, 개발자들은 종종 해커톤을 통해 자신이 얼마나 멋진지 다른 사람에게 또는 스스로에게 보여주고 싶어하지만, 저처럼 기술을 증명하는 또 다른 방법은 JS/CSS에서 자체 프레임워크를 구축하고 이를 공개하거나 구현하는 것입니다. 당신이 일하는 회사의 프레임워크. 그리고 이 회사가 자신의 프레임워크를 사용해야 하는 이유를 증명하기 위해 React나 Bootstrap 또는 Material UI를 사용하지 않아야 합니다. 어쨌든 개발자 중 1%만이 해커톤에서 우승하며 자체 프레임워크를 만들면 수백만 명의 사용자가 재사용할 수 있는 일부 플랫폼을 구축할 수 있습니다.

유진 코작

TechBullion: 가장 빠른 빌드 제품은 무엇이었습니까? 그 과정에서 팀과 어떻게 소통했나요?

Eugene Cozac: 일반적으로 개발자는 Agile 환경에서 작업하며 스프린트(2주)당 여러 작업을 수행합니다. 이러한 작업을 2주로 나누어 3일 안에 모든 작업을 수행할 수 있다면 어떻게 해야 할까요? 우리가 평등하기 때문에 모든 회사가 더 많은 작업을 요구하는 것이 윤리적인 것은 아닙니다. 저와 프로젝트 관리자는 모든 개발자를 위해 많은 작업을 계획하고 있습니다. 하지만 한 회사에서 계약직으로 일하는 상황이 있었고, 그래서 저는 그 회사를 선택했습니다. 나에게 적은 수의 작업을 수행하는 것은 그다지 흥미롭지 않았습니다. 예를 들어 5명의 개발자가 아닌 혼자서 회사를 위한 웹 앱을 만들고 싶었습니다. 11개월 동안 처음부터 끝까지 CRM 시스템을 만들었고 API, UI, UX 작업이 있었습니다. 이 프로젝트는 프로젝트 관리, 재고 추적, 송장 생성, 견적 생성 및 관리, GPS를 사용한 재고 추적과 ​​같은 많은 기능으로 매우 빠르게 완료되었습니다. 최신 정보는 없지만 이 CRM은 건설 분야의 음향이라는 작은 틈새 사업으로 인해 구독으로 판매될 예정입니다.

TechBullion: 최고의 개발자가 되려면 무엇이 필요합니까?

Eugene Cozac: 많은 개발자들이 최고의 개발자가 되고 싶다면 경험이 가장 중요하다고 대답할 수 있지만 반드시 그런 것은 아닙니다. 나는 10년 이상의 경험을 가진 많은 개발자를 알고 있지만 많은 프로젝트나 다른 복잡한 작업은 그들에게 어려울 수 있습니다. 이것은 누군가가 시니어 개발자가 되는 데 7~8년이 걸리는 반면 다른 사람은 4년이면 되는 이유를 설명할 수 있습니다. 따라서 가장 좋은 방법은 탁월한 능력을 개발하고 과제를 해결하는 올바른 방법을 개발한 다음 경험하는 것입니다. 동시에 고용을 위해 개발 중인 인터뷰를 하는 것이 좋습니다. 다양한 고객을 대상으로 인터뷰를 100번 이상 했습니다. 내가 말했듯이 프로그래밍에서 당신의 뛰어난 능력과 기술을 증명하기 위해 당신이 일하는 회사에서 당신의 프레임워크에 프로젝트를 구현하는 것입니다. 즉, 프로그래밍 언어와 프레임워크 사용 방법을 알고 있을 뿐만 아니라 자신만의 프레임워크를 구축하고 회사에 이를 사용하도록 증명할 수 있습니다. 따라서 자체 프레임워크를 기반으로 수백만 명의 사용자를 사용하는 제품을 구축할 것입니다. 나는 이것이 개발자의 1%만 할 수 있다고 생각합니다. 예를 들어 React와 함께 사용할 수 있는 고유한 UI 프레임워크를 만들고 있습니다. 이름은 Krypton입니다. 아직 완료되지 않았지만 현재 고객 중 한 명을 위해 Krypton의 일부를 사용하여 새 프로젝트를 구축하고 있습니다. 따라서 현재 클라이언트는 내 프레임워크를 완전히 사용하지 않고 부분적으로 사용하고 있지만 이 클라이언트에 대한 프로젝트를 완료할 때까지 내 크립톤이 완료되고 프로젝트의 60% 이상이 크립톤에 구축되기를 바랍니다. 또한, 최고의 개발자가 되기 위한 한 가지 좋은 팁은 전문 저널에 과학 출판물을 쓰는 것인데, 저는 그 중 25개 이상을 보유하고 있습니다. 또한 개발자로서 프로그래밍의 일부일 뿐만 아니라 과학의 일부가 되어야 하기 때문에 동료 기사 리뷰를 100개 이상 했습니다.

TechBullion: 가장 강력한 기술은 무엇입니까?

Eugene Cozac: 어느 시간대에든 모든 프로젝트에 참여할 수 있는 능력이라고 말하고 싶습니다. 처음부터 프로젝트를 시작했을 때와 프로젝트가 진행 중일 때 합류했을 때와 상황이 달랐습니다. 많은 회사에서 이해하는 데 2~3주 정도의 시간을 주고 있는데, 저는 보통 2일이 걸립니다. 뛰어난 능력을 가진 개발자는 모든 프로젝트를 이해하고 몇 주가 아닌 며칠 만에 문제를 수정하거나 작업을 수행할 수 있습니다. 또한 동시에 4개의 프로젝트를 수행할 수 있습니다. 개발자의 1%만이 그렇게 할 수 있다고 가정합니다. 주니어에서 기술 리더에 이르기까지 모든 종류의 개발자를 의미합니다. 2개, 3개, 4개 프로젝트를 동시에 진행한 경험이 있고, 아주 좋은 결과를 냈고, 모든 작업에 대해 적어도 4명의 개발자를 위한 선임 또는 팀장입니다. 또한 이 수준에서는 주니어에서 시니어까지 다른 개발자를 멘토링할 수 있어야 합니다. 일상적인 프로젝트에서뿐만 아니라 오픈 소스 프레임워크와 같은 것을 구축하고 과학 출판물을 작성하는 등의 작업에서도 매우 빠르게 작업합니다. 품질. 속도. 다각화.

TechBullion: 어떤 언어가 가장 어려웠나요?

Eugene Cozac: 저는 어떤 프레임워크나 언어도 매우 도전적이라고 생각하지 않습니다. 한 프로그래밍 언어를 알고 나면 다른 프로그래밍 언어가 비슷하거나 몇 가지 다른 규칙이 있거나 프레임워크에 더 적거나 더 많은 기능이 있을 수 있습니다. 뛰어난 능력을 위해 개발자는 도전적인 프로그래밍 언어가 존재하지 않습니다.