Die 10 technischen Skills, die Einsteiger in der Programmierung brauchen

Der IT-Markt ist im ständigen Wandel und es haben sich nicht nur die Jobtitel verändert, aber vor allem auch die Anforderungen. Auch wenn Softskills, Persönlichkeit und Teamfähigkeit immer mehr gefragt sind, reichen diese oft nicht aus technische Defizite auszugleichen.

programmer-1835333_960_720

Nun die große Frage!

Welche technischen Skills sind heute gefragt und worauf sollten angehende Entwickler achten?

Programmiersprache:

Wer fremde Sprachen nicht kennt, weiß nichts von seiner eigenen.” (J.W.v.Goethe)

Welche Programmiersprache erlernt werden soll, ist oft eine persönliche Präferenz oder bedingt durch den Sektor, in welcher eingestiegen werden soll. Auch wenn es oft Sinn macht mehrere Sprachen zu kennen oder zu beherrschen, ist es wichtig nicht ein Generalist zu werden und sich auf eine oder zwei Programmiersprachen zu konzentrieren und regelmäßig anzuwenden.

Je schöner der Code, desto besser…

„Alle, die in Schönheit gehn, werden in Schönheit auferstehn. (Rainer Maria Rilke)

Code Strukturen und ein sauberer Code ermöglichen nicht nur ein leichtes Lesen des Codes, sondern vereinfachen auch die Wartbarkeit, Robustheit bei Veränderungen, Einarbeitungszeit für Programmierer und die Testbarkeit. Vielmehr sollte der Code auch für sich selbst sprechen – mit klaren Definitionen und Regeln.

Architektur und Design

Zu den meistverbreiteten Designparadigmen gehört heutzutage OOD (objektorientiertes Design) und daher sollte die Nutzung von UML-Diagrammen nicht vernachlässigt werden. Architekten werden immer mehr gefragt und gehören zu einer der meistgesuchtesten Position in der IT. Daher empfiehlt es sich auch für Einsteiger zumindest ansatzweise diese Konzepte zu beherrschen.

Plattformen, Frameworks, Stacks und Tools

Frameworks, Stacks und Tools vereinfachen das Leben eines jeden Entwicklers, jedoch gibt es mittlerweile eine so große Auswahl von Tools und Frameworks, die die Übersichtlichkeit erschweren.

Wie bei den Programmiersprachen ist es daher wichtig, dass sich jeder Entwickler seine Tools und Framework bedacht aussucht und probiert diese zu meistern, anstatt viele zu kennen, aber keine vollständig zu beherrschen.

Algorithmen und Datenbankstrukturen

Auch wenn es mittlerweile umfangreiche Bibliotheken mit Standardimplementierungen gibt, macht es doch Sinn, mit einigen Algorithmen vertraut zu sein. Wenn doch einmal eine individuelle Lösung gefunden werden muss, reicht es vielleicht schon, schnell eine Variation eines Algorithmus zu schreiben. Andernfalls zerbricht man sich das Gehirn über ein Problem, für das schon längst eine – wohlmöglich elegantere – Lösung existiert.

Datenbanken

MySQL, MongoDB, NoSQL – relationale Datenbanken oder objektorientierte Datenbanken? – das ist hier die Frage. Programmierer müssen nicht Experten in diesem Feld sein, aber sollten jedoch mindestens mit relationalen Datenbanken in Berührung gekommen sein, ein Verständnis dafür zu haben wie Daten abgefragt, eingefügt, geupdatet oder gelöscht werden.

Source Control-System

Kommunikation ist das A&O in der Teamarbeit, daher ist es wichtig z.B. nachvollziehen zu können, welche Änderungen vorgenommen wurden oder auch wer diese vollzogen hat. Um sich erfolgreich in ein Team einzuspielen, wird daher erwartet mindestens ein Source Control System zu beherrschen.

Building Automation

Build- und Deploymentsysteme sind heutzutage Standard in Softwareprojekten. Diese dienen zur Kompilierung der Codes und überprüfen diese auf Fehler. Wie auch bei den Datenbanken reicht es aus, diese zu verstehen und nicht ein Expertenwissen zu besitzen.

Testing

„Wer einen Fehler gemacht hat und ihn nicht korrigiert, begeht einen zweiten.“ (Konfuzius)

Der Trend der Verschmelzung von Aufgaben macht sich auch bei den Testern und Entwicklern sichtbar, weshalb sich Einsteiger schon früh mit dem Thema auseinandersetzen und die gängigen Testmethoden kennen sollten. Das gleiche gilt auch für Debugging, welches nicht nur einen selber, sondern auch anderen Entwicklern betrifft, die eventuell mit dem Code arbeiten müssen.

Arbeitsmethoden

Auch wenn viele Unternehmen behaupten agil zu arbeiten – sei es jetzt Scrum oder Kanban – kann sich die Art und Weise der Anwendung von Unternehmen zu Unternehmen sehr unterscheiden. Dennoch ist es wichtig, dass Einsteiger zumindest die Methoden bzw. die Idee hinter agilen Arbeitsweisen verstehen.

Wie mit vielen Dingen im Leben, macht Übung den Meister und selbstverständlich wird nicht von allen Einsteigern erwartet, alle Punkte gemeistert zu haben. Generell hilft es aber, bei euren Bewerbungen schon einige Code-Beispiele mitanzuhängen oder idealerweise schon einige Github-Beiträge vorzeigen zu können.

Bei mehr Fragen zu diesem Thema oder auch IT Jobs, wendet euch gerne jederzeit an Aspekt32 oder schaut auf unsere Facebookseite!

Aleks Zerom   |  azerom@aspekt32.com