Dovrei usare la lingua in cui mi sento più a mio agio o la società "standard"


18

Svilupperò un sito Intranet per il mio impianto specifico e il nostro standard aziendale per lo sviluppo web è IIS + ASP.Net + VB.Net + Microsoft SQL Server (nota che abbiamo circa 10+ impianti). Il sito Intranet verrà utilizzato solo dal mio impianto e sono l'unico che lo supporterà. Sono molto più abile con una configurazione LAMP , e potrei fare lo sviluppo e la risoluzione dei problemi molto più rapidamente con PHP di quanto non potessi ASP.Net. Anche se la società "standard" è ASP.Net/VB.Net, la maggior parte di ciò che la società fa nel suo complesso è acquistare software di terze parti (che di solito è basato su Java ), e molto, e intendo pochissime persone in la compagnia lo sa persinoVB6 , figuriamoci ASP.Net/VB.Net.

Detto questo, è meglio violare lo standard aziendale e andare con l'installazione che posso supportare meglio, oppure è meglio andare con l'installazione che l'azienda può supportare meglio se dovessi mai andarmene, anche se nessuno al momento in azienda può supportare il proprio standard comunque?

Alcuni fattori aggiuntivi da considerare nel mio caso personale:

  • Ancora una volta, questo è solo per il mio impianto, e sono l'unico che lo supporterà mai a meno che non abbandoni l'azienda, e quindi il mio sostituto lo supporterebbe. Non qualcun altro già in compagnia.
  • La società fa comunque ben poco sviluppo con i loro standard.
  • Quasi nessuna delle società esistenti utilizza il loro standard.
  • Se scelgo lo standard aziendale, devo usare la versione Express di Microsoft SQL e un sistema operativo Windows 7. Dalle mie letture, la versione Express va bene per l'uso aziendale, ma le dimensioni del database sono limitate.

25
La parola chiave qui è violata . Hai scelto la parola giusta e solo leggere la tua domanda dovrebbe dirti che questa è un'idea piuttosto stupida. Hanno scelto lo standard per un motivo. Se non sei d'accordo con quella scelta, dovresti canalizzarla formalmente verso l'alto.
Joel Etherton,

3
"Voglio dire che pochissime persone nell'azienda conoscono persino VB6, figuriamoci ASP.Net/VB.Net." Non vedo davvero cosa abbia a che fare con nulla. VB6 è un brutto codice legacy - il fatto che nessuno sappia che è davvero una buona cosa.
DeadMG

1
@DeadMG, Il problema è che nessuno di loro conosce VB.Net. Quindi, qual è la lingua che uso? Dovrebbero comunque assumere qualcun altro per sostenerlo se me ne andassi.
Ha disegnato Chapin il

3
SQl Server Express supporta database fino a 4 GB. Questo di solito è abbastanza, se non lo è allora è necessario qualche altro database e probabilmente dovresti occupartene con le persone interessate (ragazzo IT, superiori ecc.)
Holger,

3
@ Babbuino, sì, non è che siti come Facebook userebbero mai qualcosa di così poco professionale
SWeko,

Risposte:


38

Ancora una volta, questo è solo per il mio impianto, e sono l'unico che lo supporterà mai a meno che non abbandoni l'azienda, e quindi il mio sostituto lo supporterebbe. Non qualcun altro già in compagnia.

1 - Non dare per scontato che sei l'unico che lo sosterrà. Ti piacciono i momenti di malattia e le vacanze, giusto? Cosa succede se è necessario prendere un congedo prolungato di maternità / paternità o qualcosa del genere? Chi supporterà la tua app allora? Inoltre, se desideri parlare con qualcuno di problemi tecnici specifici della tua azienda? E se desideri avere recensioni di codice? O hai bisogno di aiuto con un bug insidioso? In tutti questi casi aiuta ad essere tra gli altri con una visione approfondita della tecnologia che stai utilizzando, in particolare come può essere applicato per risolvere i problemi specifici della tua azienda.

