Dici in uno dei commenti che questo è il tuo primo lavoro. I gestori spesso non sono tecnici da nessuna parte tranne un negozio di software dedicato nella mia esperienza. Questo fa parte della vita, abituati.
Piangi e piagnucoli perché non c'è nessuno che apprezzi l'eleganza delle tue soluzioni. Il vero problema qui non è che non c'è nessuno che apprezzi l'eleganza delle tue soluzioni, ma che non c'è nessuno che ti insegni che le tue soluzioni non sono così buone come pensi. Praticamente tutti i nuovi programmatori sopravvalutano le loro capacità reali. Senza mentore, non c'è nessuno che ti aiuti a migliorare le pratiche. Se non c'è nessuno lì a farti da mentore, allora unisciti ai gruppi di utenti locali, partecipa attivamente e porta qualcuno lì a farti da mentore. Ancora meglio, ciò ti aiuterà a trovare un lavoro migliore alla fine.
Hai segnato uno zero nel test Joel? Se sei l'unico programmatore (e suona da quello che hai scritto che sei), perché non stai usando il controllo del codice sorgente? Cosa ti sta impedendo? Se non sei l'unico programmatore, perché non c'è nessuno che possa fare le revisioni del codice? Tutti i nostri sviluppatori eseguono la revisione del codice, non è una funzione di gestione soprattutto quando i gestori non sono tecnici.
I requisiti cambiano praticamente in tutti i posti. Le esigenze aziendali cambiano continuamente e i non programmatori spesso non riescono a visualizzare ciò che il programma farà finché non vedranno qualcosa. Quindi si rendono conto che non è quello di cui hanno bisogno. Ecco perché Agile è nata davvero perché i metodi più vecchi non gestivano bene quel cambiamento.
Imposta il tracciamento dei bug anche se la direzione non vuole inserire i dati da soli. Sii responsabile dell'immissione di nuovi bug / funzionalità quando qualcuno li menziona. Aiuta davvero essere in grado di dire al manager quando vuole un cambiamento che ti sono state assegnate altre 27 cose ed ecco la lista, quale vuoi che io scorra verso il basso l'elenco delle priorità per accogliere questa nuova modifica. Aiuterà al momento della revisione perché sarai in grado di contare il numero di correzioni di bug e funzionalità implementate. Se non lo usano tutti, almeno puoi farlo per il tuo lavoro. Se non ti consentono di installare alcun software, utilizza un foglio di calcolo Excel. Prendi qualche iniziativa. Una volta che puoi mostrare i risultati, altri saranno più interessati. Se pensi che ci sia troppo lavoro per una persona, il bug tracker ti aiuterà a dimostrarlo.
Non fornire demo dall'aspetto lucido! Le demo dovrebbero apparire come se fossero scarabocchiate a penna su un pezzo di carta. Più l'interfaccia è raffinata, più la persona non tecnica pensa che sia finita.
Anche se nessuno saprebbe se non segui le migliori pratiche e il codice semi_hard per esempio, lo saprai e ti imbatterai in cattive abitudini sciatte. Questo non ti servirà bene nel tuo prossimo lavoro. Quindi fai le cose il più vicino possibile al modo giusto nelle circostanze. Assicurati di scrivere i test (considera questo come parte del tempo di sviluppo e dedica il tempo a farlo nelle stime che dai alla gestione anche se non dici specificamente che fa parte del preventivo) e usa questi test per assicurarti le modifiche successive non rompono qualcos'altro.
Devi vederlo come un'opportunità inestimabile per crescere e migliorare. Hai più libertà nella codifica effettiva di molte persone in quella fase della tua carriera. Quindi considera questa un'opportunità per creare un portafoglio di progetti attuati con successo. Quando vai a cercare quel lavoro successivo, essere in grado di evidenziare risultati come il controllo del codice sorgente istituito, il monitoraggio dei bug istituito, il numero X di implementazioni di progetti di successo, ecc., Ti farà distinguere dal resto.
Hai anche una grande opportunità qui per imparare a gestire le aspettative verso l'alto. Questo è askill che ti tornerà utile per il resto della tua carriera. Non hai nulla da perdere nel provare a farlo qui, le cose non sono già buone. Ma puoi imparare le abilità politiche che ti aiuteranno in posti migliori in seguito. Impara a fare un'analisi costi-benefici. Impara a capire meglio il dominio aziendale in modo da poter essere convincente quando parli con loro. Impara a parlare in termini di vantaggi per l'azienda e profitto. Fai delle stime per ogni compito che ti è stato assegnato e anche se non corrispondono a ciò che la gestione ti sta dando, tieni traccia di ciò che hai stimato e di ciò che è effettivamente necessario per migliorare la tua capacità di stimare il lavoro. Una volta che puoi dimostrare che le tue stime sono state storicamente più accurate di quelle gestionali, saranno più propensi ad ascoltare quando dici loro che la stima è troppo bassa. Ma devi creare un track record prima di entrambe le stime più accurate e, soprattutto, la capacità di consegnare i progetti e farli funzionare. Ancora una volta questa è una buona abilità da avere man mano che avanzi nella tua carriera.
Soprattutto non essere passivo e aspettarsi che il miglioramento arrivi dall'alto.