Mi sto illudendo? Transizione di analista aziendale al programmatore

11

Lavoro attuale: lavoro come analista aziendale principale per un'azienda Big 4, che guida 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). Funzionano anche con capacità simili su altri progetti su scala più piccola.

Estensione del mio ruolo: raccolta / scrittura di requisiti, creazione di specifiche funzionali, progettazione dell'interfaccia utente (fondamentalmente la mappatura di tutti gli aspetti front-end del sistema), lavoro a stretto contatto con gli sviluppatori per comunicare / chiarire i requisiti e proporre soluzioni quando colpiamo blocchi stradali, scrivendo casi di test (e facendo gran parte dei test), collaborando con il senior management e le principali parti interessate, gestendo beta tester, creando guide per gli utenti e conducendo sessioni di formazione, fornendo supporto tecnico chiave.

Scrivo anche un bel po 'di macro in Excel usando VBA (molti dei miei macro sono ora usati in tutta l'azienda, quindi ci sono forse circa 1000 persone che li usano) e usano SQL su base giornaliera, entrambi su SQL compatta i file su cui si basa il programma, i dati di SQL Server e tutti i database di Access creati. Gli sviluppatori sentono di essere abbastanza bravo in questo ruolo perché capisco molto sulla programmazione, i limiti intrinseci del sistema, la struttura dei database, ecc. Quindi è più facile per me comunicare idee e proporre suggerimenti quando affrontiamo problemi.

Ciò che mi interessa davvero è lo sviluppo di software. Faccio un bel po 'di programmazione in VBA e ho voluto imparare C # per un po' (il team di sviluppo usa C # - rivedo il codice occasionalmente per il mio bene ma non ho avuto alcuna esperienza pratica nell'utilizzarlo). Sono interessato non solo al processo di business ma anche al lato tecnico delle cose, quindi il tradizionale ruolo di BA non stuzzica 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à a tenermi interessato.

La mia domanda è questa: quello che mi piacerebbe fare è creare applicazioni Excel o Access personalizzate per le piccole imprese come business freelance (lavorando come un one-man shop, magari con un appaltatore occasionale a seconda della complessità di un progetto). Questo ovviamente inizierebbe come un'impresa part-time mentre ho un lavoro diurno, ma alla fine diventerò un lavoro a tempo pieno. Mi sto illudendo di poter passare da BA / part-time programmatore VBA a fare un giro a tempo pieno di un business freelance (dove vorrei iniziare solo a scrivere applicazioni Excel / Access personalizzate in VBA)? Oppure questo tipo di cose di solito non viene tentato finché qualcuno non acquisisce anni di esperienza di programmazione a tempo pieno? E c'è anche un mercato per questi tipi di applicazioni tra le piccole imprese (e forse anche le medie imprese)?

    
posta Ryan 29.05.2012 - 23:44
fonte

6 risposte

15

No, non ti stai illudendo, puoi essere fatto! Uno dei ragazzi qui lo ha fatto, anche se non conosco i dettagli di come, ma penso che abbia iniziato come underwriter, sia diventato un BA per la sottoscrizione dello sviluppo di software interal, quindi in qualche modo passò allo sviluppo a tempo pieno. Immagino che abbia già una preparazione tecnica, come te.

Potrebbe funzionare meglio se provi a farlo prima con il tuo datore di lavoro attuale piuttosto che farlo da solo. Avresti molto più supporto e aiuto. Forse 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 e loro conoscono te e ciò di cui sei già capace e possono aiutarti ad allenarti ulteriormente. Se sei davvero veramente veramente fortunato, la tua azienda avrà un budget per inviarti i corsi per recuperare ancora più velocemente.

    
risposta data 29.05.2012 - 23:47
fonte
4

VBA e Access sono la parte inferiore della scala di programmazione. Se fossi in te, sparerei più in alto da quando hai competenze SQL. Considerare l'apprendimento di SQL Server Reporting Services e la creazione di report o SSIS e l'elaborazione ETL. Quelle sono abilità in una domanda piuttosto elevata in questo momento e tu sei nella posizione migliore per farlo in quanto possono essere relativamente facili da ottenere mentre sei in un ambiente aziendale, specialmente se non hai nessun altro che attualmente gestisce questi ruoli per la tua azienda. Vorrei vedere l'esperienza degli analisti aziendali come un enorme vantaggio per uno scrittore di rapporti.

    
risposta data 30.05.2012 - 17:08
fonte
2

Può essere fatto. Non sarà facile, soprattutto se si vuole diventare bravi, dal momento che 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 comprendere i concetti, puoi sicuramente diventare un programmatore anche se il tuo background è diverso.

    
risposta data 29.05.2012 - 23:54
fonte
2

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

Per quanto riguarda l'audacia del pensare che puoi, non preoccuparti. Decidendo che probabilmente potresti gestire il problema & inserire una pila di complessità inconoscibile qui > è ciò che gli sviluppatori fanno. Non è arroganza, sta solo facendo il primo passo.

Arrogante nella terra degli sviluppatori ti 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 è una specie di chiave. Sembra che tu abbia quello.

Quindi prendilo.

Hai il tuo obiettivo in vista. Il resto sta rompendo i grandi problemi spaventosi in quelli poco non così spaventosi. Ripeti fino alla nausea e sarai uno sviluppatore a tempo pieno retribuito che desidera che ci siano stati problemi più grandi e più spaventosi di quanto non lo fossero prima di quanto potresti pensare.

    
risposta data 30.05.2012 - 00:41
fonte
1

Direi (se vuoi dare il via alle cose) vai con SICP - Structure and Interpretation of Computer Programs. Dovrei collegarmi ad esso, ma è più di un semplice libro; al giorno d'oggi puoi trovare anche altre persone per studiare il corso con online. È un libro davvero difficile - completare tutti gli esercizi è qualcosa che la maggior parte degli sviluppatori non può fare (sfortunatamente), 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, devi distinguere tra la programmazione come professione e la programmazione come abilità. Uno richiede la dedizione a cose come il codice bello, pulito ed estensibile, mentre l'altro non richiede altro che capacità algoritmiche (che è molto, in realtà). Il "dittatore benevolo" di Python, Guido van Rossum, sostiene che la programmazione sarà un'abilità essenziale negli anni a venire, ma le capacità di sviluppo del software non saranno, in ogni caso. La maggior parte dei non-sviluppatori scrivono il codice per buttarlo via (anche gli sviluppatori lo fanno spesso). Il fatto che la programmazione sia una carriera include molte più cose rispetto alla programmazione ed è importante rettificare le priorità.

La cosa più importante: assicurati di programmare love , non solo come esso. È 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 loro BS o MSc 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.

    
risposta data 30.05.2012 - 01:32
fonte
1

Penso che tu sia in una buona posizione per provarlo.

Gran parte della mia carriera sono stato profondamente radicato nel lato tecnico delle cose, tuttavia, in anni di osservazione di molti progetti, ho avuto esito positivo o negativo: -

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 quantità di denaro, hardware o genio della programmazione sembra fare alcuna differenza. I veri progetti con una buona comprensione dei requisiti possono fallire a causa di hardware, software, mancanza di budget o mancanza di competenze mal scelti, ma per la maggior parte questi progetti possono o potrebbero essere stati salvati.

Quindi la tua buona base in BA e le tue esigenze ti daranno una prospettiva che alcuni dei tuoi college tecnici più dotati potrebbero non avere, il resto lo puoi imparare.

    
risposta data 30.05.2012 - 04:02
fonte

Leggi altre domande sui tag