Domanda:
Ho svolto accidentalmente il lavoro del mio collega meglio di lui. Devo dire qualcosa al riguardo?
user91714
2018-08-29 12:05:16 UTC
view on stackexchange narkive permalink

Io e il mio collega lavoriamo entrambi per una piccola startup. A entrambi sono state assegnate diverse sezioni del prodotto su cui lavorare, con diverse aree di competenza. Abbiamo entrambi lo stesso capo (il proprietario dell'azienda).

La scorsa settimana è stato incaricato di creare del codice da utilizzare per me. Mentre aspettavo che mi consegnasse la sua parte per l'integrazione nel mio codice, ho generato del codice sostitutivo da utilizzare nel frattempo in modo da poter continuare il mio lavoro. Non ho scritto il codice. È stato generato utilizzando uno strumento MATLAB e ho appena inserito i parametri.

Quando ha inviato il suo codice finale, ho visto che il mio codice generato da MATLAB era di gran lunga superiore. Ha anche utilizzato MATLAB per generare i suoi risultati, ma ha utilizzato uno strumento diverso con parametri diversi.

Avevo l'impressione che avrebbe generato questi risultati "manualmente" invece di utilizzare il generatore MATLAB. Ho appena usato il generatore come soluzione rapida mentre aspettavo che finisse.

Non so davvero cosa fare. Non avevo intenzione di fare il suo lavoro per lui, e non l'ho fatto davvero (non sarei in grado di farlo a mano in ogni caso!). Non voglio che si senta come se stessi pestando le dita dei piedi. Eppure, allo stesso tempo, c'è un enorme miglioramento nei risultati tra il mio e il suo (che è quantificabile). Inoltre, non voglio utilizzare un codice inferiore quando so che ne è disponibile uno con prestazioni migliori.

Voglio chiarire questo e parlarne con qualcuno, ma non so come affrontare l'argomento senza sembrare un cattivo giocatore di squadra, o tentare di sabotare il lavoro del mio collega, o qualcosa del genere. Come ne parlo con lui? O ne parlo con il nostro capo?

Hai l'impressione di doverti intrufolare attentamente intorno a questo collega?Com'è la dinamica del team?Sei allo stesso livello?È anziano?
@Lilienthal Non mi sento come se dovessi calpestarlo con cautela.Penso di essere un po 'sensibile a cose come questa perché non ho molta esperienza nel lavorare in un team e preferisco di gran lunga lavorare da solo.So che il lavoro di squadra è qualcosa su cui devo lavorare.Siamo entrambi sullo stesso livello gerarchico in azienda, ma non ho idea del suo livello di esperienza professionale poiché non ero coinvolto nell'assunzione o qualcosa del genere.L'ho sempre trattato come qualcuno che sa più di me.
Sei nuovo nel mondo del lavoro in generale o solo in questo team?O in precedenza non hai lavorato molto in una squadra?Se sei nuovo a tutto questo (e anche la tua esperienza su carta è limitata) puoi chiedere un feedback più diretto sulla navigazione in quanto non è insolito.Ma immagino che qui potremmo andare fuori tema.Consiglierei forse di dare un'occhiata a [chat] perché potrebbe essere un buon posto per discutere su come lavorare in questo contesto e su come acquisire maggiore familiarità / familiarità con il lavoro a stretto contatto con le persone.
@Lilienthal Non sono nuovo al mondo del lavoro, la mia scelta professionale si presta solo al lavoro individuale (che è uno dei motivi per cui lo amo così tanto).Sono stato in questa azienda da ~ 10 mesi e il mio collega è stato qui da ~ 2 mesi.Ho già lavorato con altre persone (in altre aziende) ma c'è sempre stata una netta separazione tra il "mio" lavoro e il "loro".Sono sempre stato lasciato a fare il mio lavoro a modo mio.In questo caso c'è più di una sovrapposizione di domini che ha permesso che ciò accadesse.
Sei ** sicuro ** che il tuo codice sia migliore?La qualità include cose diverse come prestazioni, leggibilità e correttezza.Ci sono momenti in cui bubblesort è il miglior algoritmo di ordinamento per l'attività, dopotutto ...
@Brandin così ho parlato con il mio collega e lui ha effettivamente menzionato qualcosa che mi mancava, quindi la mia idea non era eccezionale come pensavo!Eh, ecco perché è stato assunto per il suo lavoro e io per il mio.
** Perché ** devi dirlo a qualcuno?Il tuo capo pensa che la grande prestazione sia dovuta al codice del tuo collega?O vuoi "solo" il riconoscimento (il che è abbastanza ragionevole)?
@RonJohn neanche?Voglio capire (1) perché i miei risultati sono stati migliori e (2) ottenere un consenso su quale utilizzare nel prodotto finale.Non mi sento come se il numero 2 fosse una chiamata che posso o dovrei fare da solo.
Stacey, "* Voglio capire (1) perché i miei risultati sono stati migliori e (2) ottenere un consenso su quale utilizzare nel prodotto finale. *" Non è quello che ho "ottenuto" dalla tua domanda.Scusate.
@RonJohn Stavo arrivando con "Inoltre non voglio usare un codice inferiore quando so che ne è disponibile uno più performante. Voglio chiarire questo" ma non era molto chiaro.
@Snickers3192 eh, a volte è utile, altre volte è abominevole.Si tratta di sapere quando usarlo e quando evitarlo come la peste.Alcuni degli strumenti DSP sono davvero carini, ma non toccherei la generazione di codice HDL con un palo di chiatta di 10 piedi.
@o.m.avendolo fatto più volte, indipendentemente da come lo si genera, il codice generato da Matlab non è realmente leggibile: P: D
Cinque risposte:
#1
+251
Caroline
2018-08-29 15:50:18 UTC
view on stackexchange narkive permalink

Consiglio di parlarne con il tuo collega, non con il tuo capo. Anche se pensi che il tuo codice sia superiore, potrebbe essere che ti stia perdendo alcuni dettagli specifici o che ci siano situazioni a cui non hai pensato (immagine più grande).

Quando parli con il tuo collega spiega la situazione: hai usato il codice come soluzione rapida e sta dando risultati diversi rispetto al codice dei tuoi colleghi. Chiedigli di questa differenza. Vorresti ricontrollare con lui se ti manca qualcosa.

Supponendo che il tuo collega sia un giocatore di squadra, osserverà i tuoi stessi risultati e ti dirà da dove viene questa differenza e perché il suo codice è migliore, oppure te lo dirà hai ragione e puoi usare il tuo codice. In entrambe le situazioni il tuo obiettivo di ottenere la migliore soluzione possibile sarà raggiunto e tu e / o lui imparerete qualcosa di nuovo.

+1 per quel primo paragrafo.Una volta pensavo di aver scritto un fantastico HTML solo per essere informato che sostanzialmente ho distrutto l'accessibilità per lo screen reader.Ottieni sempre il quadro completo.
Inoltre, in questo modo entrambi potreste imparare dall'esperienza: è probabile che nessuno dei due codici sia perfetto, la combinazione di parti di entrambi migliorerà ulteriormente le cose.Il codice dello strumento potrebbe avere problemi in alcuni casi, ma potrebbe essere una buona base da cui partire in futuro.
Nel mondo della tecnologia la chiamiamo "revisione del codice" :) Potresti anche trovare una terza opzione migliore.
#2
+56
mandy
2018-08-29 12:26:09 UTC
view on stackexchange narkive permalink

