Bei Startups ist das Team meistens klein. Da
hängt der Erfolg des Unternehmens von jedem Einzelnen ab. Deshalb versuchen wir
immer wieder ein starkes Team zusammen zu stellen, das alle
Entwicklungsherausforderungen meistern kann.
Am Anfang ist es sehr schwer Entwickler/innen
einzuschätzen. Der eine behauptet, eine Programmiersprache zu kennen, hat sie
aber nur in der Vorlesung gesehen. Die andere gibt an "nur so ein bisschen
zu programmieren", aber nicht richtig. Später kommt heraus, dass sie die
Benutzerverwaltung für das Wohnheim als Webanwendung nebenbei gemacht hat und
auch noch eine iPhone App dafür.
Und dann gibt es noch so viele Technologien.
Keiner kann alles abdecken. Es ist fast unverschämt eine Web-Entwicklerin nach XAML
zu fragen oder einen Hobby-Gamemodder, der gerade von der Schule kommt, nach
Scrum. Trotzdem haben alle, die offen, aktiv und selbstmotiviert sind, das
Potential großartige Developer zu sein.
Aber irgendwo muss ja anfangen. Deshalb hier
meine kurze Liste von Themen, die mich brennend interessieren, wenn ich jemand
von der programmierenden Menschheit kennen lernen will.
1. Technologie
Wie gut würden Sie
Ihre Fähigkeiten als Programmierer/in einschätzen.
Auf der Skala von:
- Thema bekannt (gelesen, gehört, Vorlesung in
der Uni)
- Etwas Praxis (probiert, Übungsaufgabe, mal
verwendet)
- Viel Erfahrung (Profi-Level, kenne ich
ziemlich gut)
- Ausgezeichnet
(Wizard-Level, könnte das Ding selber schreiben)
Wizard-Level bedeutet, z.B. bei XML einen XML Parser selbst zu schreiben, nicht "nur" einen XML Parser zu benutzen. Wizard-Level heißt den PHP Interpreter selber schreiben können, einen HTTP-Server, JUnit nicht nur benutzen, sondern eine alternative Unit Test Library selbst schreiben
Java, C#
MySQL
HTTP
HTML/CSS
SOAP
XMPP
JSON
OAuth
TCP/IP
boost, STL
Eclipse
CVS, Subversion, Git
Win32, MFC, COM, XAML
3D-Engines, welche?
Selenium
PHP, Python, Ruby on Rails, Perl
MS SQL Server, Oracle
XML
JavaScript
REST
Ajax
COMET, BOSH
Objective-C , Scala, Groovy, Erlang
C, C++
gcc
Profiling
EC2, S3, SQS
wxWidgets, Qt, Gtk
Maven, Ant, Hudson/Jenkins
Spring, Hibernate
Javascript Libraries, jQuery, ExtJS, andere?
Netzwerk Programmierung, sockets, andere?
Concurrency, Mutex, pthread, andere Thread-APIs?
Assembler, welche?
DevStudio, welche Versionen?
Text Editoren, was verwenden Sie zum Programmieren/Scripting?
Web-Server, Application Server, Tomcat, Apache, andere?
Template Engines, welche?
Caches, Memcache, Redis, Terracotta, andere?
Browser Extensions, für welche Browser?
Unit Test Frameworks, JUnit, NUnit, andere?
Logging Frameworks, log4net, log4j, andere?
2. Methodik
Wie gut kennen und wenn ja, seit wann verwenden Sie:
Objektorientierte Entwicklung
Agile Entwicklung
TDD
BDD
SOLID
DRY
MVC
Refactoring
Unit Tests
Automatisiertes UI Testing
Automatisierte Integrationstests
Code Coverage Analyse
Coding Conventions
Frequent Releases, wie "frequent"?
Pair Programming
Software Design Patterns
Scrum als Developer, Scrum Master, PO
Refactoring- und Coding-Werkzeuge in Entwicklungsumgebungen
Agile Entwicklung
TDD
BDD
SOLID
DRY
MVC
Refactoring
Unit Tests
Automatisiertes UI Testing
Automatisierte Integrationstests
Code Coverage Analyse
Coding Conventions
Frequent Releases, wie "frequent"?
Pair Programming
Software Design Patterns
Scrum als Developer, Scrum Master, PO
Refactoring- und Coding-Werkzeuge in Entwicklungsumgebungen
3. Allgemein
Haben Sie Computer zuhause?
Welche(s) Betriebssystem(e)?
Einen Rechner oder ein Netzwerk?
Haben Sie eine Website? welche URL?
Bloggen, Twittern Sie oder benutzen Sie andere Social Networks?
Können Sie Linux installieren und verwalten? Welche Distribution?
Auf welchen Plattformen programmieren Sie? Windows, Mac, Linux, iOS?
Haben Sie Cross-Plattform Erfahrung?
Programmieren Sie gerne?
Programmieren Sie viel? wie viel? gut? sehr gut?
Haben Sie an Open-Source Projekten mitgearbeitet? welche?
Gibt es öffentlich zugängliche Projekte? URL?
Können Sie Code oder andere Arbeitsproben zeigen?
Keine Kommentare:
Kommentar veröffentlichen