Qual è la differenza tra lavorare in una società di software e un'azienda la cui attenzione è in un altro campo? [chiuso]

26

Recentemente, sono stato contattato da un'agenzia pubblicitaria locale con un'opportunità di lavoro. Stanno portando tutto lo sviluppo web / interattivo internamente e aggiungendo al proprio team di sviluppo.

Mi sto ammalando del mio lavoro aziendale, alquanto noioso e noioso, e sono incuriosito dalla posizione.

Avendo lavorato solo per i negozi di software in cui l'azienda principale stava producendo software, temo che potrebbero non mettere l'accento sulle pratiche di software di qualità, dal momento che lo sviluppo non è al centro della loro attività.

Chiunque abbia esperienza sia in termini di confronto / contrasto lavorando con una società di software lavorando in un'azienda che ha semplicemente un team di sviluppo software o un reparto interno?

    
posta Mike V 28.07.2011 - 17:54
fonte

14 risposte

36

Dipenderà dalla compagnia. Ma di solito, se non è il loro obiettivo principale, il software sarà di qualità inferiore. Il processo, se ne hanno, sarà meno rigoroso. Il test inesistente. E il lavoro nel complesso è meno impegnativo dal punto di vista tecnico.

Vogliono che funzioni, e ora funzionano, e questo sarà abbastanza buono.

Ma alcuni luoghi sono all'avanguardia nello sviluppo del software, anche se sono mamma e amp; negozi di pop che fanno qualcos'altro interamente. Dipende dal fatto che la leadership aziendale sia aperta a buone idee, la leadership tecnologica che sa abbastanza per farlo nel modo giusto, e che abbia persone in grado di spiegare una buona idea. Quale potresti essere tu.

Intervista alla compagnia. Chiedi loro se sanno / aderiscono al test di Joel. Molti di questi sono buoni punti. Vedi se comprendono il debito tecnico e il mitico mese-uomo. Chi è il tuo project manager, che processo usa e quanto è geek?

    
risposta data 28.07.2011 - 18:07
fonte
25

C'è una differenza enorme. Nel primo caso fai parte di un centro di profitto. In quest'ultimo, fai parte di un centro di costo. Indovina qual è il trattamento migliore?

Ora lavoro per una società di software e sono molto più felice di quando ero al mio ultimo lavoro, dove erano tutti licenziamenti & sempre in outsourcing, e gli sviluppatori sono stati visti come widget facilmente sostituibili (anziché il cuore dell'azienda).

    
risposta data 28.07.2011 - 18:57
fonte
11

I programmatori sono ancora programmatori. Solo perché il prodotto principale dell'azienda non è il software non significa che un programmatore non abbia bisogno degli stessi servizi.

    
risposta data 08.02.2011 - 01:41
fonte
6

Ho lavorato nel dipartimento IT di grandi aziende sviluppando software per uso interno; Ho lavorato in aziende sviluppando software per il mercato; e ho lavorato in agenzie per lo sviluppo web per i clienti.

E non direi che ci sia stata alcuna differenza tra queste diverse società in termini di importanza per la produttività, aumentando le cose.

Mantenere produttivi i programmatori è vitale indipendentemente dal tipo di sviluppo che stanno facendo quei programmatori. E direi che mantenere i programmatori felici e farli lavorare per te è ancora più importante quando sono programmatori di manutenzione nel reparto IT di un'azienda non software.

    
risposta data 08.02.2011 - 01:41
fonte
5

La differenza dipende in gran parte dall'azienda stessa; Ho lavorato in buone società non software e in terribili società di software. In media, però, ecco cosa ho trovato:

Azienda non software

L'enfasi è sul fare le cose in fretta, con poca o nessuna riflessione sulla qualità o sulla manutenibilità a lungo termine. Gli sviluppatori di solito ignorano tecnicamente ciò che hanno fatto in passato o durante il loro tempo con la società, e spesso cercano di introdurre nuovi concetti (ORM, principi SOLID, TDD, ecc.) Incontrando confusione o licenziamento immediato. Le persone tendono a concentrarsi maggiormente sul "rimorchio della linea aziendale".

Azienda software

Enfasi sull'ottenere risultati senza sacrificare la qualità. I colleghi hanno maggiori probabilità di tenersi aggiornati con la tecnologia (indipendentemente dal fatto che possano utilizzarla o meno al lavoro) e spesso guardano come possono integrare nuove idee o quadri nella routine quotidiana per migliorare il software. Se non hanno già familiarità e utilizzano concetti come TDD, ORM, SOLID, ecc. Probabilmente ne hanno sentito parlare e sono più disposti a valutarli.

Di nuovo questo dipende dalla società. Ho lavorato in un'azienda non software con un team estremamente agile che ha abbracciato TDD e ORM e mi ha insegnato molto sulla corretta ingegneria del software, e ho lavorato in una piccola azienda di software che ha scritto il codice spaghetti VBScript del peggior tipo e ha 50 o più sviluppatori che ognuno doveva lavorare su diverse pagine per evitare che si rompessero le cose, e tonnellate di burocrazia anche per un piccolo cambiamento. Tuttavia, meno la società si basa esternamente sul software, più è probabile che l'ambiente sarà molto povero per lo sviluppo del software.

    
risposta data 03.08.2011 - 20:28
fonte
4

Ho lavorato come unico sviluppatore di software su un piano di persone non software, e penso che l'indipendenza sia ancora più importante in quel caso. Quando non hai decine di persone che usano gli stessi strumenti, devi prendere molte più decisioni: quale lingua utilizzerai, quale compilatore, quali server, ecc. Gli sviluppatori solitari hanno bisogno di più libertà per installare, valutare e amministrare il software ciò è dato per scontato in un'impostazione di gruppo.

    
risposta data 08.02.2011 - 03:45
fonte
4

Una differenza per certo sarà meno enfatizzata sul sovraccarico e sulla ridondanza che dovrai affrontare in un negozio di software aziendale. Scoprirai che sarai in grado di avere un controllo molto più granulare su tutti gli aspetti dei tuoi progetti.

Un professionista è che questo può essere rinfrescante ...

È risultato orribilmente per me personalmente, ma potrebbe essere solo perché ho scelto male. Un ENORME è che non sei più legato al pane e burro dell'azienda e invece sei un sovraccarico amministrativo. I controllori del budget mi trattavano come se stessi prendendo personalmente i soldi dai loro portafogli e procedessi a "picchiarmi come un mulo in affitto" per così dire. Per me è stato un calvario irritante ed estenuante, quindi dovresti cercare attentamente i segni di questo tipo di atteggiamento quando intervisti.

    
risposta data 28.07.2011 - 18:48
fonte
2

Una delle principali differenze è che lavorando in un negozio di software probabilmente stai contribuendo a generare posti di lavoro all'interno dell'azienda. Lavorare nel reparto programmazione. in un diverso tipo di azienda, in generale, intendi che stai scrivendo software per sostituire le persone. È una realtà deprimente da affrontare. Detto questo, un'agenzia pubblicitaria potrebbe benissimo essere una bestia completamente diversa. Più simile a un negozio di sviluppo web all'interno di un'altra società, sarebbe la mia ipotesi.

    
risposta data 28.07.2011 - 23:09
fonte
2

Ci sono già alcune grandi risposte qui, ma vorrei solo fare riferimento a un link alla trascrizione della seconda parte di un discorso che Joel Spolsky ha dato alla Yale University:

Joel Spolsky - Talk At Yale Parte 2 di 3

Lì parla della differenza tra programmatori e programmatori "interni" che lavorano in aziende di software / tecnologia.

I suoi tre punti principali sono:

  • Quando sei un programmatore in-house, non puoi mai fare cose il modo giusto. Devi sempre fare le cose nel modo più opportuno.

  • In qualità di programmatore interno, una volta che alcuni software sono "abbastanza buoni", tu smettila di lavorarci sopra. Quando sviluppi i "prodotti" del software, puoi farlo renderli belli.

  • Quando sei un programmatore in un'azienda di software, il lavoro che stai facendo è direttamente correlato al modo in cui la società fa soldi. Questo significa, per prima cosa, quella gestione si preoccupa per te.

Personalmente, ho lavorato in entrambe le società di software e non software durante la mia carriera, e anche se ci sono sempre eccezioni a ogni regola, sono d'accordo con i punti di Joel in quanto la stragrande maggioranza delle aziende sembra essere in accordo con loro.

    
risposta data 13.08.2011 - 12:59
fonte
1

Bene, secondo le mie osservazioni ci sono almeno due casi quando ci si attacca ai confini della compagnia software per questioni di sopravvivenza professionale .

Il primo caso è se uno è totalmente codificato - dammi 80 ... 90 ... 100% di tempo per scrivere codice o muoio . Nei negozi di software, questo è quasi scontato, come se tutti sapessero come arrivarci perché, beh, perché tutti stanno facendo proprio questo. Ma al di fuori , c'è un rischio molto alto per non riuscire ad arrivarci. Uno può arrivare al 50, 40, 30% (il mio carico di codice personale una volta sceso al 20% - non scherzo, ho misurato in JIRA !) Non è perché "loro" non vogliono che tu codifichi - no, ma ... ma potrebbero semplicemente non sapere come.

Il secondo "rischio mortale" è se qualcuno ha problemi seri nella comunicazione. Questo può essere fastidioso anche nei negozi di software, giusto, ma almeno ci sono buone possibilità di sopravvivere e vivere una bella vita produttiva senza interazioni disturbanti. :) A società non software però, tali possibilità sono molto più basse - al contrario, è quasi inevitabile che alla fine si debbano spendere molti sforzi per educare alcuni outsider nelle basi IT proprio perché altrimenti sarà essere impossibile fare il lavoro.

