Eugene Cozac darüber, ein Top-Level-Entwickler zu werden
Veröffentlicht: 2022-10-26TechBullion: Wie sind Sie zum Programmieren gekommen?
Eugene Cozac: Als ich aufwuchs, entdeckte ich mein Interesse an Mathematik und MINT-Wissenschaften. Ich fing an, alleine zu programmieren, und als ich die High School beendet hatte, war ich mir natürlich zu 100 % sicher, dass ich in der IT arbeiten möchte. Also habe ich einen Abschluss in Computer Engineering von der besten Universität in Moldawien. Bevor ich mit dem Programmieren begann, habe ich mehr als 300 Computer zusammengebaut, da mein erster Abschluss in Computer Engineering war.
TechBullion: Was war für Sie ganz am Anfang eines der herausforderndsten Projekte?
Eugene Cozac: Nun, ich kann nicht sagen, dass ich ganz am Anfang einige Schwierigkeiten hatte. Aber es gab einen im dritten Jahr meiner Karriere, als ich Frontend-Entwickler für Samsung Pay wurde. Da ich der führende UI-Entwickler von Samsung Pay Promotions war, war ich für alles verantwortlich. Samsung Pay hatte damals mehr als 15 Millionen Nutzer, und jedes Problem oder jeder Fehler konnte ihre Erfahrung beeinflussen. Wenn zu einem bestimmten Zeitpunkt etwas schief gelaufen ist, konnten alle Benutzer dies sehen. Also war ich sehr vorsichtig und habe versucht, die höchstmögliche Qualität zu liefern.
TechBullion: Normalerweise spezialisieren sich die Leute auf einen engen Bereich von Programmiersprachen. Wie kam es, dass Sie in Sachen Programmiersprachen so vielseitig sind?
Eugene Cozac : Normalerweise ist der Karriereweg eines Entwicklers im Grunde ein Aufstieg vom Junior- zum Senior-Level im Laufe der Zeit, mit der Verbesserung seiner Fähigkeiten. Aber das ist nicht genug. Die meisten Entwickler würden wahrscheinlich für ein paar Jahre im selben Unternehmen und am selben Projekt arbeiten, aber auf diese Weise können Sie nicht zu den besten 1 % der Entwickler werden. Außerdem ist es nicht unbedingt möglich, Projekte sehr schnell zu wechseln, und wenn sie zu einem anderen Unternehmen wechseln möchten, kann dies zu einer Herausforderung werden. Ich möchte also sagen, dass sich viele Entwickler in ihrer Komfortzone befinden, was auch in Ordnung ist. Gleichzeitig wären selbst Senior-Entwickler nicht immer bereit, die Verantwortung für die Leitung des Projekts zu übernehmen, sie erledigen nur ihre Aufgaben. Wahrscheinlich hat es mit einer Persönlichkeit zu tun. Die meisten Menschen wollen einfach nicht an Hackathons teilnehmen, Teil der Wissenschaft sein oder etwas bauen, das ein Problem beim Programmieren löst. Sie sind irgendwie faul und bleiben gut in ihrer Komfortzone. Ich war immer neugierig, und meine Fähigkeit, mehrere Sprachen zu lernen, kommt von meiner Bereitschaft, das Problem auf die bestmögliche Weise zu lösen, anstatt nur in einer weiteren Sprache programmieren zu können.
TechBullion: Haben Sie an einigen Hackathons oder Programmiersprints teilgenommen?
Eugene Cozac: Nicht wirklich. Ich weiß, dass viele Entwickler ihre Fähigkeiten bei Hackathons unter Beweis stellen können, aber ich denke, das Wichtigste ist, so viele Projekte wie möglich zu erstellen und in verschiedenen Umgebungen zu arbeiten. Es stimmt, Entwickler wollen oft anderen oder sich selbst zeigen, wie cool sie durch die Hackathons sind, aber für mich besteht eine andere Möglichkeit, Ihre Fähigkeiten unter Beweis zu stellen, darin, Ihr eigenes Framework auf JS/CSS zu erstellen und es zu veröffentlichen oder Ihr eigenes zu implementieren Rahmen in einem Unternehmen, in dem Sie arbeiten. Und um zu beweisen, warum dieses Unternehmen Ihr eigenes Framework verwenden sollte, aber nicht React oder Bootstrap oder Material UI. Wie auch immer, nur 1% der Entwickler gewinnen Hackathons, die Erstellung ihres eigenen Frameworks kann einige Plattformen erstellen, die für Millionen von Benutzern wiederverwendbar sind.
TechBullion: Was war Ihr am schnellsten gebautes Produkt? Wie haben Sie während des Prozesses mit dem Team interagiert?
Eugene Cozac: Normalerweise arbeiten Entwickler in einer agilen Umgebung und haben eine Reihe von Aufgaben pro Sprint (2 Wochen). Was tun, wenn sich diese Aufgaben auf 2 Wochen aufteilen, man aber alles in 3 Tagen schaffen kann? Nicht alle Unternehmen sind ethisch vertretbar, um mehr Aufgaben zu verlangen, weil wir gleich sind, l und auch Projektmanager planen eine Menge Arbeit für alle Entwickler. Aber ich hatte eine Situation, in der ich Auftragnehmer für ein Unternehmen war, in dem ich nur ein Entwickler war, und deshalb habe ich mich für dieses Unternehmen entschieden. Für mich war es nicht so interessant, an wenigen Aufgaben zu arbeiten, ich wollte eine Web-App für ein Unternehmen alleine bauen, zum Beispiel anstelle von 5 Entwicklern. In 11 Monaten habe ich ein CRM-System von Grund auf bis zum Ende erstellt, es gab API-, UI- und UX-Arbeiten. Dieses Projekt wurde sehr schnell mit vielen Funktionen wie der Verwaltung von Projekten, der Bestandsverfolgung, der Erstellung von Rechnungen, der Erstellung und Verwaltung von Angeboten sowie der Bestandsverfolgung mit GPS durchgeführt. Ich habe keine aktuellen Informationen, aber dieses CRM wird aufgrund der kleinen Geschäftsnische als Abonnement verkauft: Akustik im Bauwesen.
TechBullion: Was braucht es, um ein erstklassiger Entwickler zu sein?
Eugene Cozac: Viele Entwickler können Ihnen antworten, dass Erfahrung das Wichtigste ist, wenn Sie ein erstklassiger Entwickler sein wollen, aber das ist nicht unbedingt richtig. Ich kenne viele Entwickler, die mehr als 10 Jahre Erfahrung haben, aber viele Projekte oder verschiedene komplexe Aufgaben können für sie herausfordernd sein. Dies kann erklären, warum jemand 7 bis 8 Jahre braucht, um Senior Developer zu werden, während es für andere nur 4 Jahre dauert. Der beste Ansatz ist also, Ihre außergewöhnlichen Fähigkeiten zu entwickeln und den richtigen Weg zur Aufgabenlösung zu finden und dann zu erfahren. Gleichzeitig ist es gut, Interviews in der Entwicklung zu führen: Ich habe mehr als 100 Interviews für verschiedene Kunden geführt. Wie gesagt, um Ihre außergewöhnlichen Programmierkenntnisse unter Beweis zu stellen, führen Sie ein Projekt in Ihrem eigenen Rahmen in dem Unternehmen durch, für das Sie arbeiten. Das bedeutet, dass Sie nicht nur Programmiersprachen und die Verwendung von Frameworks kennen, sondern auch Ihr eigenes Framework bauen und dem Unternehmen beweisen können, dass Sie es verwenden. So bauen Sie auf der Grundlage Ihres eigenen Frameworks ein Produkt, das Millionen von Benutzern verwenden wird. Ich denke, das können nur 1% der Entwickler. Zum Beispiel baue ich mein eigenes UI-Framework, das in Kombination mit React verwendet werden kann, der Name ist Krypton. Es ist immer noch nicht fertig, aber für einen meiner aktuellen Kunden verwende ich Teile von Krypton, um ein neues Projekt zu erstellen. Der aktuelle Kunde verwendet mein Framework also nicht vollständig, sondern nur teilweise, aber ich hoffe, bis wir das Projekt für diesen Kunden abgeschlossen haben, wird mein Krypton fertig sein, und mehr als 60 % des Projekts werden auf Krypton aufbauen. Ein guter Tipp, um ein erstklassiger Entwickler zu sein, ist auch, wissenschaftliche Publikationen in Fachzeitschriften zu schreiben, ich habe mehr als 25 davon. Außerdem habe ich mehr als 100 Peer-Artikel-Reviews durchgeführt, denn als Entwickler muss man nicht nur ein Teil der Programmierung, sondern auch ein Teil der Wissenschaft sein.
TechBullion: Was sind Ihre stärksten Fähigkeiten?
Eugene Cozac: Ich würde sagen, die Möglichkeit, an jedem Projekt in jedem Zeitrahmen teilzunehmen. Ich war in verschiedenen Situationen, seit ich das Projekt von Grund auf neu gestartet habe oder als ich eingestiegen bin, als das Projekt noch im Gange war. Viele Unternehmen geben Ihnen etwa 2 – 3 Wochen Zeit, um es zu verstehen, normalerweise dauert es bei mir 2 Tage. Entwickler mit außergewöhnlichen Fähigkeiten sind in der Lage, jedes Projekt zu verstehen und innerhalb von Tagen, nicht Wochen, Probleme zu beheben oder Aufgaben zu erledigen. Außerdem kann ich an 4 Projekten gleichzeitig arbeiten. Ich nehme an, nur 1 % der Entwickler können das, ich meine alle Arten von Entwicklern, vom Junior bis zum Tech Lead. Ich hatte die Erfahrung, an 2, 3 und 4 Projekten gleichzeitig zu arbeiten und sehr gute Ergebnisse zu liefern, außerdem bin ich bei allen mindestens Senior oder Teamleiter für etwa 4 Entwickler. Außerdem müssen Sie auf dieser Ebene in der Lage sein, andere Entwickler vom Junior bis zum Senior zu betreuen. Auch nicht nur in alltäglichen Projekten sehr schnell zu arbeiten, sondern auch so etwas wie ein Open-Source-Framework aufzubauen, wissenschaftliche Publikationen zu schreiben und so weiter. Qualität. Geschwindigkeit. Diversifikation.
TechBullion: Welche Sprache war die größte Herausforderung für Sie?
Eugene Cozac: Ich denke nicht, dass ein Framework oder eine Sprache sehr herausfordernd ist, sobald Sie eine Programmiersprache kennen, sind andere irgendwie gleich, haben nur ein paar andere Regeln, oder ein Framework kann weniger oder mehr Funktionen haben. Für einen Entwickler mit außergewöhnlichen Fähigkeiten gibt es keine herausfordernde Programmiersprache.