Grafik und Programmierung
In der Vergangenheit war das Programmieren eine strikt logische Angelegenheit. Die Programme bestanden erst aus Lochkarten, später aus Textdateien und der Benutzer interagierte mit dem Programm über Textzeilen und eine Tastatur. Doch seit Mitte der 1980er-Jahre die ersten grafischen Benutzeroberflächen aufkamen, hat sich dies radikal verändert.
Heute muss ein guter Programmierer nicht nur Mathematik und Logik beherrschen, sondern auch eine Ahnung von Design haben. Egal ob Computerprogramm, App fürs Smartphone oder Webseite, heute hat fast jedes Programm auch eine grafische Oberfläche, über die es der Benutzer bedient. Genau von diesem Zusammenspiel zwischen Code und Grafik handeln die Beiträge in diesem Blog.
Die Sprache des Designs
16 Dec 2020
Für Entwicklung moderner Webanwendungen ist es wichtig, die Prinzipien des Grafikdesigns zu verstehen. Wenn Designer nicht programmieren können und Programmierer nicht die Grundlagen des Grafikdesigns beherrschen, ist es für sie schwierig, auf spezifische Implementierungsfragen einzugehen.
Mit Kenntnissen im Grafikdesign können Programmierer und Designer eine gemeinsame Sprache verwenden, um die besten Lösungen zu finden.
Entwickler und die Herausforderungen, denen sie gegenüberstehen
14 Dec 2020
Hinter den immer vielfältiger und ausgefeilter werdenden Computerprogrammen, die verschiedene Aufgaben in unterschiedlichen Bereichen des menschlichen Lebens ausführen, steht der kreative Gedanke von Programmierern, die Code entwickeln. Die heutige Welt ist jedoch zu dynamisch, und die Natur der Softwareindustrie stellt Entwickler vor echte Herausforderungen. Die vielleicht größte Herausforderung für Programmierer ist Zeit, die nie ausreichend ist, um die coolen Gedanken in Code umzusetzen. Projekte werden normalerweise mit zu kurzen Fristen festgelegt, und der Arbeitsaufwand ist enorm. Kompromisse bei der Qualität der Arbeit sind nicht zulässig, obwohl unter dem Druck von Fristen solche zunehmend passieren. Es ist der Zeitdruck, der häufig die Grundlage dafür ist, dass Kunden mit der Funktionsweise der von ihnen bestellten Software unzufrieden sind. Und dann müssen sich die Entwickler einer weiteren Herausforderung stellen - dem Projektmanagement. Oft werden ihre Erklärungen, warum das Projekt, in das so viel Geld investiert wurde, gescheitert ist, von Führungskräften, die keine Programmierer sind, missverstanden. Es bleibt eine große Herausforderung für den Entwickler, genau zu verstehen, was genau die Anforderungen des Projekts sind - die Spezifikationen sind nicht immer gut beschrieben. Und diese "schrecklichen" Treffen mit dem Projektteam, die eigentlich sehr wichtig für die erfolgreiche Implementierung sind, aber den Entwickler vom Code ablenken.
Der Entwickler muss die Anforderungen des Kunden verstehen
Die vagen und sich ständig ändernden Wünsche des Kunden, der nicht genau weiß, was er von der von ihm bestellten Software erwarten soll, bereiten den Programmierern ernsthafte Kopfschmerzen. Es ist schwierig, dem Kunden zu erklären, dass im Code nicht alles möglich oder vernünftig ist, weil ihm alles zu einfach erscheint. Schließlich haben Programmierer deshalb einen schlechten Ruf, dass sie zuviel Arbeit meiden und faul sind. Ständige Änderungen in der Projektbeschreibung machen die Software komplexer, langsamer und fehlerhafter. Unabhängig von der Qualitätskontrolle (QA) schleichen sich immer noch Fehler in den Code ein. Ihre Erkennung und Entfernung, auch als Debugging-Prozess bekannt, ist eine echte Herausforderung, die die Arbeit des Programmierers an der Grenze seiner Fähigkeiten erfordert. Außerdem muss man häufig an Code arbeiten, der von einem anderen Programmierer geschrieben wurde. Jeder Entwickler weiß, dass dies schwieriger ist, als den Code komplett von Grund auf neu zu schreiben, aber manchmal erfordert die Wartung alter Software dies. Vielleicht ist einer der häufigsten Fehler, den Unternehmen in der Branche machen, dass Programmierer in Führungspositionen befördert werden. Programmierer im Management sind unzufrieden damit, dass sie die interessante Arbeit nicht alleine erledigen können, beschweren sich über schlecht geschriebenen Code ihrer Kollegen, und Unternehmen verlieren ihre besten Mitarbeiter.
Der erfolgreiche Entwickler lernt ständig, auch wenn Zeit knapp ist
Die Integration in eine Vielzahl von Technologien, Systemen und Anwendungen von Drittanbietern macht das Schreiben von funktionsfähigem Code zu einer komplizierten Aufgabe. Das Hauptproblem der Integration besteht darin, dass die Probleme während des Entwicklungsprozesses verborgen bleiben, was zu zusätzlichen Kosten und Zeit führt, die zu einem späteren Zeitpunkt in das Projekt investiert werden müssen. Um mit ständig neuen Herausforderungen fertig zu werden, muss der Programmierer auch ständig lernen. Es erscheinen neue Systeme, Sprachen und Algorithmen. Sie würden dem Programmierer die Arbeit erleichtern, aber das Problem ist, dass er sie während der Arbeit an einem Projekt studieren muss, da nur selten Zeit für die Selbstbildung zur Verfügung steht. Es ist die Balance zwischen Leben und Arbeit, die für den Programmierer oft die größte Herausforderung bleibt. Das Projekt kann den Entwickler buchstäblich "verbrauchen", und die Software-Implementierung tritt in sein persönliches Leben ein und nimmt ihm Urlaub, Wochenenden und die Zeit für die Familie. Die Entwicklung erfolgreicher Software wie zum Beispiel einer Handy-App für Online-Glücksspiele oder einer Casino-Seite, die mit ihrem Erscheinungsbild und ihrer Funktionalität die Aufmerksamkeit des Benutzers auf sich zieht, erfordert viel harte Arbeit und volles Engagement des Entwicklers für die Aufgabe.
Programmieren von zu Hause aus
12 Nov 2020
Im Zuge des Homeoffice haben viele Mitarbeiter die Möglichkeiten gewonnen, ihre Tätigkeiten zu Hause auszuführen. Mit der Programmierung kann dies ebenfalls funktionieren. Der Programmierer muss sich lediglich ein Ambiente schaffen, in dem er wirklich ungestört ist. Das ist wichtig, damit er bei der komplexen Tätigkeit keine Fehler macht.
Produktqualität
10 Oct 2020
Gute Programmierkenntnisse führen einen Designer in Bibliotheken, APIs und Entwicklungstechnologien ein. Auch ein Programmierer kann seine umfassenden Designkenntnisse in technische Lösungen umsetzen, um ein besseres Produkt zu entwickeln. All dies verbessert die Qualität, erhöht das UI-/UX-Niveau und steigert den Wert der Webanwendung.
Mit Designkenntnissen kann der Programmierer anspruchsvollste Konzepte realisieren und die besten Lösungen finden.