Beh, tranne per due casi sopra menzionati, non conosco altri motivi validi per bloccare strettamente le società di software. Ora, quale lato preferire? per quanto posso dire, è più una questione di gusti, di che tipo di divertenti scatti di più su di te.

Entrambe le parti offrono le proprie forme distinte di divertimento. Non è facile da descrivere.

Direi che le società produttrici di software sono più divertenti per coloro che puntano su "punteggi alti" mentre quelli al di fuori danno un brivido a coloro che cercano "grandi differenze". Ci penso in questo modo (nota i numeri qui sotto sono inventati solo per semplificare la creazione di un punto) ...

  • In un'azienda produttrice di software, si ha la possibilità di consegnare 100 un anno, un marchio massimo mai raggiunto. Sarà dura, sarà dura, sarà top - migliorando del 50% le prestazioni medie 70 di un anno. Grande sfida, davvero.
  • Allo stesso tempo, nello studio al di fuori abbiamo la possibilità di consegnare 50 un anno - una spinta più alta mai raggiunta da nessuno. Sarà dura, sarà dura, sarà grande - facendo un enorme aumento del 500% rispetto alle funzioni 10 medie di un anno. Grande sfida, credimi.

Da notare che le possibilità di ottenere un aumento del 500% nella società di software sono trascurabili in confronto e, rispettivamente, le possibilità di ottenere 100 funzioni sono trascurabilmente piccole esterne .

I voti migliori su un lato ampliano la nostra comprensione dei limiti professionali, migliorando la nostra conoscenza di come fare le cose meglio. La grande differenza dall'altra parte influisce profondamente sulla cultura aziendale, migliorando la conoscenza di outsider su come farlo correttamente.

Ora, se hai una chiara preferenza per l'uno o l'altro, sai quale parte prendere. Oppure, se sei indeciso, sentiti libero di oscillare tra loro come desideri. :)

    
risposta data 29.07.2011 - 01:30
fonte
1

Complimenti per la risposta al costo rispetto al centro di profitto.

Sono stato in entrambi e preferisco di gran lunga una società di software. Dal momento che la tua correlazione con i profitti è più ovvia, è più probabile che tu abbia un adeguato compenso basato sulle prestazioni e una cultura generale che abbracci una personalità di sviluppatori di software. Spesso ciò si traduce in meno politiche d'ufficio, Dockers non richiesti, ovvi percorsi di carriera e meno BS. Ma se ti trovi di più in un costante 9-5, forse meno impegnativo, non in un concerto di tipo informatico che a volte corp IT è un affare migliore - non essendo cinico qui, capisco che alcune persone amano un lavoro / vita più tipico a scapito di altre cose. Nella mia esperienza, la qualità generale di uno sviluppatore è molto, molto meglio in una società di software; contraria alla mediocrità che spesso permea il corp IT. So che ci sono delle eccezioni, ma questo si basa sulla mia esperienza del software avg corp vs avg corp ITpt.

    
risposta data 03.08.2011 - 18:51
fonte
0

I.T fa parte del gruppo di supporto in società non software ... I programmatori di software hanno sviluppato applicazioni che aiuteranno l'azienda a migliorare la produttività, transazioni più veloci, supporto tecnico etch ... Alcune società non di software (Manufacturing / Industrial etch) offrono corsi di formazione e altre cose ai loro programmatori, ma molti non lo sono, quindi hanno utilizzato esternamente programmatori in altre società.

    
risposta data 08.02.2011 - 02:06
fonte
0

Could anyone with experience at both compare/contrast working at a software company with working at a company that just happens to have an in-house software development team or department?

Preferirei piuttosto lavorare in un reparto IS per lavorare nel ramo dello sviluppo prodotto di un'azienda che vende software. Giusto per chiarire ogni lato e dare alcuni di ciascuno, con alcune correzioni di formattazione:

reparto IS

La società può produrre hardware, software, automobili o altro, ma la chiave qui è che esiste un dipartimento interno responsabile dei sistemi che l'azienda utilizza giorno dopo giorno. Qui ci possono essere framework come ITIL che possono provare a portare un po 'di maturità ai processi che il dipartimento gestisce come parte di questo dipartimento sono i ragazzi dell'infrastruttura che mantengono le luci accese e l'altra parte sono i ragazzi di sviluppo e analisi che apportano miglioramenti , miglioramenti e nuovi sistemi. Qui i progetti possono variare in lunghezza anche se in alcuni casi possono essere necessari anni per ottenere un sistema completamente implementato a causa delle fasi del roll out se alcuni grandi sistemi vengono sostituiti come CMS, CRM o ERP.

A volte ho avuto la sensazione di essere un ingranaggio in una macchina e in altri è piuttosto pulito far parte della struttura portante dell'azienda per i bassi e gli alti di tale posizione. Non posso vantarmi troppo di persone esterne all'azienda perché la maggior parte del mio lavoro è su sistemi interni che non sono destinati ad essere pubblicamente accessibili o visualizzati. Qui ci possono essere ticket di supporto in cui si può avere a che fare con fornitori di software poiché qualcuno ha un problema che non è necessariamente qualcosa in cui è facile sapere cosa ha causato l'errore e quindi il dipartimento IS deve seguire con qualcun altro per aiutare a risolvere il problema. In altri casi, potrebbe essere necessario modificare alcune personalizzazioni a causa di mutevoli requisiti o regole aziendali.

Azienda software

Qui stiamo lavorando su ciò che l'azienda vende direttamente e quindi ci sono alcune grandi differenze tra le regole. Innanzitutto, il cliente qui non può essere classificato tanto quanto il caso del dipartimento IS. Nel dipartimento IS ci possono essere solo pochi utenti di un sistema in modo tale che la governance possa occuparsi di molti casi strani nei quali se qualcuno intenzionalmente sceglie di utilizzare in modo improprio uno strumento, ciò non può essere sempre evitato. Nella società di software non esiste quella rete di sicurezza. Se qualcuno scarica il tuo software e loro riescono a trovare un modo per fare qualcosa di piuttosto distruttivo, l'azienda potrebbe avere un grosso occhio nero per questo. In questo caso ci può essere un po 'di mostrare quello che ho fatto in quanto potrebbe esserci qualche caratteristica interessante da mostrare ad un amico o parente se vogliono sapere qualcosa di più su ciò che faccio.

Qualcosa da notare qui è che ci possono essere aziende che vengono introdotte come system integrator per inserire software aziendali personalizzabili che lavorano con le persone nei reparti IS sull'implementazione di milioni di dollari di roba così come quelli che lavorano direttamente per il società che realizza il grande software stesso. Ci possono anche essere fornitori di servizi applicativi che ho messo qui sotto in quanto stanno vendendo un servizio che è costruito principalmente di software in genere. Ad esempio, Google potrebbe avere un reparto IS e un certo numero di sviluppatori software anche se non si andrebbe in un negozio per acquistare un DVD del software di Google, almeno non credo di averlo visto anche se lo faccio conosco molti prodotti Google online che possono essere utilizzati piuttosto facilmente. Ciò può consentire una certa specializzazione in quanto non è probabile che sia così diversificata come il reparto IS in cui uno sviluppatore di applicazioni generiche può supportare dozzine di applicazioni diverse.

    
risposta data 28.07.2011 - 18:41
fonte
0

Recentemente ho lavorato in una grande azienda americana non software dove un collega ha sentito l'amministratore delegato dire "Non me ne frega un cazzo di software, eseguo un * *". Nella mia esperienza questo è il par per il corso. Ci saranno quasi inevitabilmente problemi che sembrano ovvi per il team del software, ma la gestione non dev si rifiuterà di pensarci.

    
risposta data 04.08.2011 - 01:28
fonte

Leggi altre domande sui tag