From Java to AngularJS (without pain)

At the jQuery Conf in Berlin (December 2015) and at the Rubyslava Meetup in Bratislava (17.3.2016) I was presenting my talk “From Java to AngularJS (without pain)”.

jQuery Conf


jQuery Conference Berlin 2015



Rubyslava Meetup March 2016

This is a (pretty shitty, sorry for that) video of my talk at Rubyslava – btw no, I’m still not a Ruby developer ;)

Talk Summary

The “Superheroic JavaScript MVW Framework” AngularJS is a state of the art JavaScript tool for single page web applications that offers a lot which JS alone does not – namely structure. As Java Developers we like the law and order of object oriented Java with all its tools; so I would like to show how pleased I was after discovering AngularJS for front end development (instead of JSF or Spring MVC).

My slides

Full abstract of the Talk

The “Superheroic JavaScript MVW Framework” AngularJS is a state of the art JavaScript tool for single page web applications that offers a lot which JS alone does not – namely structure. As Java Developers we like the law and order of object oriented Java with all its tools; so I would like to show how pleased I was after discovering AngularJS for front-end development (instead of JSF or Spring MVC).

In my presentation I will give a short introduction on basic principles of MVC in Java and point out some common solutions (JSP, Spring MVC…). Then I will continue with a description of AngularJS (Google yay!) and how client-side model–view–controller (MVC) can be achieved with Angular. Next I am going to show you how structure will be enforced by using extended HTML and JS vocabulary with modules, directives, and controllers (ng-what?? no JS/HTML mix). I will continue by answering the question of the implementation of the back-end (REST via jQuery) and add an overview of supporting state of the art frameworks (npm FTW!, bower, gulp, less, coffee script / jasmine, jade, bootstrap, lodash…). I am going to finish with some best practices and the downsides of Angular (no pain, no gain).

This talk is suitable for (intermediate and higher) Java (or JS) front-end developers who are eager to try out new front-end frameworks and principles. Some code examples will be presented on slides. If there is enough time left, I’ll show a live demo.

What’s next?

As speaker I’m going to have a keynote about “Simple Mobile Development With Ionic” at We Are Developers in Vienna April 13!

Upcoming Babe Tour Dates:
– 13.04. We Are Developers Conference – Ionic
– 26.04. Demo Night #4 –
– 27.04. ViennaJS Meetup – Ionic
– 11.05. AngularJS Meetup – Ionic

Also I plan to visit some conferences such as the Craft conference in Budapest.

So stay tuned :)

Posted in konferenzen | Tagged , , , , , , | Leave a comment

42 Things You Should Have Done At The TECHNICAL University


