Προγραμματισμός

16 τρόποι για να δημιουργήσετε μια καλύτερη ομάδα dev

Για όλες τις συζητήσεις για τους προγραμματιστές rock-star, όλοι γνωρίζουμε ότι χρειάζεται μια ισχυρή, συνεκτική ομάδα που εργάζεται σε συναυλία για να κάνει το καλύτερο έργο. Ακολουθεί λοιπόν η ερώτηση: Τι χρειάζεται για να δημιουργηθεί μια μεγάλη ομάδα προγραμματιστών που δημιουργούν εξαιρετικά προϊόντα και λειτουργούν καλά σε διάφορα τμήματα;

Επικοινωνήσαμε με στελέχη τεχνολογίας και διευθυντές μηχανικής που έχουν κάνει ακριβώς αυτό και τους ζήτησαν να μοιραστούν τη σκληρή κερδοφόρα σοφία τους για τη δημιουργία ομάδας.

Από την εύρεση της καταλληλότερης για την επόμενη πρόσληψή σας έως τη διατήρηση της ομάδας σας φρέσκια και παρακινημένη, οι ακόλουθες συλλογικές συμβουλές θα κάνουν την ομάδα σας να κωδικοποιεί καλύτερα.

1. Ενδυνάμωση των μηχανικών σας

Οι ομάδες μηχανικών μπορούν συχνά να βρίσκονται σε αντίθεση με τη διοίκηση, την ανάπτυξη των επιχειρήσεων ή το μάρκετινγκ σε οποιοδήποτε δεδομένο έργο - συχνά επειδή αντιμετωπίζονται σαν παραλήπτες παραγγελιών και όχι ως συνεργάτες. Για να πάρετε το καλύτερο από τους προγραμματιστές σας, αφήστε τους να ακουστούν και να έχουν λόγο για το τι εργάζονται.

Στο διαδικτυακό τόπο ακινήτων Trulia, οι ομάδες διαχείρισης και ανάπτυξης συναντώνται ανά τρίμηνο για να σχεδιάζουν και να επιλύουν θέματα, λέει ο Jeff McConathy, αντιπρόεδρος της μηχανικής για υπηρεσίες καταναλωτών.

«Η διαδικασία καθοδηγείται από υπαλλήλους», λέει ο McConathy, «με ομάδες που είναι υπεύθυνες για τη δημιουργία των δικών τους προτεραιοτήτων και οδικών χαρτών και την παρουσίασή τους σε ανώτερα στελέχη και ηγέτες σε όλη την εταιρεία. Κάθε ομάδα μοιράζεται επίσης τις επιτυχίες τους και [όσα έχουν μάθει] κατά το τελευταίο τρίμηνο. Αυτό βοηθά κάθε ομάδα να καθορίσει τα σχέδιά της και να δώσει προτεραιότητα στα έργα και επιτρέπει ... στην ομάδα διαχείρισης να κάνει ερωτήσεις και να διασφαλίσει ότι κάθε ομάδα έχει δημιουργηθεί για επιτυχία και κινείται προς τη σωστή κατεύθυνση για την εταιρεία. "

Τα μέτρα ενδυνάμωσης των εργαζομένων μπορούν επίσης να διασφαλίσουν την αφοσίωση και να διατηρήσουν το ταλέντο των κορυφαίων προγραμματιστών.

«Πρέπει να επιτραπεί στην ομάδα να καθορίσει τον δικό της επαγγελματικό χάρτη πορείας και ποιες τεχνολογίες είναι οι πιο κατάλληλες για συγκεκριμένες εργασίες, ενώ ταυτόχρονα θεωρείται υπεύθυνη για τις αποφάσεις της», λέει ο McConathy. «Ζητήστε από τις ομάδες να επικεντρωθούν σε συγκεκριμένους στόχους υψηλού επιπέδου και, στη συνέχεια, αφήστε τις να τρέξουν με ιδέες και εκτέλεση. Αυτό είναι αληθινή ενδυνάμωση, και στο τέλος της ημέρας, όλοι θέλουμε να εργαστούμε σε ένα περιβάλλον όπου μπορούμε να κάνουμε τη διαφορά και να μάθουμε νέα πράγματα. "

2. Θυμηθείτε τις ρίζες σας

Οι διευθυντές μηχανικών πολύ συχνά βρίσκονται μακριά από την πρώτη τους αγάπη: γράφοντας κώδικα. Όμως, τα προβλήματα με την υπερβολική έμφαση στην πτυχή «διαχείρισης» του προφίλ εργασίας ενός διαχειριστή dev είναι πιο βαθιά.

Ο Sam Lambert, ανώτερος διευθυντής υποδομών της GitHub, υποστηρίζει ότι οι εταιρείες που βλέπουν τους διαχειριστές και τους μηχανικούς με διαφορετικό τρόπο προορίζονται να έχουν χαμηλή απόδοση.

«Οι εταιρείες πρέπει να τοποθετήσουν τους διευθυντές ως ισχυρούς τεχνικούς μέντορες στις ομάδες τους», λέει ο Lambert. Με αυτόν τον τρόπο, οι υπεύθυνοι μηχανικής «μπορούν να παρέχουν καθοδήγηση σχετικά με κώδικα και έργα, να τους βοηθήσουν να πλοηγηθούν σε τεχνικές προκλήσεις και να χρησιμοποιήσουν τις προσωπικές τους εμπειρίες για να πολλαπλασιάσουν την αποτελεσματικότητα της ομάδας τους».

Η προπόνηση είναι μια εξαιρετική ευκαιρία για τη συγκέντρωση των διευθυντών και των μελών της ομάδας στο ίδιο σκάφος. Στο Booz Allen Hamilton, ο διευθυντής Dan Tucker λαμβάνει βοήθεια από μια ομάδα ευέλικτων προπονητών, οι οποίοι εκπαιδεύουν και προπονούν ομάδες και προπονητές.

«Κατά κανόνα, έχουμε διευθυντές να περάσουν αυτές τις εμπειρίες με τις ομάδες τους», λέει ο Tucker. "Αυτό βοηθά στο να ρυθμίσετε μια κοινή γλώσσα, να επιλύσετε αντίσταση και σύγχυση και να σχεδιάσετε το ταξίδι μπροστά σας."

Η McConathy της Trulia προτείνει επίσης μια κουλτούρα που εστιάζει στους εργαζόμενους και μια ανοιχτή πόρτα - ακόμη και σε σχέση με τα καθήκοντα που βασίζονται σε επιχειρήσεις. "Έχω ακυρώσει τις συναντήσεις με τον πρόεδρό μας για να πάρω καφέ με έναν νέο υπάλληλο ή κάποιον που προσπαθεί να αντιμετωπίσει ένα πρόβλημα", λέει ο McConathy.

3. Αυξήστε την προβολή των επιχειρήσεων

Το να δώσετε στους προγραμματιστές σας μεγαλύτερη προβολή στην επιχείρηση είναι ένας άλλος τρόπος για να διασφαλίσετε ότι οι τεχνικές σας ομάδες μπορούν να αποκτήσουν μια βαθύτερη κατανόηση για την επίτευξη των επιχειρηματικών στόχων. Για αυτό, ο Larry Gadea, Διευθύνων Σύμβουλος της Envoy, κηρύττει τη διαφάνεια.

«Εκτός από τις πληροφορίες ιδιωτικών υπαλλήλων και τα δεδομένα των πελατών, επιτρέπουμε στους υπαλλήλους να βλέπουν τα πάντα για την επιχείρηση», λέει ο Gadea. "Αυτό περιλαμβάνει ενημερώσεις επενδυτών, διαφάνειες συνεδριάσεων του Διοικητικού Συμβουλίου, οικονομικά μέχρι το λεπτό - συμπεριλαμβανομένων των υπολοίπων τραπεζικών λογαριασμών - ημερολόγια που δεν έχουν διαγραφεί κ.λπ."

Η Bridget Frey, CTO της Redfin, συμφωνεί ότι η έκθεση στις βασικές επιχειρηματικές δραστηριότητες της εταιρείας είναι σημαντική για να βοηθήσει τους προγραμματιστές να αποκτήσουν πολύτιμες πληροφορίες.

«Οι μηχανικοί μας σκιάζουν τους κτηματομεσίτες μας, μαθαίνοντας πώς είναι να ταξιδεύουν οι πελάτες ή να διαπραγματεύονται μια τιμή αγοράς σπιτιού», λέει ο Frey.

4. Σπάστε τους τοίχους

Εάν τα έργα σας δεν επιλύουν τα προβλήματα που υποτίθεται, μπορεί να είναι θέμα εμποδίων που πρέπει να καταρρεύσουν.

Η Amanda Whaley, διευθυντής της εμπειρίας προγραμματιστή στο Cisco, επιτίθεται σε σιλό με στόχο δύο τομείς: τον πολιτιστικό και την τεχνολογία.

«Από την πολιτιστική πλευρά, επενδύουμε ενέργεια στην οικοδόμηση σχέσεων σε ολόκληρη την εταιρεία», λέει ο Whaley. "Ένα παράδειγμα είναι η χορηγία εσωτερικών συνεδρίων και ημερών hackathon όπου μέλη της ομάδας από πολλούς οργανισμούς μπορούν να συνεργαστούν σε ένα εργαστήριο και να δημιουργήσουν συνδέσεις που μπορούν στη συνέχεια να χρησιμοποιηθούν για τη διευκόλυνση της συνεργασίας."

«Από την πλευρά της τεχνολογίας, εκτιμούμε μια κουλτούρα που βασίζεται στο API», προσθέτει ο Whaley. "Αυτό ενθαρρύνει τις ομάδες ανάπτυξης να δημιουργήσουν API, έτσι ώστε οι άλλες ομάδες να μπορούν να δημιουργούν ενσωματώσεις και να αξιοποιούν τα έργα της άλλης".

5. Μάθετε πότε πρέπει να κάνετε cross-train - και πότε να ειδικευτείτε

Η ανάληψη ρόλων βραχυπρόθεσμα μπορεί να δημιουργήσει μια ομάδα που είναι καλύτερα εκπαιδευμένη για να χειριστεί απρόσμενα προβλήματα εν κινήσει. Εδώ, η πολλαπλή προπόνηση μπορεί να είναι απαραίτητη για να αξιοποιήσετε στο έπακρο την ομάδα σας.

Η Redfin’s Frey λέει ότι η εταιρεία χρησιμοποιεί ευρεία εκπαίδευση. «Μέσα στη μηχανική, οι περισσότεροι από τους μηχανικούς μας εργάζονται με πολλαπλές τεχνολογίες και διεξάγουμε μια σειρά μαθημάτων κατάρτισης μηχανικών που είναι ανοιχτά σε όλους».

Ωστόσο, μπορεί να υπάρχει ένα ανώτατο όριο στην cross-training όπου οι αποδόσεις δεν δικαιολογούν πλέον την απομάκρυνση ειδικών από τον τομέα τους για αύξηση της ευελιξίας. Ο John Paliotta, συνιδρυτής και CTO του Vector Software, λέει ότι ενώ είναι σημαντικό, η διασταυρούμενη εκπαίδευση μπορεί να προχωρήσει πολύ.

"Για μια ομάδα ανάπτυξης θέλετε σαφώς απολύσεις, έτσι ώστε πολλοί προγραμματιστές να μπορούν να εργάζονται στην ίδια περιοχή του προϊόντος, αλλά θέλετε επίσης κάθε προγραμματιστής να έχει μια βαθιά εξειδίκευση", λέει η Paliotta. "Η εξειδίκευση οδηγεί σε τεράστια κέρδη παραγωγικότητας σε σχέση με την ομάδα γενικών."

6. Ανακατέψτε το

Ένας άλλος τρόπος για να διευκολυνθεί η συνοχή και να καταργηθούν τα εμπόδια είναι να εκθέσετε τα μέλη της ομάδας σε συναδέλφους τεχνολογίας με τους οποίους μπορεί να μην αλληλεπιδρούν συνήθως στα καθημερινά τους καθήκοντα.

Ο Zubin Irani, ιδρυτής και διευθύνων σύμβουλος του cPrime, υπογραμμίζει την ανάγκη να το συνδυάσει: «Στην τελευταία συνάντηση όλων των χεριών, αντί να σπάσουμε τις συνηθισμένες ομάδες μας, στην πραγματικότητα αναμίξαμε διαφορετικές ομάδες μαζί ώστε να μπορούσαν να μιλήσουν για θέματα μεταξύ ομάδων, και να βρούμε λύσεις μαζί για το πώς να βελτιώσουμε τα πράγματα », λέει η Irani. «Για παράδειγμα, η ομάδα μας για κινητές συσκευές, η ομάδα ηλεκτρονικού εμπορίου και η ομάδα API μας συναντήθηκαν μαζί με το στόχο να μιλήσουν για το τι λειτουργεί καλά και τι όχι μεταξύ των ομάδων, και πέρασαν χρόνο να βρουν τρόπους να βελτιώσουν εκεί που είχαν προκλήσεις. "

Η Usha Parsa, διευθυντής προϊόντων της Yahoo Cloud Services, λέει ότι η διασταυρούμενη επικονίαση μεταξύ ομάδων έχει να κάνει με τη δημιουργία κοινών στόχων.

«Πιστεύουμε σε μια ευέλικτη προσέγγιση… πέρα ​​από διαφορετικά όρια αναφοράς που συγκεντρώνονται για εκτέλεση προς έναν κοινό στόχο», λέει η Parsa. «Οι αρθρωτές ομάδες μοιράζονται έναν κοινό στόχο. Οι ομάδες έχουν ατομικές καθημερινές στάσεις για αποδοτικότητα, αλλά οι ομάδες συναντιούνται επίσης σύντομα «Scrum of Scrums» αρκετές φορές κατά τη διάρκεια της εβδομάδας για να μοιραστούν την πρόοδο και όπου χρειάζονται βοήθεια μεταξύ τους ».

7. Πηγαίνετε διαλειτουργικά

Μερικές φορές ο καλύτερος τρόπος για να αξιοποιήσετε στο έπακρο την ομάδα ανάπτυξης σας είναι να τους χωρίσετε και να τους διπλώσετε σε ομάδες πολλαπλών λειτουργιών που συγκεντρώνουν ταλέντα από διάφορες πτυχές της επιχείρησης. Αυτό είναι ιδιαίτερα αποτελεσματικό εάν βρείτε έργα που εμποδίζονται από σιλό τμημάτων.

Ο Nic Grange, CTO της Retriever Communications, λέει ότι η δημιουργία ομάδων με βάση τα αποτελέσματα - παρά τη λειτουργία - βοηθά στη μείωση των προβλημάτων που βρίσκονται στα σιλό. Καταλήγει στον τρόπο δομής της επιχείρησής σας.

«Η δημιουργία μιας δομής διαλειτουργικών ομάδων μπορεί να συμβάλει στη μείωση του αντίκτυπου των σιλό», λέει ο Grange. «Ορισμένες πληροφορίες θα παραμείνουν αθόρυβες εντός της διαλειτουργικής ομάδας, αλλά τουλάχιστον έχουν όλες τις πληροφορίες που χρειάζονται για να παραδώσουν τα επιχειρηματικά τους αποτελέσματα».