O ne parlo con il nostro capo?

No, non lo consiglierei. È un piccolo problema, davvero.

Come posso parlargliene?

Solo i fatti. Hai fatto un confronto tra il tuo codice e il suo codice e stai scegliendo la soluzione migliore tra i due.

Supponendo che il tuo collega sia comprensivo e non ne faccia un gran chiasso, allora non ci sono problemi . A meno che non si sappia che il tuo collega ha un brutto carattere, non dare per scontato il problema finché non ne hai uno.

Potevi fare di meglio? Direi di sì.

Avresti potuto condividere la tua "soluzione temporanea" con il tuo collega. In questo modo, conosce l'obiettivo: il suo lavoro deve essere migliore del tuo.

Non avevo intenzione di fare il suo lavoro per lui.

Non l'hai fatto. Hai appena scoperto accidentalmente una soluzione migliore a un problema. Questo è comune, soprattutto nelle aree legate alla ricerca. Dopo tutto, diciamo K eep I t S imple S”tupid.

Lezioni appreso:

  1. Hai scoperto che in certi scenari, il modo "rapido sporco di &" (in questo caso, generare risultati in Matlab) è una soluzione migliore. Spendere tempo e sforzi extra non produce necessariamente un risultato migliore.
  2. Puoi condividere le correzioni temporanee con altri quando iniziano a lavorare su una soluzione migliore, il che fornisce loro un quadro di riferimento sulla qualità del loro lavoro. / li>