I came across a list of 101 things you should have done during studies (German) recently and I thought, that it’s more of a list of fun things to do during your studies of social sciences but not so much technical ones. That’s why I made my own list*:

  1. Attend the lecture “Theory of Relativity 101” and frequently ask “Why?”
  2. Install games on your pocket calculator.
  3. Turn off your computer and try to research a current topic only with books from a public library.
  4. Try to wake up a professor, who fell asleep during your presentation with a sudden enthusiastic expression.
  5. Go to an exam about “Mathematical Logic” without preparation, because it’s “only logic”. Fail.
  6. Fall asleep during “Electrical Engineering” at 8 o’clock in the morning.
  7. Wake up during “Technical Mathematics” at 10 o’clock in the morning.
  8. Get offered a Schnaps by a professor because he thinks you are too nervous.
  9. Get in a fight with a professor about the integrity of science.
  10. Bash social sciences because they’re not “real” science. Get convinced of the opposite.
  11. Get left behind in a laboratory after opening hours.
  12. Join a group of nerds.
  13. Spend 5 days in a row preparing for an exam and oversleep on the day it actually takes place because you are too tired.
  14. Go to the library for socializing and not for reading.
  15. Get old exams from the Student Council (Austrian: “Fachschaft”).
  16. Figure out far too late that all the mathematical courses are easier at non-technical universities than at your university and that you could have completed them there.
  17. Learn to read the cryptic handwriting of an eccentric professor.
  18. Disagree with your professor.
  19. Agree with your professor.
  20. Know at least the first 10 digits of Pi by heart.
  21. Make friends with the librarian.
  22. Make friends with your favorite (grumpy) waiter at your favorite coffee house.
  23. Play hooky a lecture and discuss the matter with your fellow students.
  24. Write a technical paper and only use the feminine form.
  25. Attend an super important scientific conference at a very pleasant place such as Hawaii.
  26. Learn how to program. Even if you don’t study computer sciences.
  27. Let other fellow students copy from you during a course.
  28. Study a semester abroad at a university that is on the other side of the world.
  29. Don’t do anything for your studies for an entire semester. Really nothing. (Can be combined with 28.)
  30. Learn to use LaTeX – hate it first but fall in love with it later.
  31. Win a price for your master thesis and spend the price money with your friends in a bar.
  32. When a tutor discusses the wrong layout of your paperwork, try to convince him that it was the printer’s fault.
  33. Correct a scientific Wikipedia article.
  34. Work as a tutor and teach freshmen.
  35. When you finished your thesis and still have some time left during the semester take a random course – because you paid for the whole semester.
  36. Take at least one course about “Soft Skills & Gender Studies”.
  37. Invite your thesis supervisor for a drink after your defensio.
  38. Spill your coffee over the “Maths Basics” book. On purpose. Alternatively burn it.
  39. Submit a paper containing only lorem ipsum for peer review to a scientific conference.
  40. Get good grades at the “Analysis II” exam although you never ever will need it again in your entire life.
  41. Write a cheat sheet with formulas. Then write it again but smaller. And then smaller again. And again. Until you memorize it.
  42. Read The Hitchhiker’s Guide and use the number 42 as often as possible.

And what was the funniest thing you did at the university?

* I accomplished some of these things during the ten years at the Vienna University of Technology, others I suggest you do.

Posted in artikel | Tagged | 1 Comment

Two Weeks After The Launch Of Our LIKE A HIPSTER App – Insights In Continuous Delivery


Kathrin already wrote about our first week, so I take the chance to update you on our second week after the launch of our LIKE A HIPSTER app.

It’s now been two weeks since our mobile app LIKE A HIPSTER hit the app store. LIKE A HIPSTER is a SOcial LOcal MObile app, that helps users find venues with a hipster vibe in their neighborhood. We pretty much went:

  • From idea to prototype in 3 hours
  • From prototype to launch in 24 hours
  • From launch to world domination in 7 days 14 days

So it was quite an exciting time and I want to share some thoughts I had during the past two weeks.

What’s Your Niche?

Have you ever watched Big Bang Theory? If yes, then you probably have a pretty good idea of what my life looks like at the moment. I (the Ami) have a temporary roommate. Her name is Kathrin and she’s a marketing guru, and the Penny (Don’t tell her I said that!).

Two weeks ago we had lunch together in one of our favorite restaurants and we discussed my current project the Hungry? app, a restaurant finder app based on the Foursquare and Yelp APIs I wrote because I got used to and bored of my common eateries and I wanted to discover new places resp. I wanted to get good restaurant recommendations when traveling. So I asked Kathrin about her opinion on the app and she said, that she likes it but she would not use it but use directly the Foursquare or Yelp apps instead. She would use it if there was some special attribute available… such as… (she glanced around in the restaurant)… hipster places! Suddenly our eyes popped and we got very excited about the idea, so we went home and started working on the “Hipster project”.

Let’s do this!

So we went home and I forked the source code of the Hungry? app. Kathrin did some research on a hipster logo and after a quick hack in Photoshop our corporate identity was fixed: pink, unicorn + cat = caticorn / unicat.

My first idea was to make a spin-off of the Hungry? app and to name the app “Hipster?” but Kathrin had a better idea and found out that was not taken. So she setup a Facebook page, Twitter, and Instagram account – later also a YouTube channel.

She also found a street art picture under CC license with a lumber-sexual guy and we adopted him as our “Hipster Oida” (literally “old hipster guy”) – our ambassador and face of LIKE A HIPSTER.


After forking the code I rebranded it, changed the colors and icons, added “hipster” as search term to the API calls, and set up the Google Play Store page.

We quickly launched the website, app, and other social media channels until the end of the day.

nexus5 (2) nexus5 (3) nexus5 (1)

Some insights and highlights:

  • Kathrin and I know each other already for some years but we never worked together. So it was thrilling to find out that we totally have the same working pace and enthusiasm about this project.
  • Kathrin’s texting skills were amazing! Just check out our website. We were sitting at my tiny kitchen table – I did the technical stuff, Kathrin wrote the pages for the website – every couple of minutes she started giggling about what she currently wrote. Especially our Testimonials site.
  • My Photoshop skills weren’t that bad as I thought.
  • We chose to give both of us the roles “C*O” because we actually did everything. Except our Head of Communication should become my cat Mica – because diversity.
  • Since I am a Java / Android developer I was not able to quickly produce an iOS app, so we decided to add a nice quirky joke to our website: We added an iOS download button but it links to a Nexus 5 in the Amazon webstore – meaning: “Looking for the iOS app? Get an Android phone instead!”

The Results Are In!

On the next day was my birthday and Kathrin surprised me with the app being featured on Product Hunt which was pretty cool – some people say Product Hunt is the next Tech Crunch…

We decided to be as transparent as possible about our processes so I set up a blog to write about our progress and share some insights. I also configured some ads for our app with Goolge AdWords with a Mickey Mouse budget of 5€ per day.

Kathrin wrote a (for my taste far too serious) press release and finally we received press coverage in

Additionally Singapore Airlines asked us if they could feature our app in their monthly magazine Silverkris!

And we got some really funny reviews in the Google Play Store and other reactions on twitter. My favorite:

I was (and am still) totally overwelmed with this positive feedback we got for our app. My key learnings:

  • You can NOT force your friends to upvote your on Product Hunt or review your beloved app on Google Play Store – unluckily some just don’t care (enough). I really didn’t expect that!
  • We got more revenue from the Amazon Link joke than with the app ads.
  • Finally we got “employees” (somehow): Besides my cat who works for cat food we bought an animated logo from fiverr (employee #4)

    and a pretty cool YouTube video (employee #5) that explains our app’s user interface (with music from
  • We had a photo shooting with Cliff because for press coverage we needed pictures of us two without holding a beer in our hands. But it turned out, that it was not such a good idea to take pictures of our tired 9 o’clock selves. So I think we should make some other pictures soon.

The brave 500

And than on Oct 13 it happened: We hit the 500 app downloads mark!


As I already mentioned we bootstrap our business and have no money what so ever but our private money to invest. Besides the 5€ a day marketing budget on Google AdWords I installed some cross-app “in house” promotions which are for free in AdMob. So on Hungry? there are ads for LIKE A HIPSTER and vice versa. And as you could see in the graph above we gained approx. 40-50 users each day. (I launched Hungry? two weeks earlier so I got about 630 downloads there so far – interestingly both apps are performing quite alike, although we thought that the user groups are different.)

And I figured out I love performance marketing. Some numbers:

  • We currently have an average of 60-70 active users per day.
  • 5 Best performing countries besides Austria

    • United States
    • Iraq (I really don’t know why!?)
    • Morocco
    • Bangladesh
    • Canada
  • Facebook ads are quite cheesy because we didn’t see any conversions there! So we disabled them again
  • Amazon earnings so far: ~75$
  • AdMob earnings: ~15€
  • AdWords spendings: ~75€


And Now?

Implement new features (rework of the UI to better match Material Design is done) and try to monitarize the app further. Catching good press coverage and submitting the app to app review sites. And I really need to take off a week or two to implement the iOS app – we’ve obviously got a really high demand for iOS.

Continuous Delivery

One word (or two) about Continuous Delivery.

Continuity in delivery could be boon and bane. I try to release new versions with freshly handmade features as quickly to the market as possible. Meaning that the app needs to be updated every couple of days.

One of the downsides is that sometimes I release too early and unintentionally add some bugs (currently performance issues). Or the users got kind of used to old features and are now confronted with new ones (as with the Material Design makeover).

But as I always say: If you don’t continue enhancing your apps and stop developing, they die!

And I won’t let our baby die! So keep tuned for new features.

Posted in news | 1 Comment

Die neue Hungry?-App ist da!

Ich hab wieder eine neue Android App geschrieben :)


Bist du Hungrig und möchtest ein neues Restaurant ausprobieren? Einfach mit der Hungry?-App ein neues Lokal entdecken!


Um ein neues Restaurant anzuzeigen, einfach schütteln.

Die neue köstliche Hungry?-Android App gratis im Google Play Store runterladen!


Posted in news | Leave a comment

Move subfolder into new GitHub repo

Sometimes it happens that you want to outsource a sub directory from your GitHub repository to a separate new repository.

e.g. you have a structure like

# github repo

and want to have a new structure like this

# old repo

# new repo

This can be done super easy with only two commands (from

  1. in your original directory
    cd electrobabe
    git filter-branch --prune-empty --subdirectory-filter 
     chefbabe master

    The directory electrobabe now only contains the files of chefbabe.

  2. Push to your already created new empty repo:
    git push -f master
  3. Optional: Clean up (e.g. clone the original repo again) and to set your configs in /.git/config again
Posted in news | Leave a comment

Integration Test Coverage with Sonar

I love to develop test driven, but even more I love code analysis tools that show me what to improve. Sonar is quite “popular” and common for Java developers and I’m using it already for years in different projects.

If you want to see integration test coverage, you have to set the jacoco maven plugin together with the fail safe plugin in your maven config (pom.xml):

            <!-- integration tests -->
            <!-- for integration test coverage in sonar -->

      <!-- needs to be set for jacoco's forked process -->

argLine is used as additional param in the javaagent command line section jacoco uses (needs to be set, otherwise the maven opts are not set for the forked process – OutOfMemoryException and so on…). See jacoco’s documentation for details.

The result in Sonar is pretty amazing:


Posted in howtos | Tagged , , , , , , , | Leave a comment

Aus der Serie “Ich bin Ingenieur, ich kann das”: Wie man sein Nexus 4 repariert

keep-calm-and-trust-me-i-m-an-engineer-74[1]Als Ingenieur hab ich keine Scheu davor, Geräte und Maschinen auseinander zu nehmen. Die  Eingeweide von Computern und Notebooks sind mir bestens bekannt, meine Vespa kenne ich auch nackt, letztens musste der Geschirrspüler dran glauben und alles, was zu schrauben war, habe ich in meiner Wohnung selbst erledigt. Allerdings ist es ein wenig spannender, ein Smartphone auseinander zu nehmen, weil alles super filigran ist und auf kleinstem Raum angeordnet.

Nach dem ich wiedermal das Display meines Handies durch Ungeschick zerbrochen habe, dieses mal aber leider nicht nur das Glas, sondern das gesamte Display, habe ich auf Ebay nach einem Ersatzteil gesucht und bekam es “prompt” nach einem Monat aus China geliefert. Natürlich ist man da skeptisch, wenn man ein Nicht-Originalersatzteil aus dem Land der aufgehenden Sonne geliefert bekommt, aber das macht es um so spannender. Nachdem ich mir bereits das Nexus 5 als Nachfolger gekauft hatte und das Ersatzteil gerade mal 35€ kostete, hatte ich nichts zu verlieren, denn ein zerstörtes Nexus 4 ist nichts mehr wert und eine Versicherung hatte ich nicht (jetzt schon!).

Also, Ersatzteil angekommen, alle winzigen Schrauendreher bereitgelegt und es kann schon los gehen!

Auf YouTube findet man diese Anleitung von, an die ich mich weitgehend gehalten habe:

Man braucht einen Föhn zum Erweitern des Metalrahmens. Weiters einen Kreuzschraubendreher und einen Torx T5 in Barbie-Größe, letzteren hatte ich bereits von einer anderen Reparatur, ich glaube an meiner Digitalkompaktkamera, bereits in meinem Tool-Sortiment. Außerdem ist es sinnvoll, das Gerät mit einem Plektron oder ähnlichem aus Plastik zu öffnen und nicht wie ich mit einem Buttermesser, dann hinterläßt man weniger sichtbare Spuren auf dem Gerät.







Die Reparatur hat etwa eine Stunde gedauert und ich denke, wenn ich das regelmäßig machen würde, könnte man das Gerät wohl in 10 Minuten reparieren. Ein Spaß war es allemal und der Patient hat überlebt und strahlt wieder in gewohntem Glanz.


Posted in howtos, technik | Tagged , | Leave a comment

Frauen in der IT – die helle Seite der Macht


Auf der hellen Seite der Macht

Frauen in der IT. Na, und?

Es vergeht ja kaum eine Woche, wo nicht wieder in irgendeinem Magazin, Radio oder Zeitung skandiert wird: “Oh mein Gott! Es gibt so wenig Frauen in der IT”. Meine Antwort darauf: Na, und?

Ebenso dieses ermüdende Gerede über Vereinbarkeit von Kind und Karriere oder die Frauenquote im Management… Ich arbeite seit 13 Jahren erfolgreich in der Branche und leite gerade mein drittes agiles Software-Entwicklerteam und ich mache das mit Leidenschaft. Keiner fragt mich, ob ich wegen einer Quote eingestellt bin, sondern ich mache das, weil ich gut bin. Vom Team werde ich unterstützt (und geliebt) und die Geschäftsführer schätzen mich. Was will man mehr?

Wenn ich jemanden neu kennenlerne und dann erzähle, dass ich Software-Entwicklerin bin, kommt zu 90% immer eine dieser beiden verblüfften Reaktionen:

  • “Was? Wirklich? Ich kann mit Computern ja gar nicht umgehen…”
  • “Was? Wirklich? Da gibt’s aber nicht so viele Frauen, oder?”

Auf die erste Phrase antworte ich gerne mit dem naheliegenden Witz: “Ich auch nicht! Aber verraten Sie es nicht meinem Chef!” und auf die zweite würde ich am liebsten gar nicht antworten. Natürlich ist Small Talk dazu da, um über das Offensichliche zu plaudern, aber wenn ich nur jedes Mal einen Cent für jedes verwundertes Gesicht über meinen Beruf bekommen würde… Naja, ich würde vermutlich eh weiter das gleiche machen, das ich auch jetzt tue!

Wieso müssen wir immer so einen riesen Wind drum machen, was sich von ganz von alleine auflösen wird? Ich denke, das ist alles nur ein aufgebauschter Sturm im Wasserglas.

Aber, wo sind die Frauen?

Wo sind die Frauen?

Heute (12.4.2014) bin ich am BarCamp Graz und war bei den Session vom App Dev Camp, wobei ich (wiedermal) die einzige Frau war. Bei den letzten ViennaJS Meetups war ich eine der wenigen weiblichen, wobei man schon sagen muss, dass einige Langhaarige (und einige mit Brüsten ;) ) dabei waren.

Es gibt löbliche Veranstaltungen wie Rails Girls, die Frauen/Mädchen das Programmieren näher bringen sollen, oder Digitalista, ein Netzwerk nur für Frauen. Aber meine Frage ist: Brauchen wir Frauen denn das alles wirklich? Unterstreicht diese Aussondierung nicht noch zusätzlich, dass wir es nicht von allein schaffen und extra Hilfe brauchen? Wozu positive Diskriminierung wie Frauenquoten etc.? Ich hab noch nie einen Programmierclub gesehen, der dazu da war, nur Buben zu fördern – und glaubt mir, Frauen sind unter Burschen IMMER mehr als willkommen. Man kann z.B. in den Hackerclub Metalab in Wien reingehen und sich aufgrund der reinen Anwesenheit bewundern lassen.

Wie wärs, wenn wir einfach einmal so tun, als wär es ganz normal, dass es Frauen in der IT gibt? Reden wir lieber über dieses komische Völkchen der Geeks und Nerds. Das ist viel lustiger!

Frauen haben Vorteile in der IT

Selbstverständlich gibt es Leute, die Vorurteile haben, das möchte ich gar nicht leugnen. Der “gewöhnliche Alltagssexismus” aufgrund anerzogener Konventionen gehört ja fast schon zum Leben dazu wie das Koffein zum Morgen, und ich denke nicht, dass sich das bald stark ändern wird. Zwischen Männern und Frauen gibt es nun mal signifikante (körperliche) Unterschiede, die man nicht wegdiskutieren kann, also bekämpfen wir diese bitte nicht, sondern respektieren wir Grenzen und leben wir damit zusammen. Unterschiede sind Ungleichheiten, aber diese sollen nicht wertend behandelt werden.

Während meiner drei Studien an der TU Wien bin ich benachteiligt wie auch bevorzugt worden. Es gibt da eine lustige Geschichte mit einem Statistik-Professor, die ich jedem gern mal bei einem Bier erzähle, wo mein (weibliches) Auftreten Eindruck gemacht hat. Klar gibt es Unterschiede, wie man behandelt und behandelt wird, aber vieles hängt eher meiner Meinung nach mehr von Sympathie als mit dem Geschlecht ab. Und das kann jeder als Vorteil nutzen.

Frauen haben ihre Reize, das ist klar. Objektiv gesehen sind sie einfach hübscher anzusehen und mit einem kleinen Anstoß kann man (als Frau) das auch Nutzen. Ich plädiere für eine breite Charmoffensive von uns Frauen statt dem Gefühl, sich durchsetzen zu müssen und extra auf “männlich” zu tun und imaginären Spielregeln nachzujagen.

Nachdem ich bei knallgrau gearbeitet hab, hat mir einer meiner Ex-Chefs auch gesagt, dass sie extra wieder eine Entwicklerin anstellen wollten, da es das Team sehr gut auflockert. Das kann ich nur bestätigen. Ich hab das Gefühl, dass es bei “Würstchenparties” einfach etwas gröber zugeht (Stichwort: Machogehabe, Alphatierverhalten… sorry für die Verallgemeinerung) und Teams generell besser funktionieren, wenn sie ausgewogen sind.



Interessant ist, dass in vielen Branchen Leute berichten, dass sich die Atmosphäre ab der Inklusion der ersten Frau ändert, viel stärker als bei jeder weiteren. Mit anderen Worten: Der Unterschied liegt darin, ob mindestens eine Frau im Team ist, nicht darin, wie viele es sind.

Man kann und soll Frauen in IT-Teams stecken, genauso wie qualifizierte Leute mit unterschiedlichen Hintergründen etc. Diversität ist immer eine Bereicherung!

Gendern heißt (nicht) Ändern

Und noch ein Wort zum Gendern: Ich glaube, dass das gerade nur ein pseudo-altruistischer Trend ist, der auf lange Sicht sich nicht bestand hat. Wieso Unterschiede suchen, sie betonen, und dann versuchen sie wieder umständlich aufzulösen?

Ich hatte auch Diskussionen, ob ich nun das Binnen-I bei meiner Dissertation verwenden soll, oder die doppelte Schreibweise (etwa “der Benutzer und die Benutzerin”) und habe schließlich komplett drauf verzichtet zugunsten der Lesbarkeit des Textes (wobei die dopplelte Schreibung mir locker drei Seiten mehr Text gebracht hätte). Also hab ich eine kurze Erklärung im Vorwort geschrieben. Das reicht für mich, denn ist es nicht Feministisch genug, überhaupt eine Diss in technischen Wissenschaften auf der TU Wien zu schreiben?

Vergesst die Unterschiede

Es geht nicht darum, dass Frauen bevorzugt werden oder nicht. Ich finde, das ist sowieso die falsche Frage. Der “Kampf der Geschlechter” soll einfach ruhen gelassen und am besten gleich vergessen werden.

Wie wär’s, wenn wir nicht unsere Zeit damit verschwenden, Unterschiede zu suchen, sondern uns um ein konstuktives Miteinander bemühen! Chauvinismus gibt’s und ich denk, den werden wir auch nicht los, aber es hilft nicht, darüber zu jammern, sondern als gutes Beispiel eigene Zeichen zu setzen. Wer Unterschiede erwartet, wird auch welche finden, ich finde allerdings die Gemeinsamkeiten interessanter. Und das “Problem” (das keines ist), dass zu wenig Frauen in der IT sind, wird sich ganz von allein lösen.

Zur Person:

Dr. Barbara Ondrisek hat drei Studien an der TU Wien abgeschlossen und arbeitet seit 2001 erfolgreich größtenteils als Freelancer in der IT als Senior-Software-Entwickler, Java/Android-Entwickler und Scrum Master. Ohne “in” ;)

Posted in news | 1 Comment

Ein Plädoyer gegen Outsourcing


Nachdem ich immer und immer wieder mit Argumenten für Outsourcing – oder auch “Near-/Off-Shore Development” oder wie man es auch immer nennen schönreden möchte – überschwemmt werde, möchte ich nun ein für alle mal klarstellen: Outsourcing ist eine schlechte Idee.

In meiner Heimat, der Software-Entwicklung, bedeutet Outsourcing, dass die Entwicklung (oder ein Teil davon) an einen meist geografisch deutlich entfernten und preislich (zumindest auf den ersten Blick) äußerst begünstigten Ort ausgelagert wird. Nicht zu selten kann es sich dabei um eine (Tochter-)Firma in einer indischen (in Bangalore haben IBM, HP, Accenture etc. Niederlassungen), kanadischen, irischen oder einer auch (nah-)östlichen Stadt handeln. So kann man sich Software in vermeintlich lukrativen, weil anfangs deutlich kostengünstigeren, (Sub-)Unternehmen erstellen lassen.

Warum überhaupt?

Nicht selten wird outgesourced, da das Know-How im eigenen Unternehmen fehlt und ebenso die Zeit, dieses aufzubauen. So werden als Quick’n’Dirty-Alternativen Dienstleister engagiert, die das Gewünschte anbieten und mit einem Stundensatz bestechten, der bei vielleicht nur einem Drittel von dem in Österreich/Deutschland liegt. Auf dem Prinzip der Auslagerung basiert ja eigentlich die gesamte IT-Branche, da Aufträge an andere vergeben werden und gern für ein fertiges Produkt inkl. Gewährleistung gezahlt wird – ein sowieso vollkommen veralteter Gedanke, Software als in sich abgeschlossenes Werk zu betrachten. Denn Software lebt! Wird Software nicht mehr weiterentwickelt, stirbt sie fast augenblicklich.

Häufig wird Outsourcing so eingesetzt, dass billige “Fachkräfte” eingekauft werden, um einen Engpass im Unternehmen auszugleichen. So wird ein Teil der Entwicklung dann vielleicht nach Bangalore ausgelagert, aber das Management bleibt in Wien. Dabei werden aber oft einige Kosten nicht mitgerechnet, wie der Mehraufwand in der Qualitätssicherung, der Kommunikation oder der (Wieder-)Eingliederung des Know-Hows in das Unternehmen. Kurzfristig lassen sich sehr wohl Kosten reduzieren, aber langfristig halst man sich ein teures Problem auf, das man vermeiden hätte könnten.

Die Lüge

Was häufig bei Outsourcing zugunsten der hübsch niedrigen Zahlen für den Entwicklerstundensatz vergessen wird, ist:

  • Persönliche Kommunikation kann NICHT ersetzt werden.
    Im Sinne von Scrum sitzt das Entwickler-Team möglichst im selben Zimmer.
  • Kulturelle Unterschiede zwischen Entwicklern unterschiedlicher Länder.
    Das bedeutet vor allem Arbeitsmoral und Loyalität.
  • Verständigungsprobleme aufgrund unterschiedlicher Sprachen.
  • Der immer unterschätzte Koordinationsaufwand.
    Wenn wir Entwickler schon schwer verstehen, was das Marketing will, obwohl wir beim selben Meetingraum sitzen…
  • Know-How-Verlust.
  • Höherer Planungsaufwand.
    Auch nach Fertigstellung des Projektes zur Reintegration ins auftraggebende Unternehmen.
  • Enorme Qualitätssicherungskosten.
    Zumindest das Userinterface muss erneut wieder von einem deutschen Native Speaker überprüft werden. Rechtschreib- und Grammatikfehler werden nicht erkannt.
  • Verlust des informellen Informationsaustausches.
    Plauderei beim Mittagessen etc.
  • Schlechtes Image.
    Die Zeiten, als Outsourcing noch als gute Möglichkeit gewertet wurde, sind definitiv vorbei.
  • Verlagerung der Wirtschaftsleistung weg ins Ausland.
    Besonders gefällt mir die Beschreibung bei der Vergabe des Negativpreises des Unwort des Jahres (und das war schon 1996!):
    Imponierwort, das der Auslagerung/Vernichtung von Arbeitsplätzen einen seriösen Anstrich zu geben versucht”

Outsourcing macht meines Erachtens nur Sinn, wenn:
– es sich nicht um das Kerngeschäft des Unternehmens handelt,
– es ein in sich abgeschlossenes englischsprachiges Projekt handelt (und alle “Externen” auch gut Englisch können),
– nicht agil entwickelt wird (allerdings sowieso eine Todsünde – Ich schlafe ja bekanntlich mit dem Agilen Manifest unter dem Kopfkissen. Und das ruhig und sehr zufrieden).

Machen wir es richtig!

Die Alternative zu Outsourcing liegt somit auf der Hand: Aufbau eines qualifizierten (agilen) Teams als eigene Abteilung oder Subunternehmen in unmittelbarer Nähre zum Produktmanagement statt Ausgliederung. Sollen einzelne Mitarbeiter (kurzfristig) ersetzt werden, dann können das gern externe sein, die sich aber möglichst stark ins Team integrieren (Anwesenheit). Outsourcing sollte nur im äußersten Notfall in Erwägung gezogen werden, und am besten nicht mal dann. Lieber qualifizierte Software-Entwickler einladen und Know-How im eigenen Unternehmen aufbauen. Versteht mich nicht falsch, ich bin nicht eine, die glaubt, dass ihre Mitarbeier nur dann arbeiten, wenn ich sie sehe. In einem gut eingespielten Team kann Homeoffice durchaus üblich sein… aber das zu erörtern sprengt nun hier wohl den Rahmen.

Ich liebe und lebe agile Software-Entwicklung und arbeite gern eng mit meinen Mitarbeitern, Kollegen und Kunden zusammen. Als Scrum-Master kenne ich die Vorteile von Transparenz, Kommunikation und Innovation und bringe diese täglich zum Einsatz.

Naja. Und falls jemand diesbezüglich eine Beratungsleitung von mir in Anspruch nehmen möchte… Nun ja, ihr wisst ja, wo ihr mich findet. ;)

Update: Ein weiterer Artikel im Standard gegen Outsourcing in öffentlichen Vergabeverfahren


Posted in technik, work | Tagged , , , , | 4 Comments

Java: break, continue, return in Loops

Although this is pretty basic Java functionality I often have to look this up, because I confound these calls, esp. break and continue. So this is my cheat sheet:


for (..) {
  // leave loop immediately


for (..) {
  // continue loop with next iteration


for (..) {
  // leave calling method

Posted in howtos | Tagged , , , , , , , | 1 Comment