Was ein guter Programmierer wissen sollte

7. Mai 2021

Lang: cs en de es

Willst du ein guter Programmierer werden oder suchst du einen? Dann müssen Sie wissen, was ein guter Programmierer wissen sollte. In diesem Artikel erfahren Sie, welche Eigenschaften, Fähigkeiten und Kenntnisse ein guter Programmierer idealerweise haben sollte. Sie können mit einer Liste der grundlegenden Technologien und der so genannten Softskills beginnen.

Oft nehmen Unternehmen einen Programmierer als Arbeitskraft an. Aber der größte Wert liegt im Denken, und vor allem im kreativen Denken. Wert. Ja, es gibt Stellen, an denen man einfach routinemäßig ähnlichen Code wie zuvor erstellen oder mit STRG-C und STRG-V bestehende Codeblöcke kopieren kann. Codeblöcke kopieren. Aber solche Arbeiten sind nicht besonders wertvoll und können oft automatisiert werden.
Und die Fähigkeit zur Automatisierung ist eine große Stärke der IT-Branche, weil sie die Arbeit effizienter macht.

Ob als Kandidat für eine bestimmte zu besetzende Stelle oder als jemand, der bei der Auswahl von Mitarbeitern für das Team geholfen hat, Ich habe unterschiedliche Vorstellungen und Anforderungen an Menschen für IT-Positionen kennengelernt.
Was sollte also ein Programmierer können, der Lösungen erstellen und effizient arbeiten kann?

Softskill und Hardskill

Ein guter Softwareentwickler muss viele Voraussetzungen, verschiedene Fähigkeiten und viel Erfahrung haben....
Hier ist ein grober Überblick darüber, was ein guter Programmierer wissen sollte:

  • Logisches und kritisches Denken. Überdurchschnittliche mathematische Fähigkeiten.
  • Kenntnisse der Technik = allgemeines Wissen über IT.
  • Grundlagen und Kenntnisse der Informatik.
  • Kommunikationsfähigkeit.
  • Kenntnisse im Umgang mit Tools: Versionierung, Datenbanken usw.
  • Jeder wird wahrscheinlich zumindest die Grundlagen beherrschen: HTML, CSS
  • Das Projekt zerlegen (splitten)
  • Wissen, wie man sich konzentriert
  • Raten und kritisches Denken
  • Sich in guter körperlicher und geistiger Verfassung halten
  • Fähigkeit zu hinterfragen, zu lernen, sich zu konzentrieren
  • Ein gesunder Lebensstil
  • ist notwendig, um langfristig zu funktionieren.
  • Senior sollte in der Lage sein, alle notwendigen Materialien zu sammeln und dann selbständig zu arbeiten
  • .
  • Fähigkeit, eine wirksame Technologie für ein bestimmtes Teilsystem auszuwählen und sich für das Thema einzusetzen
  • Fähigkeit, Sachverhalte weiter zu vermitteln/zu erläutern
Diese Liste ist nicht erschöpfend.
Sie wissen nicht genau, was ein Computerprogrammierer macht? In dem Artikel finden Sie weitere Details.

Logisches Denken

Logisches Denken ist wichtig für das Analysieren und Lösen von Problemen, insbesondere von technischen Problemen. Im Studium wird das logische Denken typischerweise im Fach Mathematik geschult. Ein praktischeres Beispiel für die Anwendung des logischen Denkens sind Wortprobleme, die aus dem Leben gegriffen sein können. Eine konkrete Anwendung von Mathematik und logischem Denken findet sich im Fach Physik, wo die Schülerinnen und Schüler auf Probleme stoßen, die auf einfachen alltäglichen Notwendigkeiten im Leben eines Technikers aufbauen.
Daraus folgt, dass eine Person, die bei Mathematik- und Physikolympiaden als Löser aufgetreten ist, ein ausgezeichneter Programmierer.

Technik

Um effektiv arbeiten zu können, ist es wichtig, die Technologien zu kennen, mit denen Ihr Projekt arbeitet. Aber es ist nicht notwendig, die Technologien von Anfang an zu kennen. Technologien können erlernt werden. Ein fähiger Softwareentwickler kann zu anderen Technologien wechseln, wenn er oder sie über ein gutes theoretisches Fundament verfügt. Ob jemand mit das Nette-Framework oder Symfony, es ist nämlich es fast egal ist, es sind beides Technologien, die für die PHP-Sprache entwickelt wurden und nach MVC-Regeln aufgebaut sind.
Bei der Implementierung neuer Projekte ist es natürlich ein Risiko, Technologien im laufenden Betrieb zu erlernen. Daher ist es eine gute Idee, neue Technologien bei kleinen Projekten oder bei Projekten, die bereits entwickelt wurden, zu lernen, bei großen neuen Projekten sollte es mindestens eine Person geben, die die Technologie ausprobiert hat und weiß was sie kann und wie man sie richtig einsetzt.

Grundlagen und Kenntnisse der Informatik

Jeder, der ein Hochschulstudium mit Schwerpunkt Informatik absolviert hat, hat Kurse belegt wie: Algorithmisierung, Daten Strukturen, objektorientierte Programmierung. Eine solche Person sollte dann wissen, wie man Objekte in einer Anwendung richtig entwirft, wie man Datenbanken richtig entwirft und ein Bewusstsein dafür haben was der Code macht. Es wird nicht vorkommen, dass es wegen einer schlecht entworfenen Datenbank oder einer schlecht entworfenen Anwendung ein Leistungsproblem gibt. Er oder sie ist aber in der Lage, ein solches Problem zu erkennen und, je nach den finanziellen Möglichkeiten, zumindest teilweise nachträglich zu beheben.

Kommunikation

Ein Mensch kann ein hervorragender Programmierer sein, aber wenn er nicht kommuniziert, wird er nicht für andere Menschen arbeiten können. Kommunikation ist die Grundlage, um die Bedürfnisse des Kunden herauszufinden. Bei Unklarheiten darf sich ein Programmierer nicht scheuen, nachzufragen. Die grundlegenden Kommunikationsmittel sind: E-Mails, Telefon, persönliches Gespräch, Videokonferenz, Chat. Natürlich gibt es viele verschiedene Online-Kommunikations tools.
Die Wahl eines bestimmten Tools hängt von der Dringlichkeit und dem Bedarf an Interaktion ab. Für eine Liste mit technischen Anforderungen für eine später zu erledigende Arbeit ist ein Text wie eine E-Mail ideal. Die andere Partei kann den Text dann jederzeit in Ruhe lesen, darüber nachdenken und den Inhalt dann einfach bestätigen. Eine solche Kommunikation lenkt niemanden von der Arbeit ab. Das Telefon ist gut für dringende Angelegenheiten. Videoanrufe sind für Konsultationen, wenn man den Monitor zeigen muss Monitor zeigen muss, und man ihn besprechen muss.

Werkzeuge

Es ist nicht nur notwendig, eine bestimmte Programmiersprache zu beherrschen, sondern auch andere Werkzeuge zu kennen, denn diese ermöglichen eine effiziente Arbeit und Zusammenarbeit.
Die Hauptsache ist, dass man weiß, wie man den Quellcode versioniert - hier hat sich das Tool GIT durchgesetzt. Wenn man lernt, wie man GIT benutzt, erwirbt man eine Fähigkeit, die jeder Programmierer mit Sicherheit anwenden kann. Aber auch für andere IT-Mitarbeiter, einschließlich Projektmanager, ist es nützlich.

Auch wenn man kein Datenbankspezialist wird, muss man wissen, wie man eine Datenbank benutzt - die Grundlagen von SQL.
Es gibt Werkzeuge, um Abhängigkeiten zu verwalten und ein Projekt zu erstellen, das für jedes Ökosystem anders ist. Ohne ein solches Werkzeug können Sie das Projekt nicht einführen und einen größeren Technologiewechsel vornehmen. Und natürlich wird die Arbeit dadurch rationalisiert.
Ein Grundverständnis des Unix-Betriebssystems, typischerweise Linux, ist ebenfalls nützlich.

HTTP, HTML

Das Internet und Webanwendungen sind heute allgegenwärtig, so dass jeder Programmierer schon einmal mit dem HTTP-Protokoll in Berührung gekommen ist, die Auszeichnungssprache HTML und CSS. Es kann also davon ausgegangen werden, dass er in der Lage ist, seine Anwendung in eine vom Designer und Programmierer vorbereitete Vorlage einzubinden.

Dekomposition

Um ein Projekt in einzelne Teile aufteilen zu können, ist es notwendig, Anforderungen und Systeme in kleinere Teile zu zerlegen. Dadurch können die Teile unabhängig voneinander arbeiten, was das Projekt überschaubarer, nachhaltiger und sicherer macht. Gleichzeitig können vorgefertigte Lösungen auf solche Teile angewendet werden. Nicht zuletzt ermöglicht die Dekomposition eine genauere Abschätzung der einzelnen Teile und damit eine Verfeinerung der Schätzung und der Planung. sichtbarer programmiert werden, welche Teile der Anwendung bereits fertig sind

Fokus

Das Durchdenken der Anforderungen und das Entwerfen einer Lösung ist mit viel Arbeit verbunden. Zuerst muss man die Aufgabe verstehen und dann eine Lösung finden, die nicht nur funktional, sondern typischerweise auch nachhaltig ist. nachhaltig ist. Für all das braucht man Zeit und Ruhe - Konzentration. Angesichts der Tatsache, dass immer mehr Leute um die Aufmerksamkeit der Menschen wetteifern, ist es kein Wunder, dass die Entwicklung von Individualsoftware nicht jedermanns Sache ist. Schließlich erinnert sich nicht jeder daran, wie er sich bei Mathe- und Physikprüfungen oder bei Mathematik- und Physikolympiaden konzentrieren musste. und Physik-Olympiaden.

Raten und kritisches Denken

Vor der Entwicklung von Software gibt es viele Dinge zu bedenken, darunter auch Ressourcen - vor allem finanzielle Ressourcen. Deshalb muss man in der Lage sein, eine Abschätzung der Komplexität zu machen. Die Realität wird sich von der Schätzung unterscheiden, aber wenn man eine ist das besser als eine Kristallkugel.

