Monatsarchiv für Dezember 2010

 
 

Die Realität im Alltag des Entwicklers

Im JAXcenter werden die “10 schmutzige Geheimnisse aus dem Entwickler-Alltag” enthüllt ;-)
Die Artikel stützt sich auf den Orginalbeitrag von Jason Hiner “10 dirty little secrets you should know about working in IT“.
Meine Favorit ist ganz klar:

Deine Nicht-Entwickler-Kollegen werden dich mit Problem mit ihren Heim-PCs belästigen

Der Rest ist schon irgendwie pessimistisch, mit allen würde ich so nicht übereinstimmen. Ist wohl auch die Frage, welchen Arbeitgeber man hat.
Der deutsche Artikel hat nicht ganz so viel Resonanz bekommen wie das englische Orginal. Dort sind eine Menge von Kommentaren eingegangen.

Frei übersetzt steht in den Kommentaren sowas wie

Bei guter Arbeit entwickelst du dich aus dem Job, weil du nicht mehr gebraucht wirst, also programmiere andere aus dem Job

Wenn du mehr als 2% mehr Gehalt haben willst, wechsle die Position und/oder den Arbeitgeber

Weiterbildung geht von deiner Zeit ab. Die Firma wird dir nichts zahlen, weil es nur in deinem Kopf bleibt

Die besten Entwickler sind auch immer die seltsamsten

oder

Ich bin nicht hier um den Neuen einzulernen

Entwickler-Magazin: Soziale Netzwerke 2.0

Am 08.12.2010 ist das neue Entwickler-Magazin erschienen. Ein Arbeitskollege und ich haben für diese Ausgabe einen Artikel geschrieben:
Soziale Netzwerke 2.0 – Social Media API
Der Artikel gibt eine Einführung von der Bedeutung von offenen Schnittstellen und wie Facebook und Twitter u.a. dadurch zu Marktführern geworden sind. Weiterhin wird der Begriff Social Media API erläutert und an einigen Einsatzszenarien demonstriert, was mit der Verknüpfung von Plattformen über die Schnittstellen möglich ist.
Im zweiten Teil wird OpenSocial vorgestellt und welche Ziele das Konsortium hinter dieser Entwicklung hat. Ein Beispiel zeigt einführend wie man plattformübergreifende Applikationen für Social Media Dienste entwickeln kann.

Der Artikel in dieser Ausgabe ist sozusagen eine Lightversion eines Artikels, welches wir für das Java Magazin geschrieben haben. Dieser wurde bereits in der Oktober Ausgabe veröffentlicht. Zusätzlich zu den oben beschriebenen Themen werden in der Java-Magazin-Version noch Einstiegsmöglichkeiten für Java Entwickler beschrieben und die Vielfalt an Frameworks und SDK’s, die für Java existieren, gezeigt.

Für mich persönlich war es die erste Veröffentlichung in einem Fachmagazin und besonders gefreut hat mich, dass die Redakteurin vom Java Magazin über diesen Blog auf mich aufmerksam geworden ist.

Java ist auch eine Insel

Java ist auch eine Insel” ist in der 9. Auflage erschienen. Der Galileo Verlag stellt das Buch kostenlos Online und zum Download zur Verfügung.
Das Buch kann als Standardwerk für die Java Programmierung angesehen werden. Es ermöglicht einen umfassenden Einstieg und dient mit der Volltextsuche als gutes Nachschlagewerk. Es werden die wichtigsten Standards besprochen, sowie Spezialthemen wie XML, JSP, JDBC oder Reflections.
Interessant für den Einsteiger sind die Übungen zum Buch. Aufgaben gibt es zu jedem Kapitel und die Lösungen werden gleich in Java-Code präsentiert.
Für Java Entwickler, die sich weiterbilden möchten, würde ich noch folgende Bücher aus dem openbook Programm empfehlen:
Objektorientierte Programmierung: Das Buch gibt einen Überblick über Konzepte der Objektorientierung, Entwurfsmuster und Architekturen (z.B. das MVC Prinzip)
Java 2: Designmuster und Zertifizierungswissen: Das Buch ist zwar schon etwas älter, die Konzepte von z.B. logischen Operatoren, UML Modellierung und Reflections sind aber immer noch aktuell.

Gründe für eine offene Schnittstelle

John Musser von ProgrammableWeb nennt fünf Gründe, warum sich der Einsatz von offenen Schnittstellen (”Open APIs”) für Unternehmen lohnt:

Geld verdienen
60% von neuen eBay Auktionen werden über die eBay API eingestellt. Das Unternehmen verdient bei jeder Transaktion darüber mit.

Geld sparen
Auf der anderen Seite können Unternehmen Geld sparen, wenn sie andere APIs nutzen. Die Amazon S3 API kann Firmen helfen, ihre Speicherkosten zu senken.

Markenaufbau
Google hat mit der eigenen Google Maps API ein Mashup entwickelt, nämlich Google Maps, welches nicht nur eine Bereicherung für das gesamt Web war, sondern auch eine unglaubliche Verbreitung des Googles Logos gebracht hat.

Der Weg in die Cloud
Salesforce bietet mit der Salesforce.com API eine komplette Entwicklungsumgebung für Cloud-Anwendungsentwicklung zur Verfügung. Für andere Unternehmen ist das ein günstiger und schneller Einstieg in die Cloud.

Plattformübergreifend
Hat man bereits ein gutes Produkt oder Service kann eine API den Weg für andere Plattformen öffnen. Mit der Bereitstellung einer API steht der Service von Netflix auf über 200 verschiedenen Geräten zur Verfügung.

Wer sich noch weiter in die Thematik Open API Ecosystem einlesen will, dem sei die Präsentation von John Musser empfohlen

Weitere Links gibt es in meiner Linksammlung Developer Seiten von API Anbietern

Fehler vermeiden

Mit dem Artikel Als Entwickler “Besser werden” habe ich drei Möglichkeiten genannt, wie man seine Fähigkeiten als Programmierer verbessern kann: Die Methoden waren Pair Programming, sich an Grundsätze des Clean Code Develoments halten oder die Sache pragmatisch ala Hunt anzugehen.

Eine andere Möglichkeit besteht darin, typische Fehler zu vermeiden. Ein Artikel im JAXcenter beschreibt “10 Fehler, die jedem Programmierer unterlaufen”. Einige Fehler sollten jedem klar sein, wie sprechende Variablennamen zu benutzen oder nicht tausende von Zeilen in eine Methode zu stopfen. Insgesamt wäre die Liste in sichtbarer Erreichbarkeit bei der Entwicklung gar nicht so deplatziert.
Der 10. Punkt nimmt dann meinen Vorschlag wieder auf: Weiterbildung ;-)

Als Entwickler “Besser-werden”

Gute Software erfühlt nicht nur die gewünschten Anforderungen und Funktionen. Wichtig ist auch die Qualität der Software, also auch die des Quelltexts.
Gute Software ist auch, wenn neue und unbekannte Anforderungen leicht implementiert werden können, wenn andere Entwickler den Code verstehen und erweitern können und man selbst noch nach Monaten versteht, was man da überhaupt entwickelt hat. Das alles fasst man unter dem Begriff Wartbarkeit zusammen.
Um sich als Entwickler persönlich weiter zu entwickeln bieten sich verschiedene Möglichkeiten an. Entwicklungsmodelle wie Scrum oder Extreme Programmierung nutzen das Konzept des Pair Programming. Zwei Entwickler setzen sich zusammen an einen PC und lösen ein Problem. Dabei tippt einer in die Tastatur und entwickelt, der andere denkt mit und versucht zu folgen. Vor allem wenn Junior und Senior Entwickler zusammen sitzen, kann der Junior doch einiges lernen.
Die Initiative Clean Code Developer versucht zu vermitteln, was professionelle Entwicklung ausmacht. Demnach sollte sich ein Entwickler mit seiner Arbeit und Werkzeugen bewusst auseinandersetzen und nicht einfach nur versuchen die Chefs oder Kunden zufrieden zu stellen. Unter dem Aspekt, dass „gute Softwareentwicklung“ nicht einfach zu definieren ist, beschreibt die Webseite einen gemeinsamen Nenner und versucht einen Qualitätsstandard zu definieren. Obwohl die Seite sich an .NET Entwickler richtet, kann man auch als Java Entwickler sich einiges von dem Wertesystem ansehen. Etwas nerdhaft finde ich die Idee, die „Grade“ eines Entwicklers mittels bunter Armbänder zu zeigen.
Ein weiteren Einstieg in zur persönlichen Weiterbildung erhält man in Andrew Hunt’s Buch Der Pragmatische Programmierer. Das Buch ist locker zu lesen und gibt eine Menge Ideen und Tipps mit, wie man mit einer pragmatischen Einstellung und der Lust am Weiterlernen bessere Software entwickelt kann.