Er wurde durch einen Freund, der statische Websites erstellte, mit dem Programmieren bekannt gemacht. Janund Nester Er war so fasziniert, dass er begann, die Sprache zu lernen – nicht durch das Lesen von Büchern, sondern durch das Lösen echter Probleme. Dieser Weg hat sich für ihn mit Websites und mobilen Anwendungen als erfolgreich erwiesen, an denen er jetzt beim tschechischen Unternehmen Livesport arbeitet. „Manche Unternehmen erstellen eine App und kümmern sich dann nicht mehr darum.“ nestarayi. „Es ist nicht sehr ausgefeilt und die Leute haben nicht dieselbe Beziehung dazu wie wir hier“, sagt der Programmierer über die Anwendung, die bereits von über 25 Millionen Menschen heruntergeladen wurde.
Haben Sie sich bei Ihrem Einstieg bei Livesport sofort auf die Anwendungen konzentriert?
Nein, ich habe im Web angefangen, sie haben mich als Webentwickler hierhergeholt. Aber ich habe mich von Anfang an mit Apps beschäftigt. Ich wollte sie zuerst für Android entwickeln – ich hatte damals ein Android-Handy – aber als sie mich hierher holten Apple, ich fing an, es zu benutzen. Ich habe mich daran gewöhnt, es hat viele gute Eigenschaften und Funktionen. Aber ich bin kein ausschließlicher Fan nur eines Betriebssystems.
Was ist der Unterschied zwischen der Programmierung für Android und iOS?
Ich bin direkt von der Website zu iOS, aber ich kann auch in den Android-Code schauen, weil wir bei einigen Dingen mit Kollegen aus dem anderen Team zusammenarbeiten. Es werden verschiedene Programmiersprachen verwendet, Android ist in Java geschrieben und iOS wurde lange Zeit in Objective-C geschrieben, was eine ziemlich verrückte Sprache ist. Glücklicherweise begannen wir Swiftem, eine neue Sprache, die viel besser und unterhaltsamer ist.
Womit hast du angefangen zu programmieren?
Als ich zu Livesport kam, kannte ich klassisches PHP, JavaScript, CSS und solche Sachen. Dann begann ich alles zu lernen, was ich brauchte für iOS. Wir haben aber die Vision, dass ich in Zukunft auch etwas für Android schreiben werde, damit die beiden Anwendungsentwicklungsteams stärker interagieren können.
Wie verlief der Übergang von der Webprogrammierung zur App-Entwicklung?
Es ist ein großer Unterschied. Wenn Sie eine Website schreiben, haben Sie nur einen Computer. Wenn er etwas im Code ändert, „aktualisiert“ sich der Browser und sieht die Änderungen sofort. Auf der Bewerbung ist alles aus verschiedenen Teilen zusammengestellt. Anschließend wird es in einem Simulator auf einem Computer oder direkt auf einem mobilen Gerät ausgeführt. Es ist eine andere Art zu denken und zu schaffen. Wenn wir etwas an der Website ändern müssen, stellen wir es bereit und die Benutzer sehen es sofort. Wenn wir in der Bewerbung einen Fehler machen, bekommen wir ihn nicht annähernd so schnell heraus. Wir müssen eine neue Version erstellen, die dann genehmigt werden muss Apple. Sie müssen mehr nachdenken, besser testen und bedenken, dass es einige Zeit dauert, bis wir den Benutzern eine feste Version zur Verfügung stellen können.
Wie viele Versionen der App haben Sie während Ihrer Zeit bei Livesport veröffentlicht?
Vorher haben wir jede Version lange gemacht, vielleicht sogar ein oder zwei Monate. Aber dadurch entsteht ein großer Unterschied zwischen den einzelnen Versionen und es ändert sich einiges. Es gibt auch mehr Spielraum für Fehler. Manchmal blieben wir auch bei etwas hängen, es hat lange gedauert. Deshalb haben wir Tempo gemacht und veröffentlichen derzeit alle zwei Wochen eine neue Version.
Wenn man sagt, dass man drei Jahre an einer Anwendung gearbeitet hat, ist das eine wirklich lange Zeit. Was machst du die ganze Zeit damit?
Bewerbung für iOS Wir schreiben jetzt jeden Tag in Vierergruppen. Es funktioniert gut, aber manchmal treten kleinere Fehler auf, die wir beheben. Und wir verbessern es ständig und fügen neue Funktionen hinzu. Früher war unsere Anwendung zu weit weniger Leistungen fähig als heute. Die letzte große Neuigkeit war die Aufnahme des Wintersports. Außerdem versuchen wir, einige ältere Dinge neu zu schreiben, um sie zu verbessern und die gesamte Anwendung kleiner und einfacher zu testen zu machen. Es ist eine Menge Arbeit.
Wie erkennt man überhaupt Fehler in einer Anwendung?
Im Idealfall sollte man dies durch Tests herausfinden. Wir haben unsere eigenen Tests geschrieben, die wir ausführen über Xcode Server und Jenkins, sie decken jedoch nicht die gesamte Funktionalität der Anwendung ab. Im Idealfall sollte alles zusammenarbeiten und die Anwendung umfassend getestet sein, aber bei so großen Anwendungen ist sich niemand hundertprozentig sicher. Die meisten Fehler entdecken wir selbst. Wir haben auch eine Gruppe von Testern, die sich die neuen Produkte ansehen, bevor wir sie auf den Markt bringen. Beta Natürlich zeigen wir den Mitarbeitern die Version vorabancUnd dann melden uns auch User etwas.
Es gibt wahrscheinlich nicht so viele Leute, die so detailliert an einer Anwendung arbeiten. Was sind die Vorteile?
Als wir auf der Suche nach einem Kollegen zur Verstärkung unseres Teams waren, bewarben sich viele Leute aus Unternehmen, die Anwendungen herstellen. Ein Kunde kommt zu ihnen und möchte eine App, und sie greifen nach einer Vorlage und ändern diese. Sie erstellen eine App und denken dann nicht einmal mehr darüber nach. nestArají. Es ist nicht sehr anspruchsvoll und die Leute haben nicht die gleiche Beziehung dazu wie wir hier. Unsere Anwendung ist ein bisschen wie unser Kind, wir lieben sie. Ich denke, das ist besser so. Außerdem wird unsere Anwendung von Millionen von Menschen weltweit genutzt. Android i iOS Die Version wurde bisher von 25 Millionen Menschen heruntergeladen. Dadurch verfügen wir über viel Erfahrung und bauen uns auch einen guten Ruf auf.
Was macht den „Eingeweide“ dieser App so lustig? Was gefällt dir daran?
Mir gefällt alles, was ich in einer neuen Sprache schreibe, in Swiftbei. Und ich schreibe auch gerne ältere Dinge in eine neue Sprache um. Ich versuche sicherzustellen, dass das alte Teil mit dem neuen funktioniert. Das ist nicht immer einfach. Am meisten Spaß macht mir das sogenannte Refactoring – wenn ich Code sehe, der mir nicht gefällt, verbessere ich ihn einfach, um ihn benutzerfreundlicher zu machen.
Du löst also gerne komplexere Dinge?
Ja. Mein gesamter Jahresauftrag drehte sich um Refactoring – diese geben wir bei der Jahresevaluation zusätzlich zur regulären Arbeit ab. Ich musste eine riesige Datei in der alten Sprache loswerden. Früher haben wir alles hineingelegt, von dem wir nicht wussten, wo wir es sonst hinstellen sollten. Ich habe es umgebaut, deutlich in Stücke geschnitten, und jetzt können wir viel besser mit den Einzelteilen arbeiten.
Wenn Sie jemandem, der gerade erst mit dem Programmieren beginnt, einen Rat geben müssten, würden Sie dann empfehlen, mit dem Web zu beginnen oder gleich mit Anwendungen?
Ich würde empfehlen, sofort mit dem Schreiben mobiler Apps zu beginnen und, wenn möglich, die neueste Sprache zu lernen. iOS es ist jetzt Swift. Wenn Sie etwas lernen möchten, ist es das Beste, gleich damit anzufangen. Sobald Sie anfangen, etwas Reales zu schreiben, selbst wenn es völlig trivial ist, stoßen Sie auf reale Probleme, suchen nach Lösungen, lernen und das ist der beste Weg.
Können Sie sagen, wie schwer es ist, es zu lernen? Swift?
Es hat keine so verrückte Syntax wie Objective-C, daher finde ich es nicht so schwierig. Und es gibt gute Anleitungen dafür.
Ist es so, als würde man das Programmieren neu erlernen, oder können die Web-Programmierkenntnisse genutzt werden?
Jeder mit Webkenntnissen ist im Vorteil. Andererseits hat er aber auch ein paar schlechte Angewohnheiten, die er mit sich herumträgt. Und wenn jemand überhaupt kein Programmierer ist und anfängt, Anwendungen in SwiftNun, das könnte auch ein Vorteil sein. Es ist individuell.
Wenn Sie jemanden suchen, der dem Team beitritt, welcher Kandidat sollte sich bewerben, um hineinzupassen? Was soll er erfüllen?
Wir haben jetzt einen Neuzugang, der Android macht, aber er könnte auch iOS. Anfangs gab es ein kleines Problem, weil er nicht viel über PHP wusste. Er hatte große Angst davor, Web-Inhalte zu erstellen, und es dauerte eine Weile, bis er sich traute, etwas zu ändern. Dazu bräuchte es jemanden, der bereits Erfahrung mit Bewerbungen hat. Jemanden großzuziehen, der von Grund auf lernen würde, ist wahrscheinlich nicht mehr möglich. Diese Person muss eine Grundlage haben. Unser Team sollte über einen Hintergrund in der Anwendungsprogrammierung verfügen. Und es ist gut, wenn sie das Web verstehen, aber das Gewicht ist nicht so groß, das können sie lernen. Wichtig ist Übung mit Bewerbungen. Ich hatte keins, aber ich war von der Firma und meine Kollegen wussten, dass ich arbeitete. Und dann sollte er präzise sein und versuchen, es lohnenswert zu machen.
Arbeiten Sie noch an der Website oder gar nicht?
MiniWenig, aber ja. Unsere Anwendung lädt Daten aus dem Internet herunter, sodass wir nicht vollständig davon getrennt sind. Wenn wir etwas Neues hinzufügen müssen, müssen wir die Website darauf vorbereiten. Also schreibe ich manchmal auch Code darin.
Was hat Ihnen in letzter Zeit bei der Arbeit am meisten Freude bereitet?
Ich habe unseren ersten Livesport Talk wirklich genossen. Wir haben alle Programmier- und Livesport-Interessierten öffentlich dazu eingeladen und mit ihnen über die Zusammenarbeit mit uns gesprochen. Als der Teamleiter uns fragte, wer dort sprechen möchte, wollte niemand so recht. Wir sind Programmierer und es nicht gewohnt, vor Leuten zu sprechen. Aber es ist großartig geworden und den Leuten hat es gefallen. Es hat mir Spaß gemacht und ich hoffe, dass wir in ein paar Monaten ein weiteres machen werden. Und dann hat mich auch meine Jahresaufgabe glücklich gemacht, weil sie uns allen, die an der App arbeiten, die Arbeit erleichtert hat.