8. Βγείτε από το γραφείο

Τι γίνεται με τους τρόπους για να διατηρηθεί η συνεργασία των μελών της ομάδας; Πώς κρατάτε μια ομάδα αίσθημα παρακινημένη, άνετη η μία με την άλλη, και το σημαντικότερο, δεν εξαντλείται;

Ο Έντεν Τσεν, Διευθύνων Σύμβουλος και ιδρυτής της Fishermen Labs, λέει ότι η εταιρεία του απομακρύνεται - μακριά - από το γραφείο της στο Λος Άντζελες κάθε χρόνο για δύο εβδομάδες.

«Εξετάζουμε το Σίδνεϊ, τη Μαδρίτη ή τη Βουδαπέστη φέτος», λέει ο Τσεν. «Είμαστε σε θέση να εργαστούμε εκεί και ακόμη να ολοκληρώσουμε έργα κατά τη διάρκεια αυτής της χρονικής περιόδου δύο εβδομάδων, αλλά αυτό είναι τεράστιο για την οικοδόμηση ομάδων, για τη συζήτηση μέσω ανεπαρκειών διεργασιών και για τη δημιουργία των πολλαπλών ομάδων στην ίδια σελίδα - επιχείρηση, διαχείριση έργου, σχεδιασμός και ανάπτυξη. Κάνουμε επίσης μία συνάντηση τον μήνα όπου βγαίνουμε και κάνουμε κάτι διασκεδαστικό. "

9. Γιορτάστε την επιτυχία

Ένας άλλος τρόπος για να αποφύγετε την εξάντληση και να αυξήσετε το ηθικό είναι να αφιερώσετε χρόνο για να κολλήσετε στην πλάτη. Εδώ, ο Artur Seidel, αντιπρόεδρος της Elektrobit, συμβουλεύει να γιορτάσει τις επιτυχίες αμέσως.

«Πάντα διοργανώνουμε ένα πάρτι αποστολής που γιορτάζει μια σημαντική κυκλοφορία για έναν πελάτη», λέει ο Seidel.

Υπενθυμίζει ένα έργο με αυστηρή προθεσμία που οδήγησε στην εργασία κατά τη διάρκεια των διακοπών.

«Τελειώσαμε στις 29 Δεκεμβρίου, και γιορτάσαμε με μια μέρα χιονιού στην καναδική ερημιά… και μετά πετήσαμε σπίτι», λέει ο Seidel. «Αυτό που θα μπορούσε να ήταν μια πραγματική αντίσταση μετατράπηκε σε θετική μνήμη και ομαδικό δεσμό».

10. Δώστε πίσω και δεσμεύστε

Ας το παραδεχτούμε, δεν μπορούν όλοι να βρουν πάθος στην αντιμετώπιση αναφορών σφαλμάτων για την επιδίωξη επιχειρηματικών στόχων όλη την ώρα. Ορισμένοι προγραμματιστές ελπίζουν να φέρουν τις δεξιότητές τους για να αντιμετωπίσουν πιο πιεστικά προβλήματα έξω από το χώρο εργασίας, αν μόνο είχαν το χρόνο.

Γιατί να μην τρέξετε με αυτό το ένστικτο και να δώσετε μια πολύτιμη ανανέωση για τις ψυχές και το μυαλό των μηχανικών σας;

Στην Cisco, ο Whaley λέει ότι η εταιρεία «ενθαρρύνει τους υπαλλήλους να προσφέρουν εθελοντικά το χρόνο τους για να βοηθήσουν την κοινότητά τους ή να υποστηρίξουν μια παγκόσμια αιτία. Αυτές οι εθελοντικές ευκαιρίες είναι ένας τρόπος να δώσετε πίσω και να περάσετε χρόνο μαζί ως ομάδα. "