Domanda:
Ho oltrepassato i miei limiti creando uno strumento "alle spalle del mio manager", durante le ore non lavorative?
Mage Xy
2017-10-05 03:24:05 UTC
view on stackexchange narkive permalink

Contesto

Sono uno sviluppatore di software negli Stati Uniti. Lavoro in un team molto, molto piccolo e abbiamo il compito di sviluppare e supportare un'app mobile personalizzata per uno dei più grandi clienti della nostra azienda. L'app stessa è stata distribuita al client e lo adorano. Tuttavia, alcune volte al giorno, un utente chiamerà / email per un supporto tecnico che di solito richiede una modifica ad alcuni dati sul database. Questi aggiornamenti ci richiedono di saltare sul server di produzione del client e modificare i dati manualmente.

Per la maggior parte di queste richieste, abbiamo alcuni script SQL di serie che possiamo eseguire per trovare e aggiornare i dati appropriati. Tuttavia, questi script sono soggetti a errori perché ci sono molti passaggi manuali per ogni script. Ad esempio, devi cercare un numero di ordine, quindi cercare quali stati sono validi per quel tipo di ordine, quindi aggiornare l'ordine a uno di quegli stati (in diversi punti): l'aggiornamento a uno stato non valido causa un sacco di danneggiamento dei dati verso il basso la strada ... Abbiamo dovuto lavorare più di una volta per correggere errori di battitura che hanno cancellato / modificato più record di quanto avrebbero dovuto. Avevamo uno strumento creato dal mio manager che poteva gestire uno o due degli scenari più complicati, ma quello strumento era un po 'noioso da usare e non gestiva gli errori molto bene. (Il mio manager lo ammette lui stesso.)

Per rimediare, ho pensato che sarebbe stato bello automatizzare il processo. Quindi, durante il mio tempo libero nei fine settimana, ho messo insieme un nuovo strumento utilizzando alcuni pezzi di quello vecchio come base. Utilizzando l'esempio sopra, lo strumento ci consentirebbe di selezionare un ordine e quindi semplicemente scegliere uno stato. Lo strumento gestirà la ricerca di stati validi ed esegue tutte le verifiche "dietro le quinte".

Il nuovo strumento ha molte più funzioni e opzioni disponibili. Oltre ad essere molto più a prova di errore, registra anche tutte le azioni eseguite, quindi nel caso in cui modifichiamo accidentalmente dati che non avrebbero dovuto essere modificati, è facile cercarli e cambiarli di nuovo. L'ho progettato specificamente per essere facile da usare in modo che se il nostro team avesse mai assunto una nuova persona, sarebbe stato molto semplice addestrarla a prendersi cura delle nostre richieste di supporto più elementari.