Per quanto riguarda il numero 1, direi che non lo fa quasi mai.Non stiamo più lavorando in assembly, i compilatori generalmente fanno un lavoro di ottimizzazione molto migliore di quanto possa fare qualsiasi singola persona.Il codice generato con uno strumento sofisticato sarà quasi sempre superiore a quello che puoi pensare da solo, semplicemente per la storia che ha.
@kevin: ovviamente non hai mai registrato una macro in nessun prodotto MS Office.Il codice VBA che produce, sebbene funzionale, è ** orribile ** in termini di efficienza, velocità di esecuzione e buone abitudini di codifica.Oh, colpa mia ... hai detto strumento "sofisticato"!
@FreeMan Ho letto le prime parole e stavo per sbraitare con te sul mio uso della parola "sofisticato", ma sembra che tu mi abbia avuto lì :) Ammetto che il commento avrebbe potuto essere meno concreto, prendilo come uniperbole se vuoi.
@kevin - Sono stato per la maggior parte del tempo attraverso il mio commento prima che "sofisticato" mi venisse fuori davvero, quindi sarebbe stato quasi valido!/ OT
O un generatore HTML WYSIWYG.
A volte l'ottimizzazione umana può essere migliore se è qualcosa di fondamentale nella progettazione piuttosto che i passaggi effettivi per arrivarci.I.E.un algoritmo completamente diverso basato su cose che un computer non rileverebbe e non sarebbe ovvio a qualcuno inesperto.
Sono scioccato che abbia così tanti voti positivi, perché questa risposta perde completamente la possibilità che il codice OP non sia affatto migliore.In effetti, il follow-up degli OP ha chiarito che c'era qualcosa che hanno trascurato con il loro codice, quindi è del tutto possibile che seguire questo consiglio avrebbe portato a problemi lungo la strada.
#3
+5
Craig Brunetti
2018-08-29 18:01:27 UTC
view on stackexchange narkive permalink

Non hai fatto nulla di sbagliato.

Non sono d'accordo che tu sia in alcun modo colpevole di non aver comunicato l'implementazione dello stub. Creare stub è una pratica standard.

"Ho notato che la tua implementazione e quella che stavo usando come misura temporanea hanno delle somiglianze. Potremmo prenderci una mezz'ora per controllarle entrambe?"

Supponendo che il tuo collega sia d'accordo, puoi avere con te la tua quantificazione, ma presentarla in modo informale, non come un martello. Troppo spesso, la tua POTREBBE essere migliore, ma l'alternativa può avere alcuni pezzi migliori e la soluzione migliore finisce per combinare il meglio di due soluzioni.

Parlarlo non solo aiuta ad avvicinarsi a soluzioni migliori, ma contemporaneamente aiuta a formare / definire rapporti di lavoro. Se ne parlerà, sei sulla buona strada. Se non lo farà, allora hai anche una conoscenza utile ...

Se non ci sono riunioni nel mezzo, controlla il tuo codice sul suo. Il tuo onere per la prova non è superiore al suo e se la tua soluzione è superiore, è meglio per l'azienda. Poco prima di farlo, parla con la direzione del tuo piano per farlo, ma che non stai cercando che intervengano, solo per sostenere il tuo gioco. Se la direzione non è d'accordo, l'adozione dell'implementazione inferiore è su di loro, non su di te.

I buoni colleghi, siano essi implementatori o manager, riconosceranno sempre e apprezzeranno il lavoro migliore attraverso una comunicazione aperta. Poveri, beh, non lo faranno, e non c'è modo di cambiarli. Fai del tuo meglio, ogni volta, e le persone migliori rimarranno con te.

#4
+4
Ertai87
2018-08-29 18:45:53 UTC
view on stackexchange narkive permalink

Potrei mostrare al mio collega la situazione e spiegargli cosa hai fatto. Mi asterrei dall'affermare in anticipo che pensi che il tuo lavoro sia migliore, perché questo potrebbe metterlo sulla difensiva. Lo inquadrerei come un'esperienza di apprendimento: "Questo mi sembra migliore, ma mi piacerebbe sapere perché non lo è" e chiedergli di difendere il suo codice. Se non può, allora puoi avere la sua benedizione per non usare il suo lavoro senza sentimenti negativi, e potrebbe aver imparato alcune nuove tecniche per il futuro, e se può, allora hai imparato che la tua reazione istintiva iniziale a quale il codice è migliore potrebbe dover essere ricalibrato.

#5
+1
Dmitry Grigoryev
2018-08-31 12:47:23 UTC
view on stackexchange narkive permalink

Come posso parlargliene?

- Ehi Jim, ho generato un'implementazione di X che sembra funzionare più velocemente (produce risultati più precisi, ecc. qualunque cosa tu intenda per "superiore") rispetto alla tua. Vuoi vederlo?

Quindi il tuo collega può migliorare la loro implementazione in base al tuo contributo, o decidere di scalfire la loro implementazione e andare avanti con la tua. O forse non vorranno affatto vedere la tua versione.

Qualunque sia il risultato, ti suggerisco di mantenere l'implementazione che il tuo collega decide di seguire nel prodotto finale. Sono stati incaricati di farlo e ne sono responsabili. Se in seguito viene scoperto un bug nell'implementazione che hai fornito da solo, sarai l'unico da incolpare.



Questa domanda e risposta è stata tradotta automaticamente dalla lingua inglese. Il contenuto originale è disponibile su stackexchange, che ringraziamo per la licenza cc by-sa 4.0 con cui è distribuito.
Loading...