Team of ywesee - intellectual capital connected
Strategie und Akquisition
Programmierung
Current
Committers
Wir arbeiten so streng wie möglich nach der Extreme Programming Methodologie.
Lerninhalt für die Praktikanten
Der Lerninhalt für die ywesee Praktikanten sind die folgenden. Die Ziele sind für 3, 9 und 15 Monate. Die Praktikanten erstellen sich jeweils selbständig einen Wochenplan und zeigen diesen dem leitenden Softwareentwickler Hannes.
Nach 3 Monaten
- Grundsätzliches Verständnis OOP
- Code Folgen können - welche Klasse hat der Inhalt einer variable im Code
- Was ist der Unterschied zw. Instanz und Klasse
- Detailliertes Verständnis 'Scope'
- Was ist der Unterschied zw. Klassen / Instanzvariablen
- Konsequenter TDD Approach
- Gebrauchsverständnis SCM (aktuell GIT)
- Gebrauchsverständnis ydpm
- Grundsätzliches Verständnis von vim (Modaler Editor - was bedeutet das)
- http://www.ruby-doc.org als Hauptsächliche Ruby-Referenz
- Gebrauchsverständnis ODBA/SBSM/HtmlGrid
- Gebrauchsverständnis DRb
- im vim mit mehreren Dokumenten arbeiten können (:split / :vsplit)
- vim: suchen/ersetzen in einem File mit einfachen patterns
- Regular Expressions: Character Class, ?, *, +, RE in vim, ruby
- screen: screen -x, screen -r, <c-a> <c-n> / <c-a> <c-p>
- nach Bedarf: Linux-Troubleshooting
Nach 9 Monaten
- Englische Dokumentationen lesen und verstehen können
- 10-Finger-System intus
- Design Patterns verstehen und anwenden können (HtmlGrid bei Bedarf erweitern)
- Verständnis von Distributed Ruby und der Anwendung in ODDB / YDPM / XMLCONV2
- Suchstrategien auf Google und anderen Suchmaschinen (Assoziatives Suchen)
- Grundsätzliches Verständnis SCM (aktuell GIT)
- Grundsätzliches Verständnis ODBA/SBSM/HtmlGrid
- Grundsätzliches Verständnis Prevalenz
- Grundlangen SQL/Relationale DB
- Grundsätzliches Verständnis DRb
- Regular Expressions: subgruppen
- Grundsätzliches Verständnis YDPM
- Linux/Unix/GNU: Gebrauchsverständnis Pipe, File-Descriptor Umleitungen
Nach 15 Monaten
- Englische Dokumentationen lesen und schreiben können
- Verständnis von ODBA (Grundlagen, Funktionsweise)
- Selbständiges Arbeiten im Pair
- ACM-Library zur weiterführenden Informationsbeschaffung
- Grundsätzliches Verständnis ODMG-Standard ( http://www.odmg.org )
- Detailliertes Verständnis ODBA/SBSM/HtmlGrid
- Grundsätzliches Verständnis DRb/SSL
- Regular Expressions: positive/negative lookahead, RE in grep, vim, ruby
- Detailliertes Verständnis ydpm
- Linux/Unix/GNU: Grundsätzliches Verständnis File-Descriptors
Allgemeine Lernziele
Dies ist v.a. eine Stichwortliste zur Erstellung der obigen Ziele, ist aber auch sonst interessant.
Grundlagen
- Englisch
- 10-Fingersystem
Informationsbeschaffung
- Google
- http://www.ruby-doc.org
- Ruby mailing-list
- http://www.extremeprogramming.org
- ACM-Library http://portal.acm.org/dl.cfm
OOP
- Ruby
- DRb
- Verschiedene Storage-Ansätze (Prevalenz, ODBA, Relationale DB, Objekt-DB)
Etablierte Technologien
- SQL
- Regular Expressions
Ywesee-Libraries
- ODBA
- SBSM
- HtmlGrid
Projektmanagement
- SCM
- TDD
- eXtremeProgramming
- YDPM
Tools
- vim
- screen
- linux/unix/GNU
Glossar
Gebrauchsverständnis: Etwas Anwenden können, ohne notwendigerweise die inneren Zusammenhänge zu kennen.
Grundsätzliches Verständnis: Die einer Technologie zugrundeliegenden Prinzipien verstehen und erklären können.
Detailliertes Verständnis: Den Code soweit kennen, dass z.B. Fehler behoben werden können. Methoden finden können, die für eine bestimmte Funktionalität zuständig sind.- Verstehen, warum ein Lösungsansatz gewählt wurde, Fehler erkennen, alternative Lösungsansätze entwickeln und kommunizieren.
DRb:
- Distributed Ruby
- Netzwerk-Technologie zur ruby-nativen Kommunikation zwischen zwei unabhängigen Prozessen (können auf der gleichen oder auf verschiedenen Maschinen liegen)
- ähnlich wie Java RMI
TDD:
- Test Driven Design
- zuerst Test(s) schreiben, dann den Code.
OOP:
- Objektorientiertes Programmieren
SCM:
- Source Code Management
- Löst die Frage: wie kann ich wissen, welche Files ich brauche um die gleiche Version wie mein Programmier-Kollege zu haben und mit dem Online-Server abzugleichen?
- Löst natürlich auch noch andere wichtige Fragen.
Bedingungen für eine Praktikumsstelle bei ywesee
- Linux Interesse muss vorhanden sein.
- Freude am OOP Programmieren.
- Neugier.
- Lernwilligkeit.
- Biss.
- Eigener Laptop mit Gentoo-Linux und Windows - Dual-Boot.
Falls Du in Deiner Freizeit auch Applikationen entwicklen tust, ist das ein sehr gutes Zeichen. Mach Dir Gedanken über den Software Product Cycle. Und bedenke: "Last Minute Änderungen" vor einem Release sind nicht gut. Dies ist die Meinung von Linus Torvalds.
Das Schnuppern dauert 2 Tage und beinhaltet einen Tag Gentoo-Aufsetzen und einen Tag OOP anschauen. Wir arbeiten grundsätzlich in 2er Teams nach ExtremeProgramming. Wenn Du also einen Kollegen oder eine Kollegin hast, mit der Du unbedingt zusammenarbeiten willst und Ihr ein gutes Team macht, dann kommt bitte gleich zusammen Schnuppern für die zwei Tage.
Fragen bitte direkt an zdavatzatyweseedotcom
<< OpenSource | SideBar | Kontakt >>