Schätzungen können auch die Risiken aufzeigen, sei es in der Zeit oder in den Möglichkeiten, ob die Anforderung machbar ist. Für unvorhersehbare Dinge sollte jedoch ein experimenteller Prototyp erstellt werden.

Eines der Risiken kann unvorhergesehener Input sein, sei es durch den Benutzer oder anderweitig. Solche ungeplanten Eingaben sollten erwartet und bedacht werden, und die Anwendung sollte entsprechend angepasst werden. Eingaben behandeln und versuchen, alle Möglichkeiten abzudecken.

Durch kritisches Denken kann sich noch während der Arbeit herausstellen, dass die Umsetzung anders und besser gemacht werden kann als der Kunde gewünscht hat, oder dass der Kunde etwas anderes braucht oder neue Ideen für Anforderungen entstehen, die das Produkt verbessern können.

Fit sein

Eine gute körperliche und geistige Verfassung ist wichtig, um langfristig gute Leistungen zu erbringen. Jeder sollte sich gesund ernähren und jeder braucht Bewegung. Da die Arbeit des Programmierers in einem Büro stattfindet und typischerweise im Sitzen oder Stehen, ist es immer noch eine monotone starre Position. Deshalb muss ein Programmierer regelmäßig und häufig Bewegung in seinen Tagesablauf einbauen. Andernfalls riskiert er gesundheitliche Probleme wie Diabetes usw. und typischerweise Rückenschmerzen. Und natürlich will kein Unternehmen, dass sein Mitarbeiter zum Arzt geht.

Lernen

Das Gebiet der Informationstechnologie ist sehr komplex und vor allem stetig im Wandel. Daher ist die Fähigkeit zu lernen nicht nur für das Wachstum, sondern auch für das Verbleiben in diesem Bereich unerlässlich.

IIT-Projektdurchführung

Bei der Komplexität und dem Umfang von IT-Projekten kann selbst bei der Bereitstellung von fähigen Entwicklern die Zeit nicht garantiert werden und damit auch die finanziellen Anforderungen. Ein Programmierer, der die oben genannten Punkte erfüllt, ist jedoch am besten in der Lage, das Projekt durchzuführen und hat gleichzeitig die Fähigkeit, auf Risiken hinzuweisen, die die Umsetzung gefährden könnten. Und er ist in der Lage, einen Plan zu erstellen, um die Risiken zu minimieren - denn das ist es, was das Projektleitung.

Wie bewerte ich ein Unternehmen?

Ich habe in meiner Erfahrung ein paar interessante Dinge festgestellt. Manche Firmen legen Wert auf Objektprogrammierung, das liegt vor allem daran, dass in solchen Firmen Objekt nicht viel mit Programmierung zu tun haben. Oder sie reden viel über das Testen, zum Beispiel mit UnitTesting, aber dann stellt sich heraus, dass in der Praxis das Testen beiseite.

Am besten ist es also, wenn du dich einbringst, dann wird man es sehen. Wenn Sie Freunde in der Firma haben, fragen Sie herum.

Wie beurteilt man einen Bewerber?

Nach einem ersten Gespräch darüber, was er gemacht hat und womit er Erfahrung hat, weisen Sie ihm sofort eine Aufgabe zu.

Wie schreibt man eine Anzeige für einen Programmierer

Um einen Programmierer zu bekommen, müssen Sie eine gute Anzeige schreiben. Hier ist ein Video darüber, wie man eine Anzeige für einen Programmierer schreibt:

Artikel zu einem ähnlichen Thema

Programmiersprache Go
Python-Programm zur Steuerung von Docker über die API
Wie man MailCatcher zum Testen von E-Mails verwendet
Python OpenAI API
Erstellen einer WebSocket-Webanwendung und Einrichten eines Proxys
Projektmanagement: agile Softwareentwicklung
Wie man alte PHP-Anwendungen ausführt
Programmiersprache Rust
NodeJS: Entwicklung, Serverkonfiguration
Nette Sicherheitslücke CVE-2020-15227
REST API: Plattform-API
Kundenspezifisches Web- und E-Mail-Hosting mit ISP Config-Software
Programmierung in SQL: PostgreSQL, MySQL/MariaDB
HTTPS: sicheres Web
NoSQL-Datenbank Mongo DB
Herstellen einer Verbindung zu Microsoft SQL Server unter Linux
Was ist die Stellenbeschreibung eines Programmierers?
Lokalisierung von Python-Anwendungen
Welches Mail- und Webhosting Sie wählen sollten
Digispark - Atmel ATtiny Mikrocontroller mit Arduino IDE programmieren
Entwicklung für ARM-Prozessoren mit Arduino IDE
Wie programmiere ich den ESP8266 WiFi-Prozessor?
Offenes Smartphone mit Linux - Openmoko Neo FreeRunner

Newsletter

Wenn Sie daran interessiert sind, gelegentlich Neuigkeiten per E-Mail zu erhalten.
Sie können sich registrieren, indem Sie Ihre E-Mail-Adresse eingeben News-Abonnement.


+