Archiv der Kategorie ‘Software Entwicklung‘

 
 

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

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.

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.

Facebook Freunde mit der facebook-java-api

facebook_connectEinen Einstieg in Facebookconnect mit der Java Library facebook-java-api hatte ich bereits gegeben.
In diesem Artikel ein kleines Beispiel, wie man nach dem Connect Zugriff auf die Freundesliste bekommt.

Den ganzen Beitrag lesen…

Authentication mit Facebook Connect

facebook_connectFacebook Connect ist eine Möglichkeit, Benutzer über ihren Facebook Account auf einer eigenen Webseite zu authentifizieren.
Welche Idee dahinter steckt, was Single-Sign-on ist und was für Möglichkeiten es bietet, kann man sich unter den Links am Ende des Artikels genauer anschauen.


Den ganzen Beitrag lesen…

Twitter, Twitter4J und OAuth

Twitter4J ist eine Java Library, mit der man auf die API von Twitter zugreifen kann. Die ersten Gehversuche schafft man mit der Dokumentation auf der Webseite ganz gut. Gibt man die eigenen Benutzerdaten des Twitteraccounts im Quelltext an, kann man schon auf einige Daten zugreifen.
Der folgende Quelltext holt die letzten Tweets der Friends-Timeline:

Twitter twitter = new Twitter("gniwerg","geheim");
List<Status> statuses = twitter.getFriendsTimeline();
System.out.println("Showing friends timeline.");
for (Status status : statuses) {
    System.out.println(status.getUser().getName() + ":" +
    status.getText());
}


Den ganzen Beitrag lesen…