La società fa comunque ben poco sviluppo con i loro standard.

2 - Solo perché esiste un documento non significa che sia davvero lo standard o significhi qualcosa. Può semplicemente significare che esiste un gruppo di individui politicamente influenti che sostengono questo approccio e che possono emergere altri sottogruppi che adottano approcci diversi.

Il tuo problema potrebbe essere semplicemente che lo "standard" si è evoluto in uno stato di fatto non documentato che è in conflitto con lo "standard" documentato. Oppure potrebbero esserci molti piccoli raggruppamenti non ufficiali di persone che usano diversi "standard" - con uno di quei gruppi che riescono a rendere ufficiale il loro "standard". Probabilmente dovrai chiedere in giro per capire quali altri membri del tuo gruppo - che potrebbero anche supportare te e la tua app - considerano le migliori pratiche. Chiedi cosa si sentono a proprio agio con te usando. Mappa il vero panorama tecnologico della tua azienda e scopri dove si trova il know how. Proprio come qualsiasi buona conoscenza tribale in evoluzione, l'unico modo per sapere come procedere è parlare con le persone.

3 - Non perdere opportunità professionali per imparare cose nuove . Devi stare attento a non farti incantare in questo settore. Sii agile. Potresti avere l'opportunità di guadagnare un po 'di ampiezza e imparare un nuovo modo di risolvere un problema. Per non parlare del fatto che stai acquisendo nuove competenze per il tuo curriculum. Per lo più può solo aiutarti a uscire dalla tua zona di comfort per fare qualcosa di nuovo. Detto questo, se la cosa diversa / nuova è così estremamente di nicchia che non pensi che tu o nessun futuro datore di lavoro otterrete alcun valore da tali competenze, allora forse questa non è una grande opportunità. Ma avere la possibilità di essere sia un esperto di ASP.net che LAMP ti aprirà sicuramente gli occhi e può solo aiutare la tua carriera. Non c'è niente come un vero progetto con una scadenza per costringerti a imparare davvero qualcosa.

Quindi il mio consiglio, non andare da solo. Scopri dove si trovano veramente le persone e decidi dove puoi inserirti meglio. Se devi uscire dalla tua zona di comfort, sfruttala come un'opportunità per crescere professionalmente.


4
+1: lo sosterrai finché lavori lì. Tuttavia, se te ne vai, qualcun altro lo supporterà.
unholysampler il

1
Questa è una buona risposta, ma aggiungerei che l'OP dovrebbe parlare al suo manager dei compromessi per vedere quanto considerano rigorosi gli standard e se approverebbero l'uso di un altro stack per questo progetto.
Mike Partridge,

Non dare per scontato che sei l'unico a supportarlo : inoltre, in questo modo le persone possono riutilizzare il codice l'una dall'altra, invece di reinventare la ruota ogni volta che abbiamo bisogno di qualcosa che rotoli.
Konerak,

2
Il modo più rapido per rimanere bloccati in una posizione è renderti insostituibile. Se non puoi essere sostituito, non puoi essere promosso.
Burhan Khalid,

9

Detto questo, è meglio violare lo standard aziendale e andare con l'installazione che posso supportare meglio, oppure è meglio andare con l'installazione che l'azienda può supportare meglio se dovessi mai andarmene, anche se nessuno al momento in azienda può supportare il proprio standard comunque?

È una decisione di gestione. Far loro conoscere le tue preoccupazioni e insistere formalmente sul cambiamento.

Detto questo, una lingua è uno strumento e devi scegliere lo strumento giusto per un lavoro; far loro capire che non si avvita una vite con un martello.


È importante notare che, nel contesto della domanda (dato il livello di dettaglio disponibile) ASP.NET e PHP sono entrambi lo strumento giusto per il lavoro in quanto entrambe piattaforme molto capaci
Murph,

1
ASP.NET è probabilmente più capace, è solo che l'op conosce meglio php.
Kevin,

