Heim >häufiges Problem >Was machen Programmierer?
Aufgaben des Programmierers: 1. Verantwortlich für die detaillierte Gestaltung, Codierung und Organisation und Implementierung interner Tests von Softwareprojekten; 2. Unterstützung von Projektmanagern und zugehörigen Mitarbeitern bei der Kommunikation mit Kunden und der Pflege guter Kundenbeziehungen; Nehmen Sie an Bedarfsforschung, Projekt-Machbarkeitsanalysen und Bedarfsanalysen teil. 4. Seien Sie mit den relevanten Software-Technologien für die Bereitstellung von Software-Projekten vertraut, die von der Software-Abteilung entwickelt wurden. 5. Verantwortlich für zeitnahes Feedback an den Projektmanager der Softwareentwicklung; 6. Beteiligen Sie sich an der Lösung wichtiger technischer Probleme im Softwareentwicklungs- und Wartungsprozess. 7. Verantwortlich für die Formulierung relevanter technischer Dokumente usw.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, Dell G3-Computer.
Programmierer (englischer Programmierer) ist ein Fachmann, der sich mit Programmentwicklung und Programmwartung beschäftigt. Programmierer werden im Allgemeinen in Programmdesigner und Programmcodierer unterteilt, die Grenzen zwischen beiden sind jedoch nicht ganz klar, insbesondere in China. Software-Praktiker werden in sechs Kategorien eingeteilt: Junior-Programmierer, Fortgeschrittene Programmierer, Senior-Programmierer (jetzt Software-Designer), Systemanalytiker, Systemarchitekten und Testingenieure.
Die spezifischen Aufgabenbereiche sind wie folgt:
1. Verantwortlich für das detaillierte Design, die Codierung und die Organisation und Implementierung interner Tests von Softwareprojekten sowie die Durchführung von Systemtests Analysearbeiten an kleinen Softwareprojekten sowie komplette Projektimplementierungs- und technische Supportarbeiten.
2. Unterstützen Sie Projektmanager und zugehöriges Personal bei der Kommunikation mit Kunden und der Pflege guter Kundenbeziehungen.
3. Beteiligen Sie sich an Bedarfsforschung, Projekt-Machbarkeitsanalysen, technischen Machbarkeitsanalysen und Bedarfsanalysen.
4. Seien Sie mit den relevanten Softwaretechnologien für die Umsetzung von Softwareprojekten, die von der Softwareabteilung entwickelt wurden, vertraut und beherrschen Sie diese.
5. Verantwortlich dafür, dem Projektmanager zeitnah Feedback zur Softwareentwicklungssituation zu geben und Verbesserungsvorschläge basierend auf der tatsächlichen Situation zu machen.
6. Beteiligen Sie sich an der Lösung wichtiger technischer Probleme im Softwareentwicklungs- und Wartungsprozess und beteiligen Sie sich an der Erstinstallation und dem Debuggen der Software, der Datenumstellung, der Benutzerschulung und der Projektförderung.
7. Verantwortlich für die Erstellung relevanter technischer Dokumente.
8. Verantwortlich für die technologischen Entwicklungstrends im Geschäftsfeld.
Erklärung:
Obwohl die spezifische interne Arbeitsteilung unterschiedlich ist, verbindet sich die Gruppe der Programmierer durch die Arbeitsteilung und Zusammenarbeit jeder Person der Firmenchef, Produktmanager, Die funktionalen Vorstellungen von Betriebs- und Fachabteilungen für ein APP, Miniprogramm etc. Produkt werden durch Programmierung umgesetzt.
Natürlich müssen nicht nur APPs und kleine Programme programmiert werden, aber da wir in der Lage sind, diese Frage auch für Anfänger zu beantworten, nehmen wir das Beispiel der funktionalen Entwicklung von APPs, an dem jeder erklärt, wie Programmierer arbeiten !
01 Frontend-Entwicklung: Hauptverantwortlich für die Implementierung von für den Benutzer sichtbaren Seiten
Wenn wir eine APP öffnen, sehen wir eine Klicken Sie auf der Startseite auf. Jedes darin enthaltene Modul, jede Funktion, jeder Titel usw. wird auf einer anderen Seite angezeigt.
In Internetunternehmen gibt es neben Programmierern auch Positionen wie Produktmanager, Interaktionsdesigner und UI-Designer. Im Allgemeinen basieren Interaktionsdesigner und UI-Designer auf den Ideen des Chefs für die APP und Die Meinung des Produktmanagers zur App bestimmt, wie jede Seite aussehen wird, z. B. ob es eine oder drei Schaltflächen gibt, ob sie nach oben und unten oder nach links und rechts angeordnet wird usw.
Um zu erkennen, dass jeder unserer Benutzer durch Klicken auf „Mein“ auf der Startseite zur „Meine“-Homepage springen kann, müssen Programmierer, Brüder und Schwestern dies über Programme implementieren.
Programmierer, die in der Regel hauptsächlich für ähnliche Arbeiten verantwortlich sind, werden im Sinne der internen Arbeitsteilung meist als Frontend-Entwickler bezeichnet.
02 Back-End-Entwicklung: Hauptverantwortlich für die Entwicklung von Back-End-Daten
Ob wir Neulinge sind oder nicht, es gibt eine Es ist sehr wahrscheinlich, dass wir vom Datenbankkonzept gehört haben.
Das ist wie wenn wir in einem Supermarkt einkaufen gehen und die Leute so in den Regalen sehen, dass sie Lust darauf haben, sie zu kaufen. Zum Beispiel, wenn Sie möchten eine Packung Kartoffelchips mit Gurkengeschmack (der Favorit vieler Leute) kaufen, stellen aber fest, dass nur wenige andere Geschmacksrichtungen im Regal sind. Zu diesem Zeitpunkt fragen Sie den Verkäufer, ob es welche mit Gurkengeschmack gibt?
Der Zähler wird zum Lagerverwalter gehen, um sich das Lager anzusehen, und wenn noch etwas übrig ist, wird er es Ihnen geben.
Unsichtbar für Sie, Tallies, Lagerverwalter und das Lager selbst ähneln in gewisser Weise der Back-End-Entwicklung der von uns verwendeten APP. Sie müssen die Ordnung der Datenbank sicherstellen und die Ordnung gewährleisten Die Datenbank kann bei Bedarf schnell und genau gefunden werden, und auf die Front-End-Anforderungen kann schnell und genau reagiert werden.
03 Tests: Hauptverantwortlich für die Qualitätskontrolle vor der Produkteinführung
Wenn Entwicklungsingenieure die APP einsetzen Nachdem die Entwicklung kleinerer Programme usw. abgeschlossen ist, müssen interne Qualitätsüberwacher, d. h. Testingenieure, die Gesamtleistung und Sicherheit des Produkts testen, bevor es offiziell auf den Markt kommt.
Die grundlegendste Testarbeit umfasst Funktionstests, das heißt, Testingenieure können sich wie unerfahrene Benutzer mit dem Produkt befassen, um zu sehen, ob das Produkt reibungslos reagiert und ihre Anforderungen erfüllt
Der zweite wichtige Test ist der Test der Produktkompatibilität, ob es Probleme mit der Kompatibilität zwischen verschiedenen Modellen mobiler Geräte und unterschiedlicher Software gibt.
Der dritte ist der Leistungstest, der hauptsächlich davon abhängt, ob das Produkt unter der Voraussetzung von großem Datenverkehr normal laufen kann, ohne abzustürzen.
Der letzte ist der Sicherheitstest, um zu verhindern, dass das Produkt beschädigt wird böswillig angegriffen, nachdem es online gegangen ist.
Wissen erweitern: wesentliche Fähigkeiten für Programmierer
Kompetent in Entwicklungstools
Als A Der Programmierer beherrscht die Verwendung von mindestens zwei bis drei Entwicklungstools. Darunter sind C/C++ und JAVA die am häufigsten empfohlenen Entwicklungstools Seine hohe Effizienz und hohe Flexibilität sind ein leistungsstarkes Werkzeug unter den Entwicklungstools. Viele Softwareprogramme auf Systemebene werden immer noch in C/C++ geschrieben. Die plattformübergreifende Plattform von JAVA und die gute Integration mit WEB sind die Vorteile von JAVA, und JAVA, das zugehörige Technologiepaket JAVAOne, wird in Zukunft wahrscheinlich zu einem der gängigen Entwicklungstools werden. Zweitens wäre es besser, ein einfaches visuelles Entwicklungstool wie VB, PowerBuilder, Delphi, CBuilder zu beherrschen. Diese Entwicklungstools reduzieren die Schwierigkeit der Entwicklung und können das Konzept des Objektmodells des Programmierers stärken. Darüber hinaus müssen Sie grundlegende Skriptsprachen wie Shell, Perl usw. beherrschen und diese Skriptcodes zumindest lesen können.
Seien Sie mit Datenbanken vertraut
Warum sind Datenbanken so wichtig? Als Programmierer haben sie natürlich ihre eigenen Gründe: Viele Anwendungen konzentrieren sich auf Datenbankdaten, und es gibt viele Datenbankprodukte. Unter ihnen sind relationale Datenbanken immer noch die gängige Form, sodass Programmierer mindestens eine oder zwei Datenbanken beherrschen Sie müssen die Schlüsselelemente relationaler Datenbanken genau kennen und die grundlegende Syntax von SQL beherrschen. Obwohl viele Datenbankprodukte visuelle Datenbankverwaltungstools bereitstellen, ist SQL die Grundlage und die universelle Datenbankbetriebsmethode. Wenn Sie keinen Zugang zu kommerziellen Datenbanksystemen haben, ist es eine gute Wahl, kostenlose Datenbankprodukte wie MySQL, Postgres usw. zu verwenden.
Verstehen Sie das Betriebssystem
Die aktuellen Mainstream-Betriebssysteme sind Windows und Linux/Unix. Es ist notwendig, diese Betriebssysteme zu beherrschen, diese sind es jedoch nicht genug. . Um ein echter Programmiermeister zu werden, müssen Sie über ein tiefgreifendes Verständnis des Betriebssystems, seines Speicherverwaltungsmechanismus, der Prozess-/Thread-Planung, der Signale, Kernelobjekte, Systemaufrufe, der Protokollstapelimplementierung usw. verfügen. Als Betriebssystem zum Entwickeln von Quellcode ist Linux eine gute Lernplattform und verfügt über nahezu alle Eigenschaften moderner Betriebssysteme. Obwohl es weniger Informationen über den Kernel-Implementierungsmechanismus von Windows-Systemen gibt, können dennoch viele Informationen über das Internet abgerufen werden.
Verstehen Sie das Netzwerkprotokoll TCP/IP
Heute, wo das Internet so beliebt ist, wenn Sie das unterstützende Protokoll TCP/IP des Internets nicht gut verstehen Protokollstapel, Sie müssen diese Lektion schnell nachholen. Die Netzwerktechnologie hat die Art und Weise des Softwarebetriebs verändert, von der frühesten Client/Server-Struktur bis hin zu den heutigen WEBServices und dem zukünftigen Grid-Computing. All dies ist untrennbar mit dem TCP/IP-Protokollstapel verbunden -basierte Netzwerkprotokollunterstützung ist ein umfassendes Verständnis des TCP/IP-Protokolls unbedingt erforderlich. Zumindest müssen Sie das siebenschichtige ISO-Protokollmodell, die Prinzipien gängiger Protokolle wie IP/UDP/TCP/HTTP und den Drei-Wege-Handshake-Mechanismus verstehen.
Verstehen Sie die Bedeutung der Existenz von DCOM/CORBA/XML/WEBServices
Mit der Entwicklung der Technologie ist die nahtlose Integration von Software und Netzwerk ein unvermeidlicher Trend. Die Bedeutung des Softwaresystems ist eines der wichtigen Merkmale zukünftiger Computermodelle. DCOM/CORBA ist eine Zwischenplattform für die beiden aktuellen gängigen verteilten Computer. DCOM ist eine Erweiterung von Microsoft COM (Component Object Model) und CORBA ist eine Spezifikation unterstützt von OMG. Die Bedeutung von XML/WebServices liegt auf der Hand. XML ist im Internet aufgrund seiner strukturierten Darstellungsmethode und seiner äußerst ausdrucksstarken Fähigkeit als „Esperanto“ bekannt und einer der Eckpfeiler des verteilten Rechnens.
Software-Engineering nicht vom CMM trennen
Bei der Entwicklung großer Softwaresysteme ersetzt die technische Entwicklungskontrolle persönlichen Heldentum und wird zum Erfolgsgaranten Ein hervorragender Programmierer ist nicht unbedingt ein ausgezeichneter Programmierer, der in jeder Phase des Software-Engineerings über hervorragende Programmierfähigkeiten verfügt Die Softwareentwicklung sollte beherrscht werden, z. B. Marktanalyse, Machbarkeitsanalyse, Anforderungsanalyse, Strukturdesign, detailliertes Design, Softwaretests usw.
Fähigkeit zum Verständnis der Anforderungen
Programmierer müssen in der Lage sein, die in der Aufgabenreihenfolge beschriebenen Anforderungen richtig zu verstehen. Hierbei sollte klar sein, dass Programmierer nicht nur auf die funktionalen Anforderungen der Software achten sollten, sondern auch auf die Leistungsanforderungen der Software. Sie müssen in der Lage sein, die Auswirkungen und potenziellen Bedrohungen ihrer Module auf das Ganze richtig einzuschätzen Wenn ein erfahrener Programmierer mit Projekterfahrung dies in zwei bis drei Jahren nicht versteht, kann das nur bedeuten, dass er möglicherweise ernsthaft, aber nicht mit Herz gearbeitet hat.
Fähigkeit zum modularen Denken
Als ausgezeichneter Programmierer kann sein Denken nicht auf die aktuellen Arbeitsaufgaben beschränkt werden. Er muss darüber nachdenken, ob die Module, die er schreibt, von der aktuellen Arbeit getrennt werden können Aufgaben Das System existiert und kann durch einfache Kapselung direkt in anderen Systemen oder anderen Modulen verwendet werden. Dies kann den Code wiederverwendbar machen, Doppelarbeit reduzieren und die Systemstruktur sinnvoller gestalten. Die Verbesserung der Fähigkeit zum modularen Denken ist ein wichtiger Indikator für die Verbesserung des technischen Niveaus eines Programmierers.
Weitere Programmierkenntnisse finden Sie unter: Programmier-Tutorial!
Das obige ist der detaillierte Inhalt vonWas machen Programmierer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!