Wie schnell muss ein SW Entwickler tippen können?
-
Dobi schrieb:
Nun, sollte man als CEO seinen Entwicklern einfach die Tastaturen schwarz ansprayen und die Mäuse wegnehmen, um mittelfristig ihre Produktivität zu steigern? Was meint ihr?
Es gibt auch Sachen die mit der Maus schneller gehen. Zeitweises schwäzen wäre sicher nicht schlecht.
-
@Dobi:
Danke!@Shade Of Mine:
Ich finde es erschreckend dass du es für irrelevant hältst, und noch erschreckender dass du dir dabei (wie so oft) auch noch so sicher bist.Zum Programmieren gehören viele Aufgaben, und bei vielen davon kann ich schneller denken als schreiben.
Manuelle Refactorings, Doku schreiben, Kommentare schreiben, kleine dumme Beispiele schreiben, dumme Unit-Tests schreiben etc.
Und wie Dobi mMn. ganz richtig erkannt hat: bei all' diesen Dingen ist die Hemmschwelle es "ordentlich" und "ausreichend" zu machen viel höher, wenn man nicht schnell tippen kann.Shade Of Mine schrieb:
Bitte daran denken, dass man an einem guten Tag nämlich eine Handvoll Zeilen Code entfernt!
Wenn ich 10 Zeilen entferne, dann hab ich dazu oft 100 oder mehr angepasst. Dazu muss ich auch tippen. Denk mal darüber nach.
Vielleicht arbeitest du auch mit Programmen wo man über jede Zeile sowieso 5 Minuten nachdenken muss, bevor man sie schreiben, anpassen oder entfernen kann. Solche Domänen gibt es natürlich. Speziell wenn viel Mathematik oder komplizierte Algorithmen im Spiel sind.
Aber nicht alle von uns arbeiten in solchen Bereichen.Und selbst wenn ich 10 Minuten nachdenke bevor ich anfange Code zu schreiben... Wenn es "anspruchsvolles Nachdenken" ist, dann kann ich das nicht während ich schreibe. Und dann kommt beim Code-Schreiben wieder all das dazu was Dobi erwähnt hat. Selbst wenn der Code in 2 Minuten runtergeschrieben ist -- wenn die Hemmschwelle weitere Zeit für das Schreiben von z.B. Kommentaren zu hoch ist, dann leidet die Qualität.
-
hustbaer schrieb:
Und selbst wenn ich 10 Minuten nachdenke bevor ich anfange Code zu schreiben... Wenn es "anspruchsvolles Nachdenken" ist, dann kann ich das nicht während ich schreibe. Und dann kommt beim Code-Schreiben wieder all das dazu was Dobi erwähnt hat.
Ich stimme dir und Dobi grundsätzlich zu, aber es gibt auch negative Effekte von der Fähigkeit, schnell Sachen runterzutippen:
- Plane ich das Design erst einmal durch oder schreibe ich einfach mal einen Prototyp hin? Je schneller ich schreibe, desto mehr geht wird zum Prototyp tendiert.
- Und auch während dem Codeschreiben, je länger ich darüber nachdenke, wie ich eine Codestelle organisiere, desto besser wird sie. Wenn ich langsamer tippe, denke verbringe ich mehr Zeit mit der Codestelle, also wird sie besser.
- Tippfaule Programmierer sind auf Autovervollständigung angewiesen. D.h., sie schreiben nur die ersten zwei Buchstaben und wählen dann mit den Pfeiltasten den richtigen Identifier aus. Folglich stört sie nicht, wenn sie mit langen Namen zu tun haben, im Gegenteil, das macht es einfacher, durch die Liste zu scrollen.
-
highperformancetipper schrieb:
- Plane ich das Design erst einmal durch oder schreibe ich einfach mal einen Prototyp hin? Je schneller ich schreibe, desto mehr geht wird zum Prototyp tendiert.
Ich hab' kein Problem mit Prototypen. Dann weiss man wengistens wo wirklich der Schuh drückt. Funktioniert nach meiner Erfahrung 10x besser als vorher lange planen und dann macht man es im Endeffekt eh anders, weil der Plan einfach nicht umsetzbar ist.
highperformancetipper schrieb:
- Und auch während dem Codeschreiben, je länger ich darüber nachdenke, wie ich eine Codestelle organisiere, desto besser wird sie. Wenn ich langsamer tippe, denke verbringe ich mehr Zeit mit der Codestelle, also wird sie besser.
Kann ich nicht nachvollziehen.
highperformancetipper schrieb:
- Tippfaule Programmierer sind auf Autovervollständigung angewiesen. D.h., sie schreiben nur die ersten zwei Buchstaben und wählen dann mit den Pfeiltasten den richtigen Identifier aus. Folglich stört sie nicht, wenn sie mit langen Namen zu tun haben, im Gegenteil, das macht es einfacher, durch die Liste zu scrollen.
Faul bin ich auch. Nur kann ich halbwegs schnell tippen, und wo es Sinn macht, tu ich das auch. Jmd. der mit 60~120 Anschlägen/Minute tippt, ist dagegen meist auch zu faul die schönen, aussagekräftigen, langen Bezeichner bei der Deklaration hinzuschreiben. Und verwendet dann trotzdem unv.Akzg.
highperformancetipper schrieb:
Grundsätzlich richtig, aber: Wer langsam schreibt schortcuttet auch langsam
Und mit den Snippets kann man auch übertreiben. Nen for-Kopf schreib' ich auch mit Hand.
-
hustbaer schrieb:
Zum Programmieren gehören viele Aufgaben, und bei vielen davon kann ich schneller denken als schreiben.
Wir verwenden Boilerplate-Vorlagen für das meiste, da geht die Zeit beim Suchen der passenden Code stellen drauf und nicht beim Tippen.
Texte werden per Copy&Paste übernommen.
Klassen Skelette werden generiert.Wer ein WinMain tippt, der macht was falsch. Tippen ist zu fehleranfällig und kostet sinnlos Zeit.
In C++ sind die Tools natürlich nicht so weit, das weiß ich. Aber auch wenn hier gegen die modernen Sprachen gewettert wird - moderne Toolsets reduzieren dieses Boilerplate Tippen einfach enorm.
Ein Funktionsname wie GetSecurityContextHandleForUser ist ein gsc<TAB>
Da ist es irrelevant wie schnell jemand tippt.
PS:
also bei uns ist ein schneller Tipper nicht relevant schneller als ein langsamer.Und bitte auch wieder bedenken: wenn man sehr viel tippt wird man AUTOMATISCH sehr schnell. Es gibt keine Leute die viel tippen und langsam sind.
-
hustbaer schrieb:
Jmd. der mit 60~120 Anschlägen/Minute tippt, ist dagegen meist auch zu faul die schönen, aussagekräftigen, langen Bezeichner bei der Deklaration hinzuschreiben. Und verwendet dann trotzdem unv.Akzg.
Kann ich nicht nachvollziehen.
-
highperformancetipper schrieb:
- Tippfaule Programmierer sind auf Autovervollständigung angewiesen. D.h., sie schreiben nur die ersten zwei Buchstaben und wählen dann mit den Pfeiltasten den richtigen Identifier aus. Folglich stört sie nicht, wenn sie mit langen Namen zu tun haben, im Gegenteil, das macht es einfacher, durch die Liste zu scrollen.
Lustigerweise nutze ich solche Features wesentlich mehr als die von mir beobachteten Mitmenschen, die nicht so schnell tippen können. Einige bemerken die Vorschläge nichtmal, weil sie auf ihre Finger gucken bis sie den Bezeichner fertiggetippt haben. Und dann müssen sie wieder mit dem Cursor zurück, um die Tippfehler, die sie zwischendurch (dank nicht-auf-den-Bildschirm-gucken) verpasst haben.
-
Habe die letzte Woche mal bei mir drauf geachtet.
Das problem ist, dass die Fehler steigen je man schneller schreibt.
Wenn ich jede zweite Zeile wieder entferne um einen Fehler am Anfang zu korrigieren, habe ich natürlich nichts gewonnen.
Auch wenn ich nicht so schnell schreibe nutze ich 10 finger. Wenn ich mit 10 Fingern eher gemütliche schnell schreibe bin ich schneller als wenn ich es drauf anlege möglichst schnell zu sein.Auch gucke ich natürlich auf den Bildschirm was ich schreibe. Aber auch da gibt es 2 Situationen. Tippe ich freien Text, oder tippe ich etwas ab. Habe ich z.B. einen Vertrag aus dem ich Sachen ins System eingebe, dann gucke ich die ganze Zeit auf das Blatt und tippe einfach. Da enstehen zwar mehr Fehler als alles wenn ich alles direkt kontrolliere, aber am Ende bin ich doch schneller.
Bin in meiner Firma aber auch kein Entwickler. Da sieht es sicher noch mal anders aus.
-
Sqwan schrieb:
Wenn ich jede zweite Zeile wieder entferne um einen Fehler am Anfang zu korrigieren, habe ich natürlich nichts gewonnen.
Na gut, wofür so Sachen wie die Taste pos1 oder strg+Pfeiltaste gut sind, sollte man schon wissen, bzw. nicht nur wissen, sondern unbewusst und flüssig benutzen.
-
Das stimmt. Ich meine aber sowas:
Wenn ich jede zweite Zeile wieder efentrne um einen Fehler am Anfang zu korrigieren, habe ich natürlich nichts gewonnen.
Das ist immer mist.
-
Wieso entfernst du eine Zeile komplett, nur weil am Anfang von ihr irgendein Tippfehler ist?
-
Dobi schrieb:
Wieso entfernst du eine Zeile komplett, nur weil am Anfang von ihr irgendein Tippfehler ist?
Das ist doch nicht der Punkt. Die Zeit die du durch das korrigieren eines Tippfehlers verlierst, bedeutet dass jemand der weniger Fehler macht und langsamer tippt trotzdem schneller ist.
Ich betone nochmal: Jemand der die ganze Zeit viel tippt, ist automatisch schnell.
Das ist ein Punkt der hier gerne ignoriert wird. Aber wenn Jemand etwas die ganze Zeit tut, ist auch gut darin. Wir reden deshalb nicht von unendlich viel Geschwindigkeitsunterschied, sondern nur von kleinen Nuancen.
-
Shade Of Mine schrieb:
Ich betone nochmal: Jemand der die ganze Zeit viel tippt, ist automatisch schnell.
Kann ich persoenlich nicht bestaetigen. Ich selbst komme gerade so ueber 90 wpm, aber nur, wenn ich mich anstrenge. Ich habe aber Bekannte, die auf 150 wpm kommen. Ich schreibe eigentlich jeden Tag, und nicht zu wenig.
Also entweder bin ich einfach dumm, oder deine Theorie ist falsch. Ich hoffe mal, dass es letzteres ist
-
Shade Of Mine schrieb:
Dobi schrieb:
Wieso entfernst du eine Zeile komplett, nur weil am Anfang von ihr irgendein Tippfehler ist?
Das ist doch nicht der Punkt. Die Zeit die du durch das korrigieren eines Tippfehlers verlierst, bedeutet dass jemand der weniger Fehler macht und langsamer tippt trotzdem schneller ist.
Genau das wollte ich damit sagen.
Mit 130WPM bin ich vllt schnell als mit 150WPM wenn ich jedes 5te berichtigen muss. Je nach dem ist Kellerautomat sogar mit 90wpm schneller je nach dem wie lange der andere braucht um jedes 5te zu berichtigen. Dazu kommt, dass vermutlich auch noch weniger Fehler unendeckt bleiben.
-
Shade Of Mine schrieb:
Dobi schrieb:
Wieso entfernst du eine Zeile komplett, nur weil am Anfang von ihr irgendein Tippfehler ist?
Das ist doch nicht der Punkt. Die Zeit die du durch das korrigieren eines Tippfehlers verlierst, bedeutet dass jemand der weniger Fehler macht und langsamer tippt trotzdem schneller ist.
Klar, weniger Fehler sind besser. Der letztendliche Output hängt dann halt vom Unterschied in Geschwindigkeit, Fehlerquote und Zeit fürs Ausbessern (Schreib ich jedes mal die ganze Zeile neu? :D) ab. Man kann also auch mit ein paar Fehlern mehr schneller sein, aber das brauch ich dir ja nicht vorrechnen.
Shade Of Mine schrieb:
Ich betone nochmal: Jemand der die ganze Zeit viel tippt, ist automatisch schnell.
Das bezweifel ich allerdings schon, zumindest in dieser Absolutheit. Klar sind die Leute, die viel Tippen im Schnitt viel schneller als die, die wenig tippen, aber ich kenn auch einige, die ähnlich viel Tippen wie ich und deutlich langsamer sind, auch welche, die wesentlich schneller sind.
Shade Of Mine schrieb:
Das ist ein Punkt der hier gerne ignoriert wird. Aber wenn Jemand etwas die ganze Zeit tut, ist auch gut darin.
Tendentiell schon, aber es gibt schon dolle Leistungsunterschiede abhängig von Talent, Art des "Trainings" usw.
Egal ob beim Programmieren, Sport oder Musikinstrumentspielen.
Sein Talent kann man nicht ändern, aber die Leistung schon. Spiel ich einfach nur jeden Tag Basketball, oder analysiere ich meine Schwächen und arbeite an ihnen?
Programmiere ich einfach immer nur auf Ergebnis, oder versuch ich ständig, mich und meine Methoden zu verbessern?
Versuche ich mir Beim Tippen das Auf-die-Tastatur-Gucken abzugewöhnen und mehr als nur 4 Finger zu benutzen oder Tipp ich mit meiner alten Technik einfach immer einfach weiter?
Für manche Leute versteht sich dieses Verbessern von selbst, ohne dass da viel bewusst getan wird. Dabei sollte man aber nicht vergessen, dass es auch welche gibt, bei denen das nicht so ist.
-
Leute es geht doch nicht um den Unterschied zwischen 90 WPM und 150.
Nichtmal um den Unterschied zwischen 60 WPM und 90.
Sondern um den zwischen 10~20 WPM und 60.Shade Of Mine schrieb:
Das ist ein Punkt der hier gerne ignoriert wird. Aber wenn Jemand etwas die ganze Zeit tut, ist auch gut darin. Wir reden deshalb nicht von unendlich viel Geschwindigkeitsunterschied, sondern nur von kleinen Nuancen.
Das schreibst du dauernd hier.
Was du aber die ganze Zeit hartnäckig ignorierst, ist die Tatsache, dass jemand der auf Teufel-komm-raus vermeidet viel zu tippen eben nicht viel tippt. Und daher auch nicht schneller wird.
-
hustbaer schrieb:
Das schreibst du dauernd hier.
Was du aber die ganze Zeit hartnäckig ignorierst, ist die Tatsache, dass jemand der auf Teufel-komm-raus vermeidet viel zu tippen eben nicht viel tippt. Und daher auch nicht schneller wird.Dann musst du aber einen Schritt weiter denken: Wenn er naemlich nicht viel tippt, dann hat tippen kein relevanter Zeitanteil an seiner Arbeit. Ergo bringt ihm schnell Tippen keinen relevanten Zeitvorteil.
Denn wenn er viel Zeit mit tippen verbringen wuerde, dann wuerde er ja viel tippen und waere somit auch schneller.
Natuerlich ist schneller Tippen immer besser als langsamer Tippen. Aber wenn man sich mal anschaut wieviel Zeit seiner Arbeit man mit welchem Teil verbringt, dann faellt bei einem Programmierer das Tippen auf weit unter 1% der Arbeitszeit.
Wenn es mehr waere, dann wuerde ich schauen dass man das mit Tools optimieren kann. Weil wenn man soviel Code tippt, dann ist da ja auch wieder die Gefahr von Fehlern gross. Was effektiv wieder die Debug-Zeit erhoeht...
Wir arbeiten zB in der Firma mit sehr engen Zeitvorgaben. Da muss es bei uns schnell gehen - aber die Tippgeschwindigkeit war noch nie ein Grund ob sich ein Projekt ausgegangen ist oder ueberzogen wurde
-
Kann ich zumindest aus eigener Erfahrung so nicht bestätigen. Wir machen in der Arbeit alle in etwa das gleiche. Und die Unterschiede in der Tippgeschwindigkeit sind schon ziemlich groß. Ich tippe mittelmäßig schnell. Würde mir öfter wünschen, schneller tippen zu können, aber ich werd mich jetzt nicht mehr großartig steigern können. Einige meiner Kollegen können deutlich schneller tippen. Andere hingegen sind um einiges langsamer und schauen ständig auf die Tastatur, kennen keine Shortcuts, wechseln die ganze Zeit zwischen Tastatur und Maus usw. Das kann ich mir grad nicht mitanschauen.
Und viel tippen muss man bei uns schon. Ja, ich muss auch sehr oft Probleme untersuchen, wo ich nach 2-3 Tagen debuggen dann eine Zeile verschiebe oder eine halbe Zeile ändere. Aber dazwischen kommen auch öfter Aufgaben, wo man einfach paar hundert oder tausend Zeilen mehr oder weniger runtertippen kann und sich beim Tippen schon die nächsten Zeilen überlegt. Und ich sehe da kein großartiges Optimierungspotenzial durch irgendwelche Tools. Ich nutze Visual Assist, das wars aber auch schon.
Und außer dem Code kommen auch Mails und Issues dazu, wo ständig über irgendwas rumdiskutiert wird und wo man auch etwas mehr tippen muss.
-
Shade Of Mine schrieb:
Denn wenn er viel Zeit mit tippen verbringen wuerde, dann wuerde er ja viel tippen und waere somit auch schneller.
Typischer Fehlschluss. Ich kenne Leute, die haben schon sehr viel mehr programmiert als andere, die aber um einiges besser programmieren.
Genauso gibt es Leute die müssen zwar sehr viel tippen, haben sich aber Maus+auf Tasten schauen so angeeignet, dass sie es gar nicht mehr wegbekommen.
Und beides ist ein grosses Hinderniss.
-
@Shade Of Mine
Also erstmal bin ich der Meinung dass trugschluss Recht hat.Und dann gehst du davon aus, dass jemand der nicht gerne tippt, trotzdem bereit ist 3x mehr zu tippen als er für "nötig" hält, wenns nur insgesamt ausreichend wenig ist. Und das ist mMn. einfach nicht so.
Ganz egal wie wenig es absolut ist, ein wirklich tippfauler Mensch wird trotzdem versuchen sich davor zu drücken die sinnvollen 100% zu tippen und lieber 25% draus machen.Glaub's mir einfach, es gibt solche Leute. Ich hab mit einigen solchen gearbeitet. Denen kannst du es am Gesicht ablesen wie gern sie jetzt die 15 Buchstaben eintippen wenn man ihnen sagt sie sollen die 3-Buchstaben Variable ordentlich benennen. Bzw. manche sagen es sogar ganz direkt - "da muss ich ja so viel tippen".
Und je länger man es nicht nachkontrolliert und Nachbessern einfordert, desto kürzer werden wieder die Bezeichner.ps:
Shade Of Mine schrieb:
Wir arbeiten zB in der Firma mit sehr engen Zeitvorgaben. Da muss es bei uns schnell gehen - aber die Tippgeschwindigkeit war noch nie ein Grund ob sich ein Projekt ausgegangen ist oder ueberzogen wurde
Ja, hast du auch schon oft genug wiederholt.
Ich glaub's dir ja auch dass das bei dir so ist.
Du scheinst mir aber nicht zu glauben, dass es nicht überall so ist dass die Tippzeit irrelevant ist. Das hab' ich nämlich schon mindestens 1x geschrieben, und du ignorierst es einfach. Und wiederholst statt darauf einzugehen lieber dass es bei dir halt nicht so ist. So als wärst du der Meinung dass es nirgends so sein könnte.