1
@Kevin, L'unica ragione per cui potrei mai sostenere che ASP.Net è più capace di PHP è che si integra meglio con la sicurezza di AD / Windows anche se è ancora possibile integrare PHP con la sicurezza di AD / Windows. A parte questo, non ho visto alcun vantaggio di ASP.Net su PHP.
Ha disegnato Chapin il

Per tua stessa ammissione conosci php molto meglio, quindi non sorprende che tu lo dica.
Kevin,

8

Hai delle aspirazioni per la promozione o stai lavorando ad altri progetti? In tal caso, suggerisco che "fare le tue cose" avrà due effetti negativi quasi sicuramente risultanti (parafrasando) "Sarò io a sostenerlo, fino a quando non me ne vado"

  1. Poiché hai scelto di non seguire gli standard aziendali, dimostra che non sei particolarmente adatto a ruoli più senior, in quanto non sei in grado di seguire semplici istruzioni.
  2. Poiché hai scelto di non seguire lo standard aziendale, sarà il tuo problema che nessun altro nell'azienda possa supportare il tuo codice.

Se scegli di utilizzare lo standard, non sarà tua responsabilità continuare a mantenere il prodotto quando (se) si presenterà un'opportunità per la promozione o un altro progetto.

L'altro modo di vedere un'analogia ridicola. Mi sposto in un paese in cui guidano a sinistra, tuttavia sono molto più abituato a guidare a destra, preferisco guidare a destra, per questo sono più bravo e posso guidare più velocemente. Devo guidare a destra?


+1 per l'ultimo paragrafo, specialmente per quanto riguarda le capacità della piattaforma, non puoi davvero fare un caso per scegliere PHP su ASP.NET. Potrebbe esserci un argomento per cambiare lo standard in base alle capacità delle squadre di sviluppo ...
Murph,

5

Le aziende hanno standard per un motivo, se esiste uno standard formalmente dichiarato che dice di usare x, allora è necessario giustificare y.

Ciò non significa che non è possibile utilizzare y, significa che è necessario comprendere il ragionamento alla base dello standard e ottenere l'approvazione prima di violarlo.

Forse dopo aver capito il perché, non vorrai più violarlo, forse vedrai che deve essere modificato o eliminato, o che non si applica in questo caso in modo che l'uso di y non sia un problema.

Se si applica, a meno che non sia possibile cambiarlo, è necessario seguirlo. Gli standard aziendali non sono allo stesso livello degli ordini diretti, ma il datore di lavoro ha una ragionevole aspettativa che tu segua entrambi, a meno che non violi la legge.


1
Gli standard aziendali sono talvolta correlati a ragioni di marketing anziché a considerazioni di efficienza o tecniche.
Mister Smith,

@Mister Smith Anche così, devi ancora parlare con il tuo manager o qualcuno con potere decisionale per verificare quei motivi. Vedi la mia risposta su questa domanda.
Mike Cellini,

1
@MisterSmith: validi motivi di marketing sono altrettanto importanti, se non di più, della maggior parte delle considerazioni tecniche. Se non conosci il motivo, non conosci la validità del motivo.
jmoreno,

Sì, ma leggendo la domanda ho avuto l'impressione che non ci fosse nessun manager sopra di lui per questo progetto e che nessuno si preoccupasse davvero di far rispettare gli standard. Se ciò fosse vero, non vedo alcun motivo per seguire ciecamente gli standard invece di scegliere la tecnologia più conosciuta.
Mister Smith, il

@MisterSmith: non sta seguendo ciecamente gli standard, sta seguendo ciecamente gli standard aziendali. C'è una differenza E se a nessuno importa, allora dovrebbe essere abbastanza facile ottenere il permesso di violare o addirittura cambiare lo standard.
jmoreno,

2

Tutto dipende dal fatto che verrai licenziato o meno. Se stai per essere licenziato, non farlo. Se non stai per essere licenziato, allora procedi con esso.