Alcuni dettagli che potrebbero essere importanti :

  • Per verificare che lo strumento funzionasse correttamente, l'ho testato sul nostro sistema di sviluppo interno, che è la procedura standard della nostra azienda per tutte le applicazioni che sviluppiamo. L'ho solo fatto alla fine della mia giornata lavorativa, dopo aver terminato il lavoro effettivamente assegnato per la giornata. Nessun "tempo aziendale" è stato sprecato in questo progetto.
  • I nostri database sono facilmente ripristinabili dai backup, quindi se avessi distrutto accidentalmente i dati (cosa che non è molto probabile all'inizio, ma comunque), lo farebbe non sono stati un grosso problema. In effetti, è qualcosa che avrei potuto fare da solo, se necessario.
  • NON ho utilizzato il nuovo strumento sul server di produzione del client e non avevo intenzione di farlo finché non ho ha avuto l'approvazione del mio manager, anche se questo significava che mi era stato detto di non usarlo affatto.
  • È sempre stata mia intenzione informare il mio manager dello strumento una volta che era finito. Gliel'ho detto poco prima a causa della notizia di un nuovo assunto.

Il conflitto

A quanto pare, il mio manager recentemente mi ha fatto sapere che presto assumeremo un nuovo sviluppatore. Pensando che questo sarebbe stato un buon momento per mostrargli i miei progressi, gli ho mostrato le capacità di questo nuovo strumento. La sua reazione non è stata proprio quella che mi aspettavo. Sebbene fosse impressionato da quanto fosse robusto e versatile lo strumento, e abbia anche affermato che sarebbe stato felice di sostituire il vecchio strumento con la mia versione aggiornata, ha anche espresso un certo disappunto per non avergli parlato del progetto molto prima. Ha detto che per me era improduttivo lavorarci senza la sua approvazione poiché avrebbe potuto non approvare questo lavoro. Mi ha esplicitamente chiesto di non lavorare più a nessun progetto "extra" nel mio tempo libero, a meno che non parli prima con lui. Anche se non lo ha detto subito, ho avuto l'impressione che sentisse che avessi minato il suo ruolo di manager.

Onestamente non ho considerato questa prospettiva mentre creavo lo strumento, ma ora capire completamente la sua posizione. Forse stavo guardando questo progetto con infantile ingenuità, sperando di sorprendere il mio manager con un "regalo" che avrebbe reso il nostro lavoro un po 'più facile. Ovviamente non ha funzionato. Ora sono preoccupato che, nonostante le mie migliori intenzioni, ho oltrepassato i miei limiti come dipendente. L'ho fatto? Quale sarebbe una linea di condotta appropriata a questo punto?

I commenti non sono per discussioni estese;questa conversazione è stata [spostata in chat] (http://chat.stackexchange.com/rooms/67057/discussion-on-question-by-mage-xy-did-i-overstep-my-bounds-by-creating-a-strumento-b).
Cinque risposte:
Dragonel
2017-10-05 05:37:46 UTC
view on stackexchange narkive permalink

Sembra che tu abbia fatto davvero un ottimo lavoro nel rendere lo strumento versatile, ma parlarne con il tuo manager in una fase precedente gli avrebbe permesso un input sul design e avrebbe potuto aggiungere alcuni pensieri che tu potrebbe non aver considerato. Potrebbe anche aver conosciuto alcuni fattori che tu non conoscevi, come ad esempio stavano pianificando di sostituire l'intero sistema in 2 mesi comunque, o il lavoro che hai svolto era effettivamente nel loro piano da svolgere ufficialmente in orario lavorativo il prossimo trimestre .

Ancora più preoccupante, i test sui server interni dell'azienda, anche al di fuori dell'orario di lavoro, possono aver causato problemi. A quel punto stavi influenzando l'azienda, senza dirlo al tuo manager, e se ci fosse qualcun altro che ci stava lavorando in quel momento che non capiva perché stavi modificando i dati. O se un altro manager avesse visto che stavi accedendo al database in ritardo e avesse chiesto informazioni al tuo manager. Sarebbe stato colto alla sprovvista, il che può essere imbarazzante.
Hai detto "I nostri database sono facilmente ripristinabili dai backup, quindi se avessi distrutto accidentalmente i dati (che non è molto probabile all'inizio, ma comunque), lo farebbe non sono stati un grosso problema ". Ma il tuo manager deve spiegare alle persone perché il database è stato distrutto & che deve essere ripristinato dai backup potrebbe essere stato importante.

Non preoccuparti troppo ora sembra che le cose vadano bene, basta impara dall'errore e discuti la tua prossima idea con il tuo manager. Potrebbe persino essere in grado di autorizzare il prossimo strumento da eseguire in orario aziendale se gli puoi mostrare i vantaggi.

"test sui server interni all'azienda, anche fuori orario" -> SOPRATTUTTO fuori orario.Se sbagli, ora devi chiamare le persone
"avrebbe potuto aggiungere qualche pensiero .... ecc ...." - diavolo, avrebbe potuto PAGARE OP per il loro tempo!
@PoloHoleSet D'accordo, questo era il mio punto nell'ultima frase.D'altra parte, l'OP non dovrebbe andare dal proprio manager e suggerire di essere pagato per fare qualcosa nel proprio tempo quando avrebbe potuto essere fatto in tempo aziendale.
Stava testando in dev - spero che "ho sbagliato dev" sia un "reato" pari a quello di prendere l'ultima ciambella.
@RobCrawford Dipende dalle loro routine per la gestione dei sistemi "dev".Se qualcun altro ("Joe") stava testando su quel sistema di sviluppo perché nessuno sapeva che OP stava facendo qualcosa, avrebbero comunque potuto causare problemi.Quindi direi che potrebbe variare da "Ho preso la ciambella che era specificamente destinata a Joe" a "Ho cancellato le 98 ore di test prioritari di Joe appena prima della sua scadenza"
C'è anche la preoccupazione che questa applicazione sia effettivamente non verificata.A seconda di quanto tempo hai lavorato lì e di quanto sei esperto, potrebbe non essere un problema ... ma è come dire "Ho trovato questa app davvero utile su [nome del sito web oscuro] che può sostituire il nostro processo attuale" -il manager deve sapere che è sicuro e affidabile.
Questo è il motivo per cui abbiamo ambienti di sviluppo / test.
Joe
2017-10-05 19:20:47 UTC
view on stackexchange narkive permalink

Sì, hai oltrepassato i tuoi limiti qui.

Il problema non è che hai lavorato nel tuo tempo libero: come sviluppatori questa è una cosa molto comune che lavoriamo a casa, a tarda notte, che conosce. Fa parte del lavoro.

Il problema non è che hai creato uno strumento che ti aiuterà nel tuo lavoro. Come sviluppatori, anche questo è molto comune: come esempio estremo, le persone contribuiscono a Firefox, Git, persino Linux, nel loro tempo libero, e in molti casi questi contributi li aiutano nel proprio lavoro e sono spesso la base logica per farlo il lavoro.

Il problema è che hai fatto qualcosa che potrebbe essere ragionevolmente considerato parte del tuo lavoro. Hai usato il codice dell'azienda, presumibilmente l'hardware dell'azienda, e hai fatto qualcosa che avresti potuto fare altrettanto bene durante l'orario di lavoro. Se l'avessi fatto durante le ore di lavoro, nel normale processo di sviluppo, probabilmente saresti stato elogiato per averlo fatto.

Invece, hai fatto qualcosa che è abbastanza comune per i nuovi sviluppatori. Anch'io l'ho fatto una volta. Scommetto che la maggior parte di noi lo fa - una volta, si spera.

Ciò che sembra è che pensi di sapere cosa dovresti fare meglio del tuo manager e del tuo team. Hai detto "Penso che questo processo non sia corretto" e hai deciso di risolverlo. Probabilmente hai ragione, probabilmente è un male, ma non è la tua chiamata: dipende dal tuo manager e dal tuo team.

Il fatto che tu abbia usato il tuo tempo non ha importanza qui. Hai mancato di rispetto al tuo manager e al tuo team, perché non hai seguito la procedura.

La buona notizia è che questo non è un grosso problema a lungo termine, se lo gestisci bene. Se metti in chiaro che capisci perché hai sbagliato e che capisci che non va bene fare questo genere di cose anche se pensi di avere ragione - e stai lontano dal dire cose come "Ho fatto bene a farlo, ma ho sbagliato a farlo alle tue spalle", che suona come se non capissi davvero.

IMHO, questo è ridicolo.Qualsiasi manager o "team" offeso da un membro che trascorre il proprio tempo personale per semplificare la propria vita ha bisogno di crescere.Chiunque apprezzi questo processo deve allontanarsi dalla burocrazia e provare invece a fare le cose.
Sono d'accordo, sembra che le persone si sentano minacciate.Prendere l'iniziativa per risolvere un problema aziendale dovrebbe essere premiato, non penalizzato.
Se fossi un manager, ti chiederei come posso aiutarti a incoraggiare gli altri a prendere un'iniziativa simile.(non il lato straordinario, ma il lato iniziativa e pensiero indipendente)
In qualità di manager, o autorizzi il tuo personale a svolgere un buon lavoro, oppure ti ostacoli in un buon lavoro.
jmoreno
2018-07-05 15:40:14 UTC
view on stackexchange narkive permalink

Cosa fare ora: niente in particolare. Non hai danneggiato la tua relazione con il tuo capo e qualsiasi cosa diversa da quella è il suo lavoro da sistemare.

Ma lavorare per l'azienda fuori orario (nel tuo tempo libero) può, a seconda del contratto e leggi locali, essere un problema. Negli Stati Uniti gli straordinari non pagati possono comportare pesanti multe e possibili accuse penali per l'azienda / il manager.

Menzionando i tuoi piani al tuo manager, gli avresti dato l'opportunità di valutare entrambi su ciò che era necessario essere fatto così come se fosse consentito o meno. Forse avrebbe preferito che tu facessi questo lavoro come un normale orario straordinario.

Per il futuro, eseguilo da lui prima di iniziare.

Roberto Torres
2017-10-05 20:52:35 UTC
view on stackexchange narkive permalink

Le risposte migliori non si applicano a questo perché questa è una piccola azienda, queste non funzionano come quelle grandi. Nelle piccole aziende gli sviluppatori hanno accesso a molti ruoli e non c'è niente di sbagliato nel lavorare su progetti personali dopo l'orario di lavoro.

Quello che è successo qui è che hai fatto sentire il tuo manager inferiore e questo è sempre un problema. Avresti dovuto includerlo in questo fin dall'inizio ma forse non sapevi che lo strumento sarebbe stato così utile, in ogni caso ti consiglio di non usarlo o parlarne per un po ', lascia che le cose si raffreddino e rimani fedele al tuo processo manageriale / p>

SliderBlackrose
2017-10-05 18:12:52 UTC
view on stackexchange narkive permalink

No. Il tuo tempo è il tuo tempo, il loro tempo è il loro. Finché lo fai al di fuori dell'orario di lavoro (nemmeno "quando non sono occupato", ma rigorosamente fuori orario), allora è il tuo progetto e il tuo tempo. I lavori non ti possiedono, sono un posto che ti paga per un certo tempo sul lavoro. Non mi consulto con il mio datore di lavoro se decido di scrivere un sito web per un amico (si osserva la non concorrenza), quindi non ho bisogno dell'autorizzazione per lavorare su alcun progetto che ritengo abbastanza interessante da dedicarci del mio tempo.

L ' unica cosa che vedo sbagliata è che hai utilizzato i dati interni dell'azienda per i tuoi test. Quella è la loro attrezzatura e i loro dati, anche se si tratta di dati di test. La soluzione migliore in questo caso sarebbe stata ricreare lo schema e alcuni altri dati di test localmente sulla tua scatola di sviluppo e usarli per testare.

Non capisco il problema del capo qui, a parte questo . Perché qualcuno dovrebbe essere scontento di un lavoratore che è disposto a dedicare ore di lavoro senza gridare di essere pagato per questo?

Qualcuno sarebbe infelice perché è solo il manager.Qualsiasi risparmio sui costi non è nelle sue tasche, ma dell'azienda.La perdita di potere (dipendente che svolge un buon lavoro al di fuori dell'orario di lavoro e al di fuori del controllo del manager) è la perdita del manager.Ovviamente scoraggiare il dipendente non è nel migliore interesse dell'azienda, ma in quello del manager.
Questo lavoro dipende interamente dalla proprietà intellettuale del datore di lavoro: il design e il significato dei contenuti del database.Non è niente come "un sito web per un amico".Farlo fuori orario non è una magia "sentiti libero di estendere il software che possediamo e fare affidamento su" foglio di autorizzazione.
** La non concorrenza osservata ** copre tacitamente sia la concorrenza che l'uso del software.Nessun guadagno viene realizzato dal dipendente esterno all'azienda per nessun motivo, quindi non è necessario un "permesso magico".


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