Mi sto illudendo? Transizione dell'analista aziendale al programmatore


11

Lavoro attuale: lavorare come analista commerciale principale per una grande azienda 4, guidando un team di sviluppatori e tester che lavorano su un progetto di re-platforming su larga scala (4 sviluppatori onshore, 4 sviluppatori offshore, diversi tester onshore / offshore). Lavorare anche con una capacità simile su altri progetti su scala ridotta.

Estensione del mio ruolo: raccogliere / scrivere requisiti, creare specifiche funzionali, progettare l'interfaccia utente (fondamentalmente mappare tutti gli aspetti front-end del sistema), lavorare a stretto contatto con gli sviluppatori per comunicare / chiarire i requisiti e trovare soluzioni quando arriviamo ai blocchi stradali , scrivere casi di test (e svolgere gran parte dei test), lavorare con alti dirigenti e stakeholder chiave, gestire beta tester, creare guide per l'utente e condurre sessioni di formazione, fornendo supporto tecnico chiave.

Scrivo anche alcune macro in Excel usando VBA (molte delle mie macro sono ora utilizzate in tutta l'azienda, quindi ci sono forse circa 1000 persone che le usano) e uso SQL su base giornaliera, sia sui file compatti SQL che sul programma si affida ai nostri dati di SQL Server e ai database di Access che creo. Gli sviluppatori ritengono che io sia abbastanza bravo in questo ruolo perché capisco molto sulla programmazione, limiti intrinseci del sistema, struttura dei database, ecc. Quindi è più facile per me comunicare idee e fornire suggerimenti quando affrontiamo problemi.

Quello che mi interessa davvero è lo sviluppo di software. Faccio un bel po 'di programmazione in VBA e ho voglia di imparare C # per un po' (il team di sviluppo usa C # - rivedo il codice di tanto in tanto per il mio bene, ma non ho avuto alcuna esperienza pratica nell'usarlo). Sono interessato non solo al processo aziendale ma anche al lato tecnico delle cose, quindi il ruolo tradizionale di BA non stimola davvero il mio appetito per il tipo di cose che voglio fare. In questo momento ho alcuni piccoli progetti che i gestori mi hanno dato e sto trovando nuovi modi per realizzarli (come la creazione di applicazioni di accesso personalizzate), quindi c'è un po 'qua e là per tenermi interessato.

La mia domanda è questa: quello che vorrei fare è creare applicazioni personalizzate Excel o Access per le piccole imprese come azienda indipendente (lavorare come un solo uomo; magari avere un appaltatore occasionale a seconda della complessità di un progetto). Questo ovviamente inizierebbe come un'impresa a tempo parziale mentre ho un lavoro diurno, ma alla fine diventerebbe un lavoro a tempo pieno. Mi sto illudendo di pensare di poter passare dal programmatore VBA a tempo parziale / part-time a fare un giro a tempo pieno in un'azienda freelance (dove avrei iniziato a scrivere app Excel / Access personalizzate in VBA)? O questo tipo di cose non viene di solito tentato fino a quando qualcuno non guadagna anni di esperienza di programmazione a tempo pieno? Esiste anche un mercato per questo tipo di applicazioni tra le piccole imprese (e forse le medie)?


3
Ora sei probabilmente in cima alla tua carriera. Puoi fare lo stesso lavoro con le stesse competenze in 5 anni senza leggere un libro. Se tu fossi un programmatore, inizierai dal fondo della scala e tra 5 anni potrebbe non esserci nemmeno una scala !!! Non mescolare l'hobby con la carriera. Ovviamente potresti essere un programmatore, ma cosa fa la maggior parte dei programmatori medi dopo 10 anni? Sopravvivere come programmatore nel mercato odierno è molto difficile per la persona media a causa della forte concorrenza e delle continue sfide tecnologiche.
NoChance,

Sono d'accordo che come analista aziendale e uomo d'affari ho la capacità di continuare a salire in una posizione più elevata. Il problema è che più vai avanti, generalmente più distante dalla tecnologia e dall'implementazione sei. Ho intervistato diverse società di consulenza per incarichi di consulenza gestionale in campo tecnologico, ma questi tipi di ruoli non mi interessano molto. Il mio obiettivo non è essere un programmatore puro; in effetti non ho interesse a lavorare come sviluppatore per essere assunto come dipendente, ma piuttosto ho un piccolo negozio di consulenza in cui posso affrontare sia il business che il lato sviluppo.
Ryan,

"un piccolo negozio di consulenza in cui posso affrontare sia il business sia il lato sviluppo" sembra un rischio troppo grande per me. Vedete, il mercato è pieno di soluzioni standard e così tante aziende e appaltatori che sono pronti a costruire sistemi a partire da $ 200 o meno. Non credo che il "piccolo" possa durare a lungo, vista l'economia e il rapido tasso di cambiamento della tecnologia a meno che non si abbia una strategia per attirare i clienti e concentrarsi su una tecnologia che cambia lentamente.
NoChance,

7
@EmmadKareem, "non mescolare l'hobby con la carriera" ... vuoi dire: assicurati che quasi tutta la tua vita da veglia sia trascorsa facendo qualcosa che non ti piace e circa il 5% facendo quello che ti piace ... sembra un grande piano per la felicità (ma certamente comune)
JoelFan

4
@EmmadKareem, penso che ci siano molti programmatori che lavorano da 10, 20 o più anni e sono contenti della loro carriera
JoelFan,

Risposte:


15

No, non ti stai illudendo, si può fare! Uno dei ragazzi qui lo ha fatto, anche se non conosco i dettagli di come, ma penso che abbia iniziato come sottoscrittore, sia diventato un BA per la sottoscrizione dello sviluppo di software interal, poi in qualche modo è passato allo sviluppo a tempo pieno. Immagino che avesse già un background tecnico, come te.

Potrebbe funzionare meglio se provi a farlo prima con il tuo attuale datore di lavoro piuttosto che farlo da solo. Avresti molto più supporto e aiuto. Magari parla con il tuo manager e chiedi come potresti passare a un ruolo di sviluppo all'interno dell'organizzazione, probabilmente nello stesso team per iniziare. In questo modo conosci già tutti, loro ti conoscono e di cosa sei già capace e possono aiutarti ad allenarti ulteriormente. Se sei veramente veramente veramente fortunato, la tua azienda avrà un budget di inviare sui corsi per raggiungere ancora più velocemente.


2
Vorrei solo ribadire che si può sicuramente fare - in una posizione precedente, ho lavorato con un appaltatore che ha fatto esattamente questo. Ha iniziato a creare applicazioni Access per un'azienda da un ruolo non-dev, poi è diventato un consulente esterno per loro e alla fine l'ha trasformato nella propria attività e sembra che stia andando abbastanza bene.
bunglestink,

4

VBA e Access è il fondo della scala di programmazione. Se fossi in te sparerei più in alto poiché hai abilità SQL. Prendere in considerazione l'apprendimento di SQL Server Reporting Services e la creazione di report o SSIS e l'esecuzione dell'elaborazione ETL. Quelle sono competenze molto richieste in questo momento e sei in una buona posizione per farle in quanto possono essere relativamente facili da ottenere mentre ti trovi in ​​un ambiente aziendale, soprattutto se al momento non hai nessun altro che gestisca quei ruoli per la tua azienda. Vorrei vedere l'esperienza degli analisti aziendali come un grande vantaggio per uno scrittore di report.


2

Si può fare. Non sarà facile, soprattutto se vuoi farcela, poiché lo sviluppo del software è una disciplina ingegneristica con problemi e insidie ​​non ovvi che dovrai imparare a riconoscere ed evitare. Ci vorranno alcuni anni di studio e pratica seri, ma se riesci a avvolgere la testa intorno ai concetti, puoi sicuramente diventare un programmatore anche se il tuo background è in qualcosa di diverso.


Qualche corso di studi raccomandato? Sono più un autodidatta, quindi in questo momento mi sto iscrivendo ad un opencourseware del MIT (Intro to Comp Sci) che usa Python come linguaggio di insegnamento, principalmente in modo da poter approfondire una solida teoria della programmazione e pensare di più linee di un programmatore. Continuando anche ad espandere la mia conoscenza di Excel / Access / VBA attraverso progetti reali sul lavoro.
Ryan,

@Ryan Sei deluso da una cosa: non esiste una solida teoria della programmazione. La programmazione è un mestiere molto immaturo (mestiere è la parola giusta!) - è davvero troppo giovane. I programmatori leggono molti libri, ma le rivoluzioni in questo campo avvengono in modo eccessivo. Ciò significa che l'atteggiamento dell'apprendimento è l'unico prerequisito :)
K.Steff,

1
@Ryan: sono per lo più autodidatta. Il mio "corso di studi" era "questo programma fa schifo. Potrei farlo, e farlo meglio dell'autore. Quindi vediamo, ho un compilatore, ora come posso iniziare a implementare le funzionalità?"
Mason Wheeler,

2

Se ci vorranno anni o anni dipenderà in gran parte da te, dal tuo programma, ma soprattutto, dal tuo livello di interesse che tende ad essere legato all'attitudine. Se ti capita di vivere o lavorare in una città e hai la possibilità di permutare di massa, prendilo e usa quel tempo di pendolarismo incorporato per leggere i libri di tecnologia. Tutto ciò che ti interessa.

Per quanto riguarda l'audacia di pensare che puoi, non sudare. Decidere che probabilmente potresti gestire <inserire qui un mucchio inconoscibile di complessità> è ciò che fanno gli sviluppatori. Non è arroganza, sta solo facendo il primo passo.

Arrogante nella terra degli sviluppatori si definisce uno sviluppatore professionista quando hai una soluzione per tutto e non hai imparato nulla di nuovo dal college. Questo è il problema con lo sviluppo. Quando smetti di imparare la tua carriera inizia a scendere, quindi l'interesse è un po 'chiave. Sembra che tu l'abbia.

Quindi provaci.

Hai il tuo obiettivo in vista. Il resto sta rompendo i grandi problemi spaventosi in piccoli problemi non così spaventosi. Ripeti fino alla nausea e sarai uno sviluppatore a tempo pieno pagato che vorrebbe che ci fossero problemi più grandi / più spaventosi di quanto non ci fossero prima.


Osservazione laterale: l'arroganza è utile nelle fasi iniziali. Se avessi saputo di cosa parlava davvero la programmazione quando ho iniziato, probabilmente avrei rinunciato a due ore dopo il "ciao mondo".
K.Steff,

1

Direi (se vuoi dare il via alle cose) vai con SICP - Struttura e interpretazione dei programmi per computer. Dovrei collegarmi ad esso, ma è più di un semplice libro; oggi puoi trovare anche altre persone con cui studiare il corso online. È un libro davvero difficile: completare tutti gli esercizi è qualcosa che la maggior parte degli sviluppatori non può (purtroppo) fare, ma è il miglior libro disponibile. Anche il MIT OCW è buono, ma IMHO è una versione annacquata di SICP per la programmazione. Python è progettato per nascondere la complessità, piuttosto che farti divertire in modo malato (come fa SICP).

Inoltre, è necessario distinguere tra programmazione come professione e programmazione come abilità. Uno richiede dedizione a cose come un codice bello, pulito ed estensibile, mentre l'altro non richiede altro che abilità algoritmiche (che in realtà è molto). Il "dittatore benevolo" di Python, Guido van Rossum, sostiene che la programmazione sarà un'abilità essenziale negli anni a venire, ma in ogni caso non lo sarà lo sviluppo del software. La maggior parte dei non sviluppatori scrive codice per buttarlo via (anche gli sviluppatori lo fanno spesso). Il fatto è programmare come una carriera che include molte più cose rispetto alla programmazione ed è importante chiarire le priorità.

La cosa più importante: assicurati di amare la programmazione, non solo per questo. È più di un lavoro da 9 a 5, è quello di abbracciare la filosofia dell'apprendimento costante : la maggior parte degli ingegneri viene addestrata durante il proprio BS o Master e non vede cambiamenti significativi nel loro campo di competenza. Una carriera permanente nella programmazione ti farà vedere almeno 10 cambiamenti di paradigma (non solo linguaggi, ma strumenti, DB, ecc.), Quindi è meglio essere pronti (e disposti) ad accettarlo.


+1 per "filosofia dell'apprendimento costante". La programmazione riguarda in gran parte l'apprendimento e il miglioramento quotidiano. Se ti piace fare queste 2 cose, probabilmente avrai una buona esperienza e riuscirai.
B Sette del

1

Penso che tu sia in una buona posizione per provare.

Gran parte della mia carriera sono stata profondamente radicata nel lato tecnico delle cose, tuttavia, nel corso degli anni in cui ho osservato che molti progetti hanno avuto successo o sono fallito, sono giunto alla conclusione:

Se non capisci i tuoi utenti aziendali e i loro requisiti, il tuo progetto fallirà.

Non ho mai visto un'eccezione a questa regola e nessuna somma di denaro, hardware o genio della programmazione sembra fare la differenza. I veri progetti con una buona comprensione dei requisiti possono fallire a causa di hardware, software, scelta del budget o mancanza di competenze scelti male, ma per la maggior parte questi progetti possono o potrebbero essere stati salvati.

Quindi la tua buona preparazione in BA e requisiti ti daranno una prospettiva che potrebbe mancare ad alcuni dei tuoi college tecnologici più dotati, il resto che puoi imparare.

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.