-1 Questo è, imho, un consiglio terribile. Potresti anche andare a dire alla gente di scrivere codice brutto, incomprensibile, offuscato senza documentazione (o peggio: sbagliata) solo per rendersi indispensabile. Sappi che se ti rendi indispensabile, non sarai mai in grado di salire in azienda, ma resterai bloccato facendo ciò che stavi facendo e mantenendo il tuo codice (scadente) per anni!
Konerak,

@Konerak Bene, hai ragione. Non ero serio. Modificherò la mia domanda per renderti felice.
Mike Nakis,

Scusa Mike, non ho avuto la parte dell'ironia;) Sono stato felice di vedere una risposta sull'indispensabile, perché mi ha dato l'opportunità di reagire e la gente avrebbe letto su di esso.
Konerak,

1

Penso che tu possa anticipare molti dei problemi che potrebbero derivare da questo e fare un piano dettagliato per se e quando hai mai dovuto lasciare l'azienda.

Un problema che potrebbe far finire i lavori sarebbe se te ne andassi e le risorse umane dovessero cercare il tuo sostituto. Dato che entrambi cercano attivamente di capire cosa hai fatto e assumono in base alle competenze necessarie -oppure, basta guardare il documento originale che specificava la politica di IIS / ASP.NET / ecc. e assumere ciecamente qualcuno con quelle capacità per mantenere il codice LAMP (sul principio "perché dice così"), penso che quest'ultimo sia molto più probabile.

La cosa più semplice (a lungo termine) è fare ciò che fabianhjr ha raccomandato e cambiare lo standard. Modificalo per includere sia Microsoft che LAMP se sono resistenti a uno switch completo.


in realtà la pubblicazione ufficiale per il mio lavoro non richiedeva alcuna conoscenza di programmazione / sviluppo web.
Ha disegnato Chapin il

1
@druciferre Tanto più motivo per rispettare tutto allora. Se questo progetto diventa una grande parte della tua responsabilità lavorativa e ci fosse qualche eventualità in cui sarebbero ricominciati in base alla descrizione del tuo lavoro originale, sarebbero diventati un insenatura (non che a quel punto avresti dovuto preoccuparti, ma solo per il loro bene).
jonsca,

1

In questo caso è necessario seguire lo standard. Se lo standard non sembra applicarsi, è necessario parlare con il proprio manager per farlo in una lingua diversa.

Di tutti gli standard da seguire nello sviluppo, personalmente ritengo che la scelta della lingua sia la più importante . Ignorando la scelta della lingua standard a favore di una con cui ti senti più a tuo agio con i colleghi e / o i successori in un torrente senza pagaia, perché potrebbero non avere le competenze per lavorare sul tuo progetto. Le decisioni di assunzione di un'azienda si basano sulla scelta della lingua, quindi decisioni come queste possono avere un impatto notevole. L'introduzione di un'altra piattaforma / lingua potrebbe costringere l'azienda a rimanere in difficoltà quando iniziano ad assumere altre persone.

Oltre la lingua, è necessario considerare il supporto interno per il server LAMP. Chi amministrerà Apache? Che ne dici di MySQL? Il software dell'azienda viene eseguito su un database diverso? Gli amministratori saranno disposti ad amministrare una nuova piattaforma? Anche se hai intenzione di amministrare questi servizi, i compiti potrebbero eventualmente ricadere su qualcun altro. Se prevedi di amministrare i servizi, gli amministratori di rete / server ti permetteranno di farlo?

Le implicazioni dell'introduzione di una piattaforma diversa possono essere ampie e profonde. Non seguire lo standard può finire per colpire molte persone oltre a te stesso. Anche se sei più esperto in LAMP di ASP.NET, costruire su quella piattaforma potrebbe costare molto di più alla tua azienda nel lungo periodo. La chiave qui è la comunicazione con il proprio manager e la comprensione degli effetti della decisione finale.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.