-
ACHTUNG - NEUES BLOG
Ab sofort steht unter http://devtyr.norberteder.com mein neues Blog zur Verfügung. Dieses Blog wird nicht weiter betreut, bleibt aber erhalten. Neue Eintr%auml;ge erfolgen nur mehr im neuen Blog. Kommentare werden ebenfalls nicht mehr behandelt. Wer weiterhin meinen Einträgen und Aktivitäten folgen möchte, möge bitte RSS-Feeds, Verlinkungen etc. an die neue Location anpassen.
|
Jobangebote in der IT - Eine Weiterentwicklung ist notwendig
26.03.07 - Entwicklung, Diskussionen Beitrag von Norbert Eder| | Im Beitrag Jobangebote vs Jobforderungen hatte ich bereits über den - aus meiner Sicht gesehenen - Missstand von Jobangeboten der IT-Branche berichtet. Nun, diese Gedanken wurden weiterentwickelt und mit konkreten Vorschlägen untermauert.
Bisheriger Stand
Wer sich per Zufall ein Jobangebot aussucht, der findet darin hauptsächlich Forderungen, jedoch nahezu keine Anreize, sich auch tatsächlich zu bewerben. Gesucht wird ein Allrounder, ein Wunderwuzzi.
Umdenken ist notwendig
Fakt ist, dass Unternehmen Mitarbeiter suchen. Diese müssen natürlich entsprechende Kenntnisse mitbringen um ihre Arbeit zuverlässig ausführen zu können. Sind dafür jedoch alle angegebenen Anforderungen notwendig? Durchleuchten wir doch einige dieser Punkte:
Hochschulabschluss
Ein akademischer Titel suggeriert Lernfähigkeit, Lernwille, Selbstdisziplin, Genauigkeit und noch vieles mehr. Ein abgeschlossenes Studium bedeutet jedoch nicht, dass alle diese EIgenschaften auch tatsächlich erfüllt werden. Auch wird durch den Studienplan festgelegt, welche Fähigkeiten der Absolvent besitzen sollte. Das erfolgreiche Ablegen der Diplomprüfung bedeutet in der Realität aber nicht, dass dem so ist.
In der Arbeitswelt tummeln sich jede Menge Nicht-Akademiker, die zwar möglicherweise kein so breitgefächertes (oberflächliches) Wissen besitzen wie Akademiker, dafür jedoch in vielen Fällen eine höhere fachliche Kompetenz aufweisen.
Durch die Notwendigkeit eines Hochschulabschlusses, wird jedoch von Beginn an den Nicht-Akademikern die Chance auf diesen Job genommen. Es gibt auf beiden Seiten gute, als auch schlechte potentielle Mitarbeiter. So sollte nicht die Anforderung nach einem Hochschulabschluss gegeben sein, sondern vielmehr, die tatsächlichen Anforderungen bzw. die mögliche Weiterentwicklung im Unternehmen. Dadurch kristallisiert sich sehr schnell heraus, ob nun doch ein akademischer Grad notwendig ist oder nicht. Besitzt jemand ohne akademischen Grad diese Fähigkeiten bekommt er jedoch die Möglichkeit, sich zu bewerben (bzw. wird seine Bewerbung ernst genommen).
Ausschlaggebend sollten dementsprechend die tatsächlichen Fähigkeiten sein und der Grad der Übereinstimmung zu den gemachten Anforderungen.
Ich will, ich will - Angaben der Anforderungen
Hier gilt nach der Größe des Unternehmens zu unterscheiden. Kleine Softwareschmieden vereinen mehrere Aufgabengebiete in einer Person. Hintergrund: Es kann sich nicht für jedes Aufgabengebiet einen eigenen Mitarbeiter (oder gar ein ganzes Team) leisten. Hier ist es unumgänglich, dass ein Softwareentwickler auch Datenbank-Administrator ist, oder sich ebenfalls mit Netzwerken auskennen muss. Diese Tatsache kann nicht umgangen werden, sollte jedoch in einem Jobprofil angegeben werden - nämlich als Hinweis zur Unternehmensgröße und des tatsächlichen Aufgabengebietes.
Bei größeren Unternehmen gestaltet sich dieser Punkt einfacher. Hier gibt es oftmals eigene Datenbank-Administratoren, Entwickler-Teams in unterschiedlichen Ausprägungen etc.
Nichts desto trotz sollten ganz klare Verhältnisse geschaffen werden. Es gilt sich zu überlegen, welche Anforderungen wirklich notwendig sind (keine utopischen Angaben) und welche optional für das Unternehmen hilfreich wären. Kaum wird es jemanden geben, der alle Anforderungen erfüllen kann, jedoch sollten diese klar (der Realität entsprechend) definiert werden.
Das wichtigste an dieser Stelle ist jedoch anzugeben, was der potentielle Mitarbeiter als Gegenleistung erhält. Natürlich steht das Gehalt im Vordergrund. Dieses ist - da ein bestimmter Betrag - klar bewertbar. Es stellt jedoch nur einen Teil der Gegenleistung dar. Was kann denn das Unternehmen noch bieten?
Vor allem Softwareentwicklern wird oft nachgesagt, dass sie meist nur über eine geringe soziale Ausprägung verfügen, introvertiert sind, nur in ihrer eigenen Gedankenwelt leben. Dies ist schon lange nicht mehr so. Für wenig Geld kann also jedes Unternehmen soziale Rahmenprogramme anbieten (gemeinsame Ausflüge, Sport, Besuch von Freizeit-Veranstaltungen). Welcher Entwickler freut sich beispielsweise nicht darüber, hin und wieder auf eine Fachmesse zu dürfen?
Diese Angebote sind zwar nicht leicht zu bewerten (da nicht Bestandteil des Gehaltes), sorgen aber für eine besondere Grundlage für eine gute Zusammenarbeit und genau das sollte es sein.
Sind allgemeine Angaben gute Angaben?
Besonders allgemein gehaltene Angaben können von einem potentiellen Bewerber nicht bewertet werden. Ein Beispiel:
Hervorragende C# Kenntnisse
Wie sind hervorragende Kenntnisse zu beurteilen? Kann man sich selbst als hervorragend einschätzen? Ja, kann man. Entspricht aber meist nicht den Tatsachen. Vielmehr bietet es sich an, klar zu beshreiben, was tatsächlich gewünscht wird. Anstatt der obigen Angabe könnte dies so formuliert werden:
C# (Reflection, Threading, Generics)
Und schon ist klar, was gewünscht wird. Ohne Missverständnisse. Genauso sollte dies bei allen angeführten Forderungen passieren. Nochmals zur Erinnerung: Nur Punkte definieren, die auch tatsächlich benötigt werden, keine utopischen Angaben.
| | | 8 Kommentare
- 1220 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Von der Steinzeit direkt in die Zukunft
07.03.07 - Entwicklung, Diskussionen Beitrag von Norbert Eder| | Gestern hatte ich das Vergnügen, einem Vortrag von Dipl.-Ing. Dr.techn. Univ.-Doz. Klaus Schmaranz zuhören zu dürfen. Thema: Eine kleine Geschichte der Softwareentwicklung.
Es war sehr interessant, wieder einmal vor Augen gehalten zu haben, warum sich sehr viele Menschen mit der IT wirklich schwer tun und so gänzlich überfordert sind. Und das betrifft nun nicht nur Anwender. Nein, auch der Softwareentwickler selbst ist überfordert. Aber warum? Eigentlich ist es doch gar nicht so schwer ein guter Softwareentwickler zu sein, oder etwa doch?
Ein Großteil des menschlichen Wissens wurde über Jahrtausende hinweg generiert. Sei es die Mathematik, Astronomie oder die Medizin. Ehemalige Berufsbilder haben sich bis in die heutige Zeit nicht verändert (man denke an Bauern, Priester, Ärzte). Nun stelle man dies der Softwareentwicklung gegenüber. Anstatt 100.000 Jahre zu benötigen um von der Steinzeit in die Neuzeit zu gelangen, hat es die Softwareentwicklung in einigen Jahrzehnten geschafft diesen Sprung zu tun. Permanente Paradigmenwechsel, ständige Berufsbild-Änderungen prägen unsere Branche. Wissen, das vor 10 Jahren gültig war, ist es heute zu großen Teilen nicht mehr. Neue Programmiersprache, ständig wechselnde Technologien, kurze Lebensdauern von APIs usw. Kein Wunder dass der Entwicklung kaum zu folgen ist.
Und nun die alles entscheidende Frage: Wo soll das hinführen? Und hier, genau hier, möchte ich den Faden von Dr. Schmaranz noch weiterführen. Der Softwareentwicklung (oder der IT generell) wird nachgesagt, Arbeitsplätze zu zerstören. Durch Automatisierung und vereinfachte Prozesse werden Berufsbilder zerstört, an Arbeitskräften kann eingespart werden. ABER! Der für mich ersichtliche Punkt ist folgender: Rationalisiert sich ein Softwareentwickler nicht selbst ins Nirvana? Software, die es erlaubt, sich seine eigene Anwendung selbst zusammen zu stellen. Durch den Einsatz von Komponenten heute schon sehr vereinfacht. Zahlreiche Projekte zeigen: Der "Entwickler" von morgen ist der Anwender selbst. Zukünftig wird der Anwender seine Anwendung selbst zusammenklicken, ein wenig konfigurieren und er hat das was er möchte. Die Bausteine wurden entwickelt, durch ein wenig künstlicher Intelligenz kann die Software bestimmte Bereiche selbst erlernen und/oder optimieren. Der Softwareentwickler wird zum Konfigurator. Dieses Spiel kann man soweit spinnen, bis wir (die Softwareentwickler) komplett überflüssig sind. Doch was kommt danach? Das kann ich auch nicht beantworten. Aber keine Sorge. Irgendeine Schweinerei wird uns sicherlich einfallen ...
| | | 1 Kommentar
- 700 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Jobangebote vs Jobforderungen
05.03.07 - Blog-Intern, Entwicklung, Diskussionen Beitrag von Norbert Eder| | Wieder einmal bin ich über einige Jobangebote für C#-Entwickler gestoßen und muss hier einfach einmal meine Meinung kund tun, auch wenn diese nicht bei allen Gehör oder Einsicht findet.
Was wird gefordert?
- .NET / C# Kenntnisse
- ASP.NET Kenntnisse
- Objektorientierte Programmierung
- Software Architekturen (UML)
- Beherrschung mehrerer DBMSs
- Soft Skills nicht zu vergessen
- Abgeschlossenes Studium
Was wird geboten?
Hier wird es nun schwierig. In den meisten Jobangeboten wird von einem angenehmen Arbeitsklima gesprochen, von leistungsbezogenem Gehalt. Das war es dann auch wieder. Auf der Waage liegen also viele Forderungen und selten ein wirklich gutes Angebot.
Betrachtet man nun die offenen Stellen und die dafür wirklich in Frage kommenden Personen (man beachte, dass in Frage kommende Personen möglichst alle geforderten Punkte wirklich erfüllen) kann gut erkannt werden, dass bei weitem nicht alle offenen Jobs besetzt werden können.
Alleine aus dieser Tatsache heraus ist es unverständlich, warum Jobangebote auch heute noch so formuliert werden, wie es vor 20 Jahren üblich war. Vielmehr sollte um die wirklich guten Entwickler geworben werden. Denn nur durch ein Jobangebot, das man auch so nennen kann, fühlen sich die guten Leute angesprochen und melden sich. Zusätzlich will der Bewerber bzw. spätere Mitarbeiter im Unternehmen gehalten werden. Nur durch Forderungen ist dies nicht erreichbar. Vielmehr sollten die Unternehmen auch anführen, was sie bereit sind zu geben.
Bitte mich nicht falsch zu verstehen. Das Gehalt ist eine wichtige Komponente - ganz klar - aber sicherlich nicht das ausschlaggebende Faktum. Unternehmen haben wesentlich mehr zu bieten. Seien es fördernde Maßnahmen (Schulungen, Erweiterung der Soft Skills) oder entspannende Angebote (alle 2 Wochen 20 Minuten Masseur für die verspannte Rückenmuskulatur) bis hin zu anderweitigen Unterstützungen. Wie gesagt, Unternehmen haben vieles zu bieten. Es sollte nur hervorgehoben werden.
Ich will, ich will, ich will ist sicherlich der falsche Weg, um gute und motivierte Entwickler in sein Team zu holen. Wer nehmen will muss auch geben. Wie das Geben aussieht ist Verhandlungssache, sollte aber von vornherein vom Unternehmen angeboten bzw. in Aussicht gestellt werden.
| | | 3 Kommentare
- 876 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Serviceorientierte Architekturen Grundlagen
03.03.07 - Entwicklung, Diskussionen, .NET, Grundlagen Beitrag von Norbert Eder| | Serviceorientierte Architektur (SOA) ist wohl ein häufig gebrauchter Terminus in der heutigen Zeit. Wer sich beispielsweise näher mit der Windows Communication Foundation (WCF) beschäftigen möchte, sollte sich zuvor in die Grundlagen der SOA einarbeiten.
Wie die Bezeichnung vermuten läßt, besteht SOA aus lose gekoppelten Diensten, die jeweils bestimmte Aufgaben kapseln und unabhängig voneinander bezogen werden können. Ein Dienst wird von einem Service Provider angeboten, der Client nennt sich Service Consumer.
Ein einzelner Dienst stellt unterschiedliche Funktionen (Operationen) zur Verfügung, die von einem Consumer aufgerufen werden können. Dabei wird ein Service über eine Schnittstelle (Contract) definiert. Die Schnittstelle beschreibt also, welche Funktionalitäten und Nachrichten angeboten werden. Hierbei ist zusätzlich darauf zu achten, dass der Client die Implementierung der Funktionalität nicht kennt, da diese vom Service gekapselt wird. Dadurch ist es sehr einfach möglich, die Funktionalität selbst zu ändern, ohne Änderungen am Client (und ein damit verbundenes Rollout) vornehmen zu müssen.
Nun stellt sich die Frage, über welches Protokoll kommuniziert wird. Dies wird in sogenannten Policies festgelegt.
Wie erfolgt nun der Ablauf der Kommunikation?
Die Kommunikation erfolgt prinzipiell durch das Versenden und Empfangen von Nachrichten. Diese enthalten Daten und keine Objekte. Der Austausch erfolgt über sogenannte Endpoints die vom jeweiligen Service bereitgestellt werden. Ein Endpoint besteht aus drei Teilen:
- Adresse
- Binding
- Kontrakt
Die Adresse definiert, wo der Endpoint zu finden ist. Das Binding beschreibt, wie der Endpoint aufgerufen wird und der Kontrakt (wie bereits weiter oben beschrieben) definiert welche Operationen angeboten werden.
Weitere Informationen zu diesem Thema können unter folgenden Links gefunden werden:
SOA - Wikipedia
Service Oriented Architecture - Microsoft
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Aspect Oriented Programming
08.02.07 - Entwicklung, Diskussionen Beitrag von Norbert Eder
Kostenlose Code Coverage Tools
27.01.07 - Entwicklung, Diskussionen, Software Testing Beitrag von Norbert Eder| | Was ist Code Coverage?
Die Code Coverage Analyse wird zusammen mit Unit Tests eingesetzt. Durch sie wird überprüft, welcher Anteil des Sourcecodes durch Tests abgedeckt wird. Dadurch kann weiters festgestellt werden, welche Bereiche nicht abgedeckt sind und hat so die Möglichkeit, dafür entsprechende Unit Tests zu bilden. Insgesamt wird durch den Einsatz der Code Coverage Analyse die Qualität der Unit Tests verbessert.
Kostenlose Code Coverage Tools für .NET?
Kommerzielle Produkte zu diesem Thema gibt es einige, jedoch auch kostenlose Tools sind verfügbar.
NCover ist eines dieser kostenlosen Tools und steht aktuell in der Version 1.5.5 beta zur Verfügung, welche jedoch nur mit dem .NET Framework 2.0 zusammenarbeitet und nicht abwärtskompatibel ist. Dazu muss zu einer älteren Version gegriffen werden. Für eine komfortablere Auswertung der Berichte bietet sich der kostenlose NCoverExplorer an.
Eine weitere Variante stellt PartCover dar. PartCover unterscheidet sich in einigen Bereichen von NCover, leistet jedoch auch gute Dienste.
Lohnt sich der Einsatz?
Egal ob nun ein kostenloses Code Coverage Tool oder ein kommerzielles eingesetzt wird, insgesamt wird die Qualität der Unit Tests und somit der gesamten Software erhöht. Daher: Sehr empfehlenswert.
| | | 1 Kommentar
- 241 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Die sieben Gewohnheiten eines äußerst erfolgreichen, freiberuflichen Webdesigners - oder aller Entwickler?
17.01.07 - Entwicklung, Diskussionen Beitrag von Norbert Eder| | In der Übersetzung Übersetzung: Die sieben Gewohnheiten eines äußerst erfolgreichen, freiberuflichen Webdesigners von Stefan Nitzsche des Artikels 7 Habits of a Highly Successful Freelance Web Designer von Andy Budd werden einige interessante Punkte erwähnt, die zum einen nicht nur für Webentwickler gelten, nein, auch für den "Default-Entwickler" sind diese Punkte gültig.
Mit einem erwähnten Punkt habe ich jedoch so meine Probleme: Spezialisiere Dich.
Prinzipiell ist es ja wichtig sich zu spezialisieren, dennoch wird aus meiner persönlichen Erfahrung immer noch Allrounder bevorzugt. Viele Unternehmen können sich einen Spezialisten pro Fachgebiet einfach nicht leisten.
Es ist jedoch wichtig, Dich nicht auf Kosten Deiner anderen Fähigkeiten zu spezialisieren.
Wie soll das funktionieren? Eine Spezialisierung bedeutet jede Menge zeitlichen Aufwand. Zwangsläufig werden dadurch andere Fähigkeiten zurück gestellt und nicht weiter (oder im notwendigen Ausmass) gepflegt. Ergo stellt sich über einen längeren Zeitraum in den nicht spezialisierten Bereichen eine Verschlechterung ein.
Doch wie dem entgegenwirken? Welches ist die beste Strategie? Diese Fragen kann ich auch nicht beantworten. Jeder muss seinen Weg gehen und kann idealerweise die Dinge tun, die gefallen.
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Es muss nicht immer AJAX sein ...
14.01.07 - Entwicklung, Diskussionen, .NET, Grundlagen, ASP.NET Beitrag von Norbert Eder| | Wer AJAX nicht einsetzt ist doof. Hört man zumindest Vögel zwitschern. Aber es gibt auch andere Möglichkeiten.
Für viele Dinge ist es zudem auch gar nicht nötig, AJAX einzusetzen, da simple JavaScripts durchaus ausreichen. So ist vor dem Einsatz von AJAX darüber nachzudenken, welcher Zweck erfüllt werden soll und ob es nicht andere - einfachere - Lösungen gibt.
Wer zudem fit in C++ ist, hat die Möglichkeit auf binary HTML Components [1] zu setzen. Zugegeben, schon recht alt, aber funktioniert sehr flott - und ein riesiges Framework ist auch nicht notwendig.
Implementing Binary DHTML Behaviours
| | | Kommentar hinzufügen
| 0 Trackbacks
| Permalink | Trackback-URL |
Ist die VB-Community am Sterben?
13.12.06 - Entwicklung, Diskussionen Beitrag von Norbert Eder| | Erst kürzlich hatte ich eine große Diskussion wo sich User beschwert haben, dass zum Thema VB kaum mehr etwas Neues zu lesen ist, die Unterstützung fehlt und viele weitere Vorwürfe.
Woran das wohl liegen mag?
Nun, VB(6) ist anscheinend eben vom Aussterben bedroht. Viele haben auf .NET gewechselt, oder sind zumindest dabei. Kritische Projekte wurden ohnehin nihct in VB umgesetzt. So gesehen sprechen mittlerweile wenig Gründe dafür, VB einzusetzen.
Auf der anderen Seite muss auch erwähnt werden, dass im Internet zu so ziemlich jedem VB-Problem auch eine Lösung zu finden ist. Warum also diese Aufregung? Ist hier eine Google-Schulung notwendig?
Mittlerweile sollte doch jedem Entwickler klar sein, dass VB aktuell fast keine Existenzberechtigung mehr hat. Entweder man steigt auf .NET um, oder man wendet sich anderen Programmiersprachen zu. Für Anwendungen, die mit deinem Framework á la .NET, Java nicht sinnvoll umzusetzen sind, eigenen sich andere Sprachen ohnehin besser. Ich denke hierbei beispielsweise an C++.
Mir stellen sich aber dennoch einige Fragen zu diesem Thema:
1. Kann es in der Tat sein, dass viele Unternehmen noch auf alte (bewährte) Techniken setzen und sich vor neuen Errungenschaften (die mitunter gar nicht mehr so neu sind) verstecken?
2. Fällt es wirklich einigen Entwicklern schwer, sich auf neue Gegebenheiten einzustellen? Selbst wenn die Entwickler altersmäßig < 25 anzusiedeln sind?
3. Liegt es eventuell an der OOP die unter .NET bzw. Java angewendet werden sollte? Ist Software Architektur zu schwer zu verstehen?
Bis zu einem gewissen Grad kann ich Kundgebungen des Unmutes noch verstehen, aber es sollte niemand die Augen vor neuen Techniken verschließen. Eigenes Potential bleibt auf der Strecke und die dahinterstehenden Unternehmen können mit dem Punkt der Zukunftssicherheit nicht wirklich punkten. Und genau das könnte sich fatal auswirken. Vielleicht nicht sofort, aber bald ...
Viele scheuen auch davor zurück, sich externe Berater zuzulegen. Eventuell liegt es an den veranschlagten Honoraren, die doch in gewissen Fällen astronomische Höhen annehmen. Dennoch können auf diese Art und Weise gute Ergebnisse erzielt werden. Die eigene Software auf den aktuellsten Stand der Dinge zu bringen würde definitiv nicht zum eigenen Nachteil sein.
Im Vergleich zu dem was durch eine veraltete Technik an Einnahmen auf der Strasse bleibt, kostet ein Experte eigentlich gar nichts ...
Aber zurück zum Thema: VB stirbt vor sich hin und es wundert mich nicht. Entsprechende Entwickler sollten sich lieber mit der aktuellen Technik beschäftigen und sich selbst auf Vordermann bringen, anstatt ihren Unmut in diversen Foren kund zu tun. Sicher ist sicher.
| | | 6 Kommentare
- 822 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL |
Frauen in der IT
06.11.06 - Entwicklung, Diskussionen Beitrag von Norbert Eder| | Nein, jetzt kommt kein Witz, sondern ein wirklich ernstes Thema.
Ich kenne einige Frauen die in der IT beispielsweise als Softwareentwickler tätig sind und viele klagen über dieselben Probleme. Dies fängt bei Mobbing an und geht hin bis zur unstellten Unfähigkeit, fehlendes Logik-Verständnis usw. Männer werden in dieser Branche immer noch als die besseren Fachkräfte angesehen und genauso behandelt.
Bei genauerem Hinsehen ist dem aber oft nicht so. Schwarze Schafe gibt es überall und pickt man sich diese aus dem Haufen der Entwickler, stehen wir Männer vermutlich ganz schön dumm da.
Was ich aber damit sagen will ist folgendes: Wir sollten uns alle am Riehmen nehmen uns es ausnahmsweise mal so halten, wie es auch der Computer tut: Er macht auch keinen Unterschied, nur weil die Person, die in die Tasten haut, Brüste hat. Sauberer, korrekter Code ist gefragt und das schaffen auch Frauen.
Meiner Erfahrung nach sind Frauen einfach wichtig für ein Team, weil sie uns Männer wieder auf den Boden der Realität holen und für Ausgleich sorgen. Kein Ding, welches abschätzend behandelt werden muss.
Es wäre nur allzu schön, wenn sich die paar wenigen Pseudo-Machos darüber Gedanken machen würden und vor dem nächsten Spruch vielleicht einmal kurz ihr Hirn einschalten.
Es war mir ein Anliegen, das los zu werden!
| | | 10 Kommentare
- 1219 mal angesehen
| 0 Trackbacks
| Permalink | Trackback-URL | Zurück Weiter
|
|
|
|
|
|
|