PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : IT Facetten


Monger
2014-01-16, 21:01:02
Inspiriert durch diesen (http://www.forum-3dcenter.org/vbulletin/showpost.php?p=10070851&postcount=53) Beitrag versuche ich mich mal an diesem Thread.

Einer der häufigsten Thread Arten in diesem Forum ist: wie werde ich Programmierer? Was für eine Sprache soll ich lernen?

Ich glaube es gibt ein weit verbreitetes Missverständnis dass es "den" Programmierer und "die" IT gibt, als ob das eine klar abgegrenzte und definierte Branche ist.
Deshalb der Aufruf an alle Programmierer mit etwas Berufserfahrung: wollt ihr vielleicht ein paar Sätze aus dem Alltag erzählen?
Damit der Thread nicht aus dem Ufer läuft und zum schmökern einlädt, würde ich bitten ein paar Regel einzuhalten.


Inhaltliche Nachfragen erlaubt, aber bitte keine Diskussionen. Erst recht nicht über Sinn oder Unsinn des jeweiligen Jobs.
Keine Namen. Weder von der Firma noch von Mitarbeitern, firmeneigene Technologien etc. . Kurz: Es sollte anonym bleiben.
Aufs wesentliche beschränken. Sachlich und neutral.

Und hier ein paar Punkte über die man vielleicht ganz grob reden könnte:


was für eine Branche? Unterhaltung? Finanz? Industrie?
Arbeitsprozess: geschlossenes Projekt, oder fortlaufender Service?
Teamstruktur: Einzelperson, kleines Team, großes weit verteiltes Team?
Zentrale benutzte Technologien? Verwendete Sprachen?

Monger
2014-01-16, 21:36:04
Ich mach mal den Anfang:

Unser Kunde ist die Industrie, insbesondere Automobilbau. Ich bin derzeit in einem ziemlich großen Softwareprojekt was mehrere Produkte in einem Paket vereint, mit schätzungsweise 300 Personen auf mehreren Standorten. Das ist eine reine Desktop Anwendung, Web ist zumindest in dem Projekt uns völlig fremd. Mein Bereich umfasst ca. 40 Leute, und wir machen Systemtest (was andere wohl eher als "Quality Assurance" kennen).

Unsere Tests setzen sehr massiv auf GUI Tests, und dafür schreibe ich mitunter die Middleware, Tools, etc. und helfe den Testern ihre Tests zu schreiben und zu warten.
Wenn ich meinen typischen Arbeitstag beschreiben würde: 10% Meetings, 40% umher laufen und anstehende Probleme diskutieren, 30% nach der richtigen Lösung suchen und 20% dann tatsächlich Code schreiben.

Wir sind sehr Microsoft-lastig, fast alles was wir an Technologien da haben stammt mehr oder minder aus dieser Hand. Wir programmieren in unserer Abteilung zu rund 80% in VB.NET, ansonsten dominiert ganz klar C#.

Wir bewegen uns seit ca. 2 Jahren weg vom klassischen Wasserfall mehr hin zu agiler Entwicklung. Der Zeitabstand zwischen zwei "Major Releases" beträgt derzeit so ca. ein Jahr. Das machen wir jetzt schon eine ganze Weile, d.h. auch wenn jede Projektphase an sich abgeschlossen ist, schließt sich die nächste Phase praktisch nahtlos an.

Godmode
2014-01-16, 21:42:29
Programmierer

Branche: Unterhaltung - Spiele
Arbeitsprozess: fortlaufende Projekte über 3-5 Jahre nach Release
Teamstruktur: Team von 5-7 Leuten

Technologie:
Ich fand es immer wichtig die Konzepte zu verstehen. Technologie kommt und geht, aber die Konzepte bleiben meistens. In meinen paar Jahren als Entwickler war ich schon mit allem möglichem konfrontiert (C/C++, Java, C#, ObjC, Pascal, Delphi, Python, Ruby, Lua, SQL in all seinen Formen ...). Wenn man OOP mal verstanden hat - was IMO die wenigsten haben - dann macht es eigentlich nichts aus in welcher Sprache ich die Software schreibe. Bis auf ein paar Besonderheiten, ist das überall ziemlich ähnlich. Genau so sieht es mit Softwarearchitektur und Entwurf aus.

TLDR
Konzepte vor Technologie. Technologie kommt und geht, Konzepte bleiben.

Shink
2014-01-17, 08:19:17
was für eine Branche? Unterhaltung? Finanz? Industrie?
Arbeitsprozess: geschlossenes Projekt, oder fortlaufender Service?
Teamstruktur: Einzelperson, kleines Team, großes weit verteiltes Team?
Zentrale benutzte Technologien? Verwendete Sprachen?

- Industrie, Handel und Finanz
- Arbeitsprozess: "Scrum-ish"
- Teamstruktur: Team mit 30 Personen, darunter mehrere Subteams. Eines davon "neargeshored". Meines hat 7 Personen und ist vor Ort (in einem Büro).
- Sprachen: Zur Zeit, in unserem Team: Java, OGNL, Drools, JavaScript, CSS, HQL. Technologien: J2EE, Spring, Tapestry, Hibernate, AspectJ.

Trap
2014-01-17, 08:34:14
-konzerninterne Software Transport+Logistik Branche
-Projektaufträge der Konzern-Geschäftsfelder, vor allem Neuentwicklung mit Water-Scrum-Fall, offiziell natürlich mit anderem Namen
-im Moment 7, alle vor Ort
-C#, WCF, EF, Winforms

Gast
2014-01-17, 10:40:01
Hauptsächlich Desktop-Anwendungen aber auch andere für Verbesserung der Qualitätssicherung von Industrieprodukten die z.B. mit Integration in SPS-Systeme als Teil eines Gesamtsystems, und ähnliche Anwendungen wie Programmierung von Industrierobotern. Es werden entweder Systeme entworfen, die als Teil eines Gesamtsystems funktionieren (um z.B. bestehende Systeme aufzurüsten) oder auch Gesamtsysteme für die Auftraggeber geplant bzw entworfen, sowie deren Installation, was dann stets in Kooperation mit verschiedenen externen Mitarbeitern bzw. Firmen geschieht. Es kommen zwar auch Fertiglösungen zum Einsatz, aber meist werden diese spezialisierten Anwendungen für die Industrie neu entwickelt, und die Anforderungen können sich schnell ändern. Die Projekte werden größtenteils über den kompletten Lebenszeitraum durch Mitarbeiter betreut und gegebenenfalls an neue Anforderungen angepasst, was eigentlich der Regelfall ist. Die Kunden sind in vielen verschiedenen Branchen tätig, z.B. verarbeitender Industrie, Automobil- oder Pharmaindustrie uvm.
Technologien die dabei verwendet werden sind überwiegend VB und C#, vereinzelt auch C++, Webentwicklung, Datenbankanwendungen, Roboterprogrammierung, und ggf. auch andere Technologien die hier keiner kennt, die je nach Anforderung unterschiedlich sein können. Maschinenprogrammierung an und für sich machen wir aber nicht.
Gearbeitet wird in einem kleinen Team oder mit externen Mitarbeitern zusammen, 4 bis 15 Personen, oder auch mehr, das ergibt sich aus den gestellten Anforderungen. Davon hat dann meist nur ein Teil Programmierkenntnisse, der Rest ist meist eher im Bereich E-Technik, Maschinenbau usw. Zusätzlich zur Programmierarbeit muss man Ahnung von der eingesetzten Technik haben, z.B. um Fehler in der Hardware schnell zu erkennen. Es existieren natürlich vorgeschriebene Qualitätsanforderungen an die Software, ein komplexer Softwareplanungsprozess wie in großen Softwareentwicklungsfirmen wird aber nur da ausgerollt wo es wirklich Sinn ergibt oder in den Zeitplan passt, das ist für Entwicklung von vielen verschiedenartigen, meist spezialisierten Einzellösungen bzw. Anwendungen nicht anders machbar. Die Neuentwicklung verschiedener Projekte bewegen sich im Rahmen von ein paar Wochen bis zu einem halben Jahr. Programmierkenntnisse sind von Vorteil, macht aber nur einen bestimmten Teil aus, denn es ist eben abwechslungsreich.

Ectoplasma
2014-01-17, 10:49:34
1993 - 2000 Softwareentwickler

Branche: Fernsehen und Rundfunk
Teamgrößen: 1 - 4
Techniken: C/C++, OOP, Win32/MFC
Aufgaben: Entwicklung von Sendeablaufsteuerungen etc.

2000 - 2014 IT-Berater/Entwickler

Branchen: Telekommunikation/Banken/Versicherungen/Autoindustrie/Luftfahrt
Teamgrößen: 1 - 30
Techniken: Java/JEE, JavaScript und alles was zum WEB dazu gehört, also eine ewig lange Liste, die ich hier nicht ausführen möchte, Objective C/C++ für OSX/iPhone ist ebenfalls dabei.

Die Liste oben ist ein sehr kleiner Ausschnitt dessen, was in Wirklichkeit alles auf einen zukommt. Nicht zu vergessen ist, dass es gerade in der Beratungsbranche auf soziale Skills ankommt. Auch wenn ich hier in diesem Forum garantiert nicht immer nett bin, so ist es da draußen extrem wichtig respektvoll miteinander umzugehen. Man sollte zudem Interesse für seine Arbeit mitbringen. Das zusammen ist auch das Geheimnis, wie man im Laufe seines Beruflebens Erfolg hat und Netzwerke knüpfen kann. Entsprechend höher fällt dann u.a. auch das Gehalt aus.

Marscel
2014-01-17, 20:33:14
Stelle 1:

* Reverse Engineering für höheren Zweck
* Experimentelles Projekt
* 1-3 Leute, je nach dem, wie sehr sich unsere Arbeit trifft
* C, x86-Assembler, Valgrind

Stelle 2:

* Full-Stack SaaS
* Gewissermaßen auch experimentell, aber natürlich mit dem Ziel sich finanziell zu etablieren.
* 2 Leute, vorerst
* Ruby, JavaScript, Web-Frontend-Kram, ObjC, Java, AWS & Co.

Ganon
2014-01-17, 21:45:15
Ist zwar wegen Uni nur ein Minijob, aber naja:

- Backend für Webservice im Industriebereich
- ist ein neues Projekt, daher gerade noch in Entwicklung
- momentan 2 Personen
- momentan noch Ruby, PL/pgSQL, Javascript

Shink
2014-01-19, 19:27:38
Wenn die anderen hier schon ihre Historie bringen, will ich auch mal nachlegen:
Stelle 1:
- Forschungsarbeit an der Uni im Bereich Suchmaschinenoptimierung und Grid Computing
- Experimentelles Projekt
- Einzelkämpfer
- Fortran, BLAS/LAPACK, MPI, Java, OGSA

Stelle 2:
Branche: Embedded-Sachen in Bereich Zutrittskontrolle und Betriebsdatenerfassung sowie Lager/Logistik, ERP-Schnittstellen
Arbeitsprozess: "Chaos Management", später XP
Teamgröße: ~10 Personen, davon 5 SW-Entwickler
Technologien: Embedded Java, J2EE, Keil C, µCLinux, Shellscripts, Python, CORBA, SQL, C# im .NET CF, RPG (OS/400)

samm
2014-01-19, 23:01:13
Inkl. Historie, ok... Im Studium selbst verwendeten wir je nach Gebiet / Thema C++, C, Java und Prolog, sowie diverse Markup-Sprachen (aiml, owl).

Erste IT-Job-Erfahrungen knapp nach Schulende im Bereich Stiftungen (Arbeitslosenprojekte und im Medizinbereich) gesammelt, strikt auf Microsoft-Umgebungen beschränkt: Access/Word mit massenweise VBA und etwas SQL, sowie ASP.net
Jeweils geschlossene Projekte mit Folgeaufträgen z.T. bis heute, jeweils Einzelperson als Entwickler mit Team für Projektierung und Spezifikation.

Danach während dem Studium Job, in dem es Automatisierungen von Maschinen-Abläufen und Auslesen von Daten derselben mit LabView sowie Cadence-Scripting ging. Bereich Chipdesign, wiederum kleines Team mit mir als einzelnem Entwickler an den jeweiligen Programmteilen.


Im späteren Studienverlauf auf meine jetztige Vollzeitstelle gewechselt.
Branche: Finanz.
Sowohl geschlossene Projekte mit Einzelprodukten als Resultat, als auch Services.
Kleines Team mit Business-Analysten und mehreren Entwicklern inkl. Azubi.
Die hauptsächlich verwendeten Technologien sind eine eigene Scripting-Umgebung und .net für GUIs und libraries. Backends liegen auf kundenabhängigen DBs, üblicherweise MS SQL Server oder Oracle. Die hauptsächlich verwendeten Sprachen sind die Scripting-Sprache, C# und SQL (PL resp. T). Am Horizont zeichnet sich die Portierung einiger der .net-Bestandteile von MS-only auf Mono ab.

del_4901
2014-01-20, 00:24:14
Branche: Games (Rendering)
Arbeitsprozess: Scrum-like
Teamgröße: 4-100, jeh nach Teil-Projekt
Technologien: C++/C# mit funktionalen Einfluessen

pest
2014-01-20, 10:25:39
Passt zwar nicht ganz, aber seis drum

Branche: Forschung
Arbeitsprozess: geschlossene Projekte

Teamstruktur und Technologien:
Projekt 1: Pflegen eines altgediehenen Waldmodells im Team mit 8 Leuten über SVN und C++ Builder

Projekt 2: Einzelkämpferprojekte:
-Inverse Modellierung mittels stochastischen Optimierungsmethoden mit C++, STL
-Regenwaldmodell, C++, OpenMP, STL

Schwerpunkte: Statistik, Optimierung, Numerik partieller Differentialgleichungen

Gesamtzeitanteil: 20-30%

RMC
2014-01-20, 10:39:58
Branche: Games
Arbeitsprozess: geschlossene Projekte, vergleichsweise kurze Dauer
Teamgröße: klein
Technologien: Unity, C#, ObjC (iOS), Java (Android)
Was ich mache: Netzwerk, Server/Client Kommunikation, Spielablauf-Logik, Gui/Frontend

Kenny1702
2014-01-23, 19:41:24
Branche: Industrie

Projekt: über 10 Jahre lang fortlaufendes Projekt mit halbjährlichen Releases. Es handelt sich dabei um eine Client-Server Windows-Anwendung.

Arbeitsprozess: Scrum (offiziell)

Teamgröße: 4 (mein Kernteam) - 20 (komplettes Entwicklungsteam + QA)

Technologie: Microsoft (.NET / C#, Entity Framework, WinForms, WCF, SQL), Oracle, Delphi, C++, VCL, DevExpress Komponenten

Trap
2014-01-23, 20:23:40
Arbeitsprozess: Scrum (offiziell)
Teamgröße: 4 (mein Kernteam) - 20 (komplettes Entwicklungsteam + QA)
;D
Scrum (offiziell) + QA-Team
Technologie: Microsoft (.NET / C#, Entity Framework, WinForms, WCF, SQL), Oracle, Delphi, C++, VCL, DevExpress Komponenten
Ohne Delphi hätte ich überlegt ob du bei mir im Team bist :wink: