Journalist. Digital strategist for TagesWoche.

Als Journalist programmieren lernen – eine Bilanz (und vielleicht eine Anleitung)

December 28, 2012 (updated on March 7, 2014)

#CodeYear

Read this article in English

Das Jahr ist zu Ende und mein #CodeYear-Fortschrittsbalken steht bei 100%. Ich kann nun, an Journalisten-Massstäben gemessen, programmieren. An Programmierer-Massstäben gemessen kann ich: nichts. Dieser Blick auf den grossen Kontext ist wichtig, aber keineswegs entmutigend. Im Gegenteil.

Ziel meines Projekts war nicht, mich anschliessend bei Facebook als Programmierer zu bewerben. Sondern meinen Erfahrungshorizont als Journalist zu erweitern, neue Möglichkeiten zu erschliessen und schlicht auch: mal wieder etwas ganz Neues zu lernen. Darum kann ich ohne zu zögern bilanzieren: Es hat sich gelohnt. Programmieren zu lernen ist bereichernd, ich empfehle es weiter. Gleichzeitig hat sich im Laufe des Projekts meine Antwort auf die Frage, ob Journalisten programmieren können sollten, verfeinert. Dazu aber später mehr.

Dieser Beitrag soll dokumentieren, wie mein «Programmier-Jahr» verlaufen ist, Schwierigkeiten aufzeigen, zentrale Erkenntnisse festhalten – und hoffentlich auf andere Journalistinnen und Journalisten motivierend wirken, es auch zu versuchen.

Das Projekt

Am 8. August 2011 habe ich öffentlich angekündigt, dass ich zu programmieren lernen werde. Meine Voraussetzungen: Ganz passable Kenntnisse im Umgang mit HTML und CSS und ein Faible für Mathematik und Logik (wer sich schon hier nicht mehr angesprochen fühlt: entscheidend waren diese Voraussetzungen nicht). Mit zwei Hauptproblemen war ich konfrontiert.

  1. Welches ist (für mich), der beste Weg, um einzusteigen?
  2. Was ist eigentlich mein Ziel?

Das Internet bietet heute Einsteigern nicht zu wenige, sondern zu viele verschiedene Möglichkeiten. Ich habe einige Tutorials gelesen, mir das Standardwerk «Java Script: The Definitive Guide» bestellt und einige Dutzend Videokurse von Treehouse absolviert. Nichts davon hat mir richtig zugesagt. Das Buch war zu abstrakt und zu kompliziert für einen absoluten Einsteiger, bei den Kursen von Treehouse hatte ich schnell das Gefühl, sie zu bestehen, obwohl nicht nicht alles wirklich verstanden habe. Abgesehen davon fehlte mir nach wie vor das fassbare Ziel.

Beide Probleme lösten sich schliesslich Ende 2011, als die Online-Lernplattform Codecademy das #CodeYear lancierte. Ich hatte nun ein Ziel (von dem ich zwar nicht genau wusste, wie es aussah, aber darauf vertrauen konnte, dass jemand sich etwas dabei überlegt hatte), eine klare Struktur (wöchentliche Lektionen) und die Hoffnung, nicht alleine da durch zu müssen (ja, ich schaue euch alle an, die ihr zum Jahreswechsel getweetet habt, ihr würdet beim #CodeYear mitmachen).

Learning 1: Setze dir ein Ziel und sprich immer wieder darüber. Den Druck wirst du gebrauchen können.

Der Einstieg ins #CodeYear

Programmieren zu lernen ist in vielerlei Hinsicht ähnlich wie eine neue Sprache zu lernen (was nicht erstaunlich ist: JavaScript, Python und Co. sind ja nichts anderes als Sprachen, um mit Computern zu kommunizieren). Entsprechend euphorisierend ist der Einstieg. Kaum losgelegt, kann man schon «Guten Tag» sagen console.log(“Hello World!”), auf Drei zählen 0,1,2 und sich ein Bier einschenken beer.full = true;

Codecademy gestaltet den Einstieg leicht und unterhaltsam. Man liest kurze Anleitungen und schreibt dann direkt Code in einen Editor. Schritt für Schritt wird man in diese neue Welt hineingeführt und hat gleichzeitig das Gefühl, bereits mittendrin zu sein (weil man eben nicht liest oder Videos schaut, sondern selber Zeile um Zeile programmiert).

Jeder Kurs ist in drei bis sechs Abschnitte unterteilt, diese wiederum in vier bis acht Programmierschritte. Die einzelnen Schritte sind klein genug, um nicht überfordert zu werden, in der Summe hat man aber jede Woche was Ordentliches programmiert, das sich nach Fortschritt anfühlt (die virtuellen Badges, die man sich verdient, tun ihren Teil dazu). Und es hat den für Berufstätige nicht zu unterschätzenden Vorteil, dass man jederzeit aussteigen und wieder einsteigen kann.

Learning 2: Als Lernplattform empfehle ich Codecademy. Im Januar startet das CodeYear 2013. Ein idealer Zeitpunkt, um einzusteigen.

Und dann nervt es unglaublich

Man sieht es meinen Badges an: Ende Januar habe ich aufgegeben. Das hatte einerseits damit zu tun, dass es sehr viel Disziplin braucht, sich neben 100% Arbeit noch zwei bis drei Stunden pro Woche freizuschaufeln, um am Computer Zeilen mit kryptischer Sprache zu füllen.

Es hatte aber noch mehr damit zu tun, dass sich das Erlernen einer Programmiersprache in einem Punkt wesentlich vom Lernen einer anderen Fremdsprache unterscheidet: Computer sind als Gegenüber verdammt unflexibel und erbarmungslos. Es reicht, eine }-Klammer am falschen Ort zu schliessen oder ein Semikolon zu vergessen, und die Kommunikation hakt.

Die ersten Wochen nach der ersten Euphorie sind darum nach meiner Erfahrung eine fiese Geduldsprobe. Die gefühlten Fortschritte sind minim, der Frust über bis auf ein Zeichen perfekt geschriebenen Code, der dann nicht funktioniert, riesig. Als würde man in einer Fremdsprache einen kompletten Dreigänger inklusive Getränke bestellen und der Kellner sagt «Nichts verstanden», bloss weil man den Namen des Weinguts falsch ausgesprochen hat (wenn ich’s mir so überlege, ist ein Kurzurlaub in Frankreich vielleicht eine gute Vorbereitung für das #CodeYear).

Learning 3: Die Wochen nach der Anfangseuphorie sind verdammt hart. Der Spass kommt aber wieder zurück.

Der zweite Anlauf

Ich brauchte bis im Juli, um mich wieder an die Sache heranzumachen. Hätte ich gewusst, dass der Einstieg deutlich leichter fällt und dass es nachher sehr schnell sehr viel besser wird, hätte ich nicht so lange gewartet. Ein paar Wochen Pause halte ich aber auch rückblickend nicht für verkehrt. Es hilft, die Grundprinzipien mit Variablen, Parametern, Funktionen und – ja, Satzzeichen – einsickern zu lassen. Und neue Frustrationstoleranz aufzubauen.

Beim Wiedereinstieg habe ich festgestellt, dass nicht nur vieles, was ich Anfang Jahr gelernt hatte, hängen geblieben war. Mehr noch, ich sah plötzlich vieles klarer, so dass ich in den kommenden Wochen sehr rasch voran kam.

Learning 4: Gönne dir nach dem ersten Scheitern ein paar Wochen Pause.

Github

Es war in erster Linie ein ironisches Statement, als ich mir im Juli einen Account bei Github (eine Art Social Network und Kollaborationsplattform für Programmierer) angelegt habe. Nach wie vor steht dort in meiner Beschreibung: «Journalist. Programming Toddler.»

Was ich mir tatsächlich von Github versprach: ein wenig ein Gespür für diese Community zu bekommen, die unsere ganze digitale Welt zum Laufen (und gelegentlich zum Abstürzen bringt) und die mit viel Engagement an Programmen arbeitet, die für den journalistische Arbeit wertvoll sind (siehe meine Sammlung auf Quora).

Wie sehr ich in den Monaten danach von Github und seiner Community würde profitieren können, ahnte ich jedoch nicht im Geringsten.

Learning 5: Lege dir ein Konto bei Github an. Und sei’s zunächst nur aus Selbstironie.

Das erste eigene Projekt

Am 7. Oktober hiess die Wochenaufgabe bei Codecademy: Programmiere dein erstes eigenes Projekt. Bisher war man Woche für Woche in kleinen Einzelschritten zu einem Endprodukt geleitet worden. Und nun war da ein leerer Editor und keine Anweisung, ausser: mach mal! Da war sie wieder, die Herausforderung, selber ein Ziel zu definieren. Bloss, dass es mir diesmal deutlich leichter fiel, dank einem klareren Verständnis davon, was Programmierung ist und was (mir) möglich ist. So entstand mein erstes selber programmiertes Tool, ein simpler Wordcounter.

Das erste Projekt ist eine Belohnung. Und eine Zäsur. Es fällt danach schwerer, sich wieder in die vorgegebenen Kursprogramme zu knien. Gleichzeitig weckt es die Lust, weitere, grössere Projekte in Angriff zu nehmen – mit der Gefahr, sich zu übernehmen. Ich habe beides gemacht: weiter brav Kurse durchgeackert und mir Projekte ausgedacht, die eigentlich nicht in meiner Liga waren.

Learning 6: Packe dein erstes eigenes Projekt an, sobald du das Gefühl hast, ein gewisses Mass an Kreativität einbringen zu können.

Ein Mentor IRL

Es gab im Verlauf des Jahres immer wieder Momente, in denen ich sehr froh war, jemanden zu haben,  der mir im direkten Gespräch Dinge erklären konnte, jemanden, dem ich viele dumme Fragen stellen konnte. Hannes Gassert hat sich glücklicherweise früh für meinen Effort, programmieren zu lernen, interessiert und mir wann immer nötig bereitwillig geholfen (du hast eine Flasche Wein bei mir gut). Er war es, der mir den lokalen Server auf dem Mac eingerichtet hat, der mir erklärt hat, wie Commits und Pull Requests auf Github funktionieren, und der mir Feedback zum (anfänglich natürlich fehlerhaften) Code für meinen Wordcounter gab.

Learning 7: Suche dir einen Programmierer, den du persönlich um Hilfe fragen kannst, wenn du nicht mehr weiter wisst.

Weitere Projekte und die entscheidende neue Dimension

Das erwähnte Projekt, bei dem ich mich (durchaus bewusst) übernommen habe, war Famous First Tweets. Ein einfaches Formular, um den ersten Tweet eines beliebigen Nutzers zu finden. Nichts, dass es nicht schon geben würde, aber etwas, um den Umfang mit Formularen weiter zu üben und um neu auch mit einer API zu arbeiten.

Es war rückblickend das Projekt, bei dem ich realisiert habe, dass das etwas wird mit dem Programmieren. Vieles kam zusammen, was für das erfolgreiche Entwickeln von Code-Projekten wichtig ist:

  • Ich war in der Lage, die für das Gesamtprojekt notwendigen Einzelteile, d.h. Funktionen zu identifizieren
  • Ich war in der Lage, diese Funktionen zu skizzieren
  • Ich war in der Lage, das Projekt als Repository bei Github hochzuladen und so Kollaboration zu ermöglichen
  • Ich kannte die nötigen Schlüsselbegriffe, um nach Codebausteinen im Netz zu suchen
  • Ich verstand bestehende Codebausteine gut genug, um sie in mein Projekt einzubauen

Dass das Tool «Famous First Tweets» nun tatsächlich funktioniert, ist diesen Faktoren zu verdanken – und der Tatsache, dass ein mir davor nicht bekannter britischer Programmierer (thanks, Matt!) via Github jene Bausteine zum Tool beigesteuert hat, die mir zu kompliziert waren.

Seitdem sind weitere Projekte hinzugekommen, die ich alle unter labs.davidbauer.ch sammle. Die genannten Faktoren haben bei all diesen Projekten eine wesentliche Rolle gespielt (man muss die Programmier-Welt nicht neu erfinden, schon gar nicht, wenn auf sich auf diesem Niveau bewegt).

Learning 8: Irgendwann kommt alles zusammen. Ab dann ist vieles möglich.

Was ich anders machen würde

  • Mit Python statt mit JavaScript anfangen. Die Syntax von Python ist intuitiver.
  • Keine fünfmonatige Pause einlegen und früher mit eigenen Projekten anfangen.
  • Mir weniger Sorgen darüber machen, ob die Beispiele nun etwas mit Journalismus zu tun haben.
Learning 9: Verkrampfe dich nicht auf den journalistischen Nutzen. Der erschliesst sich früh genug.

Also, sollten Journalisten programmieren können?

Die Antwort ist Nein. Aber kein Nein im Sinne davon, dass Programmieren nicht etwas ist, was Journalisten tun sollten. Ein Nein, genauso wie nicht alle Journalisten gute Reportagen schreiben können müssen, wie nicht alle Journalisten eine gute Radiostimme haben müssen oder wie nicht alle Journalisten fotografieren können müssen.

Journalismus ist ein weites Feld und die verschiedenen Journalistinnen und Journalisten zeichnen sich je durch eine einzigartige Kombination von Fähigkeiten aus. Die Fähigkeit, zu programmieren, wird dabei zunehmend an Bedeutung gewinnen.

Mein eigener Blickwinkel darauf hat sich insofern etwas verändert, als ich inzwischen weniger direkt als Journalist arbeite, sondern Konzepte und Strategien entwickle, um Journalismus im digitalen Kontext bestmöglich zur Entfaltung zu bringen. Dabei zeigt sich immer deutlicher: (Platt)Form und Inhalt lassen sich nicht mehr isoliert voneinander betrachten, gute Geschichten fügen sich nicht einfach in ein vorhandenes System ein, sondern loten die Möglichkeiten der Technik aus.

Wer programmieren kann, ist dabei im Vorteil. Es geht dabei gar nicht darum, dass Journalisten plötzlich ihre Zeit mit Programmieren verbringen sollen. Wenn es ernst gilt, sind sowieso echte Programmierer gefragt. Aber wer ihre Sprache versteht, dem erschliesst sich eine zusätzliche Dimension an Kreativität, die ins Endprodukt einfliessen kann. Er hat eine Vorstellung davon, was theoretisch möglich ist und verfügt über das Vokabular, um mit Programmierern darüber zu sprechen. Und ja, das eine oder andere kleine Tool kann er vielleicht tatsächlich selber entwickeln – weil nicht in jeder Redaktion ein Programmierer sitzt oder dieser sicher nicht immer verfügbar ist.

Learning 10: Programmierkenntnisse sind ein Alleinstellungsmerkmal für Journalisten und ermöglichen es, über bestehende Formate hinaus zu denken.

Die Tools, die ich nutze

  • Codecademy: Zum Lernen
  • Github: Zum Beobachten und um Hilfe bei meinen Projekten zu erhalten
  • Coda2: Zum Schreiben von Code
  • Twitter Bootstrap: Zum raschen Aufziehen neuer Seiten
  • Mozilla Developer Network: Um Nachzuschauen, was ich ständig vergesse
  • Twitter: Zum Teilen von Projekten und um Inputs und Feedback zu erhalten
  • Google: Zum Suchen nach Codebausteinen und Antworten auf all die 1000 Fragen, die ich noch habe

Lektüreempfehlungen


  • http://twitter.com/bene01 Benedikt K.

    Sehr schön! Vielen Dank für den angenehmen Text;. Ich habe mich vor einiger Zeit auf udemy.com angemeldet, Zielsprache war Python (auf Empfehlung eines Coaches IRL), allerdings bin ich nicht wirklich hängen geblieben. Ich möchte 2013 Python auf codeacademy versuchen und Dein guide/resumée ist eine gute Motivationshilfe! ;-)

  • http://twitter.com/ASterrer AngelikaS

    Danke auch für den spannenden und sehr informativen Artikel! Ich hatte gestern ein paar Minuten das Buch C++ für Dummes in der Hand. Was spricht dagegen mit C++ anzufangen beim Einstieg? Ist Python für komplette Anfänger wirklich am besten geeignet? Codeacademy werde ich mir sicher näher ansehen!

  • http://www.davidbauer.ch/ David Bauer

    Ich bin sicher nicht die richtige Person um zu beurteilen, welche Programmiersprache für Einsteiger am besten geeignet ist, dafür kenne ich zu wenige. Der Grund, warum ich bilanziert habe, dass ich mit Python anfangen würde, ist der: Das Codeyear beginnt mit JavaScript, später kommen Kurse zu Python dazu.

    Mir erschien Python intuitiver und ich hätte die beiden Programmiersprachen lieber in umgekehrter Reihenfolge kennengelernt. Python, so scheint es mir, macht es einem leichter, Grundprinzipien des Programmierens (wie Variablen, Funktionen, Methoden und Loops) zu verstehen.

  • http://twitter.com/sfkeller Stefan Keller

    Interessanter Blog.

    Letzthin habe ich den Trend zum Datenjournalismus “entdeckt” und realisiert, wie aktuell die Frage der Programmierung für Journalisten ist. Und wie gross die Überlappung von Datenjournalismus und Geovisualisierung ist: jedes zweite Beispiel an der letzten Datenjournalismus-Tagung in Zürich war eine interaktive Karte.

    Ganz eigennützig :-) möchte ich dich noch darauf hinweisen, dass ich Mitte Januar 2013 einen 2-Tageskurs zum “Python richtig lernen” anbiete und voraussichtlich im März einen zu TileMill (ein gäbiges Tool, um schöne Webkarten zu erstellen).

  • http://twitter.com/timetabling Karussell

    C++ ist nicht zum Einstieg geeignet, auch als ‘echter’ Programmiere tappt man dort oft in fiese Fallen (direkter speicherzugriff möglich, kein garbage collector, erblasten von C, etc). Ruby, Python aber auch Java mit guten IDEs wie Netbeans sind dem vorzuziehen.

    BTW: Eine wichtige info Quelle wurde hier auch noch nicht genannt: stackoverflow! (das bessere quora für devs)

  • aliceo

    c++ ist viel komplexer aber dafür fällt einem danach Alles viel leichter.

  • stefanolix

    Journalisten müssen nicht unbedingt in Python programmieren können. Was ich aber jedem Journalisten in Politik und Wirtschaft wünschen und nahelegen möchte: Kenntnisse in Statistik und in einem guten Statistikprogramm. Letztlich braucht man einige Grundprinzipien des Programmierens auch im kommerziellen SPSS und im OpenSource-Statistikprogramm “R”.

  • Matthias

    Das mit dem Programmieren (auch R und die Auszeichnungssprache LaTex) habe ich bereits mehr oder minder versucht. Meine neue Herausforderung heisst Fliegenfischen. Das ist mindestens so anspruchsvoll, weit variantenreicher, spielt sich in der Natur ab und ist nicht zuletzt deshalb ein super Ausgleich zum Journalistenalltag.

    http://www.youtube.com/watch?feature=player_embedded&v=HreyJ_okj8c

    http://vimeo.com/18147857

  • http://www.davidbauer.ch/ David Bauer

    Stimmt. Indirekt ist es genannt, da Google einen bei Programmierfragen sehr oft zu Stackoverflow schickt…

  • http://twitter.com/sfkeller Stefan Keller

    Python ist besser geeignet als z.B. C/C++ da es eine interpretierte Sprache ist (wie PHP und Java auch) und es viel Lernmaterial und Softwarebibliotheken dazu gibt.

  • http://twitter.com/backflip Thomas Jaggi

    EIn kleines Detail: w3schools hat eine sehr schlechte Reputation (siehe http://w3fools.com/ für Beispiele von unvollständigen oder falschen Informationen). Ich würde Quellen wie MDN (https://developer.mozilla.org/en-US/) in jedem Fall vorziehen.

  • http://twitter.com/NightLifeLover Nils

    Würde auch C++ als erste Sprache nicht empfehlen, es ist zu Komplex und man muss zuviel wissen. Python ist hier eine deutlich bessere Wahl. Ein weiteres Problem das C++ hat ist die viele schlechte Literatur die es dazu gibt. “C++ für Dummies” dürfte kaum gut sein, ich habe vor Jahren mal C für Dummies gelesen und kann das Buch wirklich nicht empfehlen.

  • http://twitter.com/smolotov Victor «Smoe» Bauman

    TTolles Projekt! Und Chapeau für den Durchhaltewillen!

    Nicht, dass Journalisten programmieren können sollten. Aber ich finde es schon sehr wichtig, dass sie sich mit Web-Technologien auseinandersetzten. Genau so wie Programmierer die in diesem Bereich arbeiten sich auch mit Journalismus beschäftigen sollten.

  • http://twitter.com/smolotov Victor «Smoe» Bauman

    Python und Javascript sind meine Hauptsprachen. Ich finde aber nicht, dass eine der Beiden generell besser ist zum Einstieg.

    Python ist aus meiner Sicht intuitiver, konsistenter und einfacher um die grundlegenden Programmierkonzepte zu verstehen. Aber Javascript hat den Vorteil, dass man schneller sichtbare Resultate hat. Eine HTML-Datei, ein bisschen Javascript, hochladen und schon hat man eine kleine App, die man stolz herumzeigen kann. :)

  • http://www.davidbauer.ch/ David Bauer

    Das deckt sich mit meinen Erfahrungen. Für alle Tools, die ich bisher gebastelt habe (http://labs.davidbauer.ch), habe Javascript verwendet.

  • http://twitter.com/jaheba Jasper Schulz

    Ich denke die Frage kann man in den Raum der “normalen” Sprachen überführen: Sollte man zuerst Englisch oder Latein als Fremdsprache wählen?
    Für Englisch spricht, ausgenommen der Verbreitung, vor allem ihre Einfachheit. Man kommt mit Englisch viel schneller ans Ziel. Anhänger von Latein argumentieren, dass man die Hintergründe lernt und sich dadurch vieles herleiten kann. Wenn ich aber eine Sprache lernen will, um sie später zu sprechen, dann würde ich Englisch wählen, denn was interessiert mich der Ablativ, wenn ich mich mit jemanden unterhalten möchte.

    Zurück übertragen auf Python und C/C++: Python ist für Beginner deutlich einfacher zu verstehen, da es mehr auf Abstraktionen setzt als C/C++. Vielleicht kann man es so sagen: Wenn du wissen möchtest, wie Computer an sich funktionieren, dann versuch dich an C. Willst du aber Programmieren lernen, fährst du mit Python sehr gut.

  • http://www.davidbauer.ch/ David Bauer

    So, nun ist auch das «Abschlussprojekt» meines CodeYear online: http://labs.davidbauer.ch/twitter-times/. Holt sich alle Links aus einem gewünschten Twitter-Account und stellt sie übersichtlich auf einer Seite dar. For the record: Etwa 10 Stunden Arbeit von mir plus Hilfe und Tipps von zwei Leuten, die’s besser können als ich.

  • Frauke

    Danke für den tollen Artikel. Du schreibst Interesse an Mathematik und Logik müsste man nicht unbedingt mitbringen. Du erwähnst aber Kreativität an anderer Stelle. Ist das eine unbedingte Voraussetzung? Ich denke schon, man muss sich vorher vorstellen können, was man mit der Anwendung machen kann, nicht?

  • http://www.davidbauer.ch/ David Bauer

    Kreativität ist sicher wichtig, wenn es darum geht, sich mögliche Applikationen auszudenken. Ebenso, wenn es darum geht, die bestmögliche Formulierung von Funktionen zu finden (je komplexer es wird, desto wichtiger wird Kreativität, so meine Einschätzung – ausgebildete Entwickler können das aber sicher besser beurteilen).

    Ein Vorteil von Codecademy ist aber der, dass es einem zumindest zu Beginn keine Kreativität abverlangt, sondern sehr klare, enge Vorgaben macht, was zu programmieren ist. Meine Erfahrung war die, dass die Kreativität mit der Zeit von alleine geweckt wird, wenn man sich einen vorgegebenen Lösungsweg anschaut und sich denkt «das könnte man doch eleganter lösen…».

  • Daniel

    Das könntest Du vielleicht noch in die Lektüreempfehlungen aufnehmen: http://www.digitalerwandel.de/2012/07/16/programmier-crashkurs-fuer-journalisten/

    (Aber wahrscheinlich kennst Du es schon.)

  • Vomitorium

    Google mal nach “Teach yourself programming in 10 years” ;-)

  • http://www.lxg.de/ Alex

    Ich bin selbst langjähriger Entwickler und Softwareberater und sehe es wiefolgt:

    Kreativität ist allgemein eine erfreuliche Gabe. Wer kreativ ist, kann bekannte Muster abstrahieren und auf andere Bereiche anwenden, und das kann einem Entwickler sehr nützlich sein.

    Was aber einen guten Entwickler ausmacht, ist zunächst die Fähigkeit, das der jeweiligen Programmieraufgabe zugrundeliegende Problem zu verstehen und zu analysieren. Daher würde ich als wichtigsten „Soft Skill“ eher einen gesunden Menschenverstand sehen.

    Kreativität ist vielleicht noch am wichtigsten bzw. hilfreichsten, wenn es darum geht, eine elegante Lösung zu entwickeln. Aber hier ist es vor allem wichtig, über möglichst weitgehende Fachkenntnisse in dem betreffenden Gebiet zu verfügen. Natürlich muss man auch die IT-Kenntnisse haben, um die sog. „nicht-funktionalen“ Anforderungen spezifizieren und später erfüllen zu können, aber das sind völlig unkreative Aufgaben.

    Die Programmierung schließlich, also die Umsetzung des fachlichen Lösungskonzepts in Algorithmen, hat mit Kreativität praktisch gar nichts zu tun; wenn einerseits Analyse und Lösungskonzept stimmen und andererseits handwerklich sauber gearbeitet wird, wird brauchbare Software entstehen.

    Einzig beim Hacken (im ursprünglichen Sinne) ist Kreativität tatsächlich eine „conditio sine qua non“, denn dabei geht es nicht darum, ein bestimmtes Problem zu lösen, sondern eben kreativ mit Software und Hardware umzugehen und Neues zu probieren.

  • Pingback: Click! 01 2013 | Merely Thinking

  • Pingback: 52/2012 bis 1/2013 – Webgedöns | Ach komm, geh wech!

  • Pingback: Lehrerzimmer » Archiv » Erste Tage 2013

  • Pingback: Coding Lego #1 | Jonathan Sachse

  • Pingback: Neues aus dem Abfall, 9. Januar 2013 | Hendryk Schäfer

  • Pingback: Linkdump vom So, 30. Dezember 2012 bis So, 13. Januar 2013 Links synapsenschnappsen

  • Pingback: Codeyear – Get it started | Anne-Kathrin Gerstlauer

  • Pingback: Stift & Blog | “Wie eine personalisierte Nachrichtenseite”: 6 Fragen an David Bauer zu Instacurate.com

  • Pingback: How I Learnt To Code In One Year David Bauer. Journalist+

  • http://www.spielend-programmieren.at Horst JENS

    Super Artikel, leider erst jetzt gefunden. Bitte mehr davon !

  • Pingback: Datenjournalismus im Januar 2013 | Datenjournalist

  • Pingback: Linkliste #00000110 | fiona lernt programmieren

  • Pingback: 140 Sekunden: Code kontrolliert | David Bauer. Journalist+

  • http://martinvollenweider.wordpress.com/ Martin Vollenweider

    Spannender Artikel! Um meine Studierenden vom Sinn der Programmierung zu überzeugen sammle ich Beiträge zu diesem Thema (https://docs.google.com/document/d/1MYXsMVhM_7X1IxUkTLQW89BxSmcyu10D928m0LmxGPo/edit?usp=sharing). Hoffentlich braucht es – wie beim AppInventor – bald keinen eigentlichen Code mehr (http://appinventor.mit.edu/explore/)!

These are great times for journalism. This is how I work:

Words

I grew up as a journalist of words. It remains one of my favourite means to tell stories, mostly about technology. Chosen wisely and put in the correct order, words are as powerful as ever.

Code

When we build applications, when we report and present stories in novel ways, code is what drives them. Speak the language of computers, make them work for you.

LabsHow I Learnt to Code

Data

Call it data journalism, if you will. Numbers and data in general are a wonderful raw material to work with. I dig for stories and tell them in visually compelling ways.

Latest notes, recent work.

  • loading...
More
Weekly Filet

The Weekly Filet is a compilation of the best pieces found on the web. Intriguing articles, stunning photographs, telling visualisations, excellent songs, smart videos. 5 recommended links, every Friday, free home-delivery.

Weeklyfilet.comWeekly Filet on Flipboard

Instacurate

Turn your Twitter timeline into a personalised news site, in an instant.

Try it nowInstacurate for Reddit

I write about technology and its effects on humans and society.

My book, KurzbefehlReferat buchen

Portfolio

My work has appeared in The Guardian, SonntagsZeitung, Spiegel Online, Das Magazin, Tages-Anzeiger, TagesWoche, Der Tagesspiegel, among others.

Showcase | Show all

Get in touch

hello@davidbauer.ch

Find me on the web

Where to meet me in person

Usually Basel
30.4.-4.5. Perugia
6.5.-7.5. Berlin
11.6.-14.6. Barcelona
18.-21.6. London