Estou me iludindo? Transição de analista de negócios para programador


11

Trabalho atual: trabalhando como analista de negócios líder de uma empresa Big 4, liderando uma equipe de desenvolvedores e testadores que trabalham em um projeto de reformulação em larga escala (4 desenvolvedores onshore, 4 desenvolvedores offshore, vários testadores onshore / offshore). Também trabalhe com capacidade semelhante em outros projetos de menor escala.

Extensão da minha função: Reunir / redigir requisitos, criar especificações funcionais, projetar a interface do usuário (basicamente mapear todos os aspectos de front-end do sistema), trabalhar em estreita colaboração com os desenvolvedores para comunicar / esclarecer requisitos e apresentar soluções quando atingimos obstáculos. , escrevendo casos de teste (e realizando grande parte dos testes), trabalhando com a gerência sênior e as principais partes interessadas, gerenciando beta testers, criando guias do usuário e liderando sessões de treinamento, fornecendo suporte técnico essencial.

Também escrevo algumas macros no Excel usando VBA (várias das minhas macros agora são usadas em toda a empresa, então talvez haja cerca de 1000 pessoas) e uso o SQL diariamente, tanto nos arquivos compactos do SQL do programa conta com nossos dados do SQL Server e quaisquer bancos de dados do Access que eu criar. Os desenvolvedores acham que sou muito bom nessa função porque entendo muito sobre programação, limitações inerentes ao sistema, estrutura dos bancos de dados, etc., portanto, é mais fácil para mim comunicar idéias e apresentar sugestões quando enfrentamos problemas.

O que realmente me interessa é o desenvolvimento de software. Eu faço uma boa quantidade de programação no VBA e estou querendo aprender C # há algum tempo (a equipe de desenvolvimento usa C # - reviso o código ocasionalmente por minha conta, mas não tive nenhuma experiência prática em usá-lo). Estou interessado não apenas no processo de negócios, mas também no lado técnico das coisas, de modo que o papel tradicional de bacharel em verdade não desperta meu apetite pelo tipo de coisa que quero fazer. No momento, tenho alguns pequenos projetos que os gerentes me deram e estou encontrando novas maneiras de realizá-los (como a criação de aplicativos personalizados do Access), então há um pouco aqui e ali para me manter interessado.

Minha pergunta é a seguinte: o que eu gostaria de fazer é criar aplicativos Excel ou Access personalizados para pequenas empresas como uma empresa freelancer (trabalhando como uma loja individual; talvez tendo um contratado ocasional, dependendo da complexidade de um projeto). Obviamente, isso começaria como um empreendimento de meio período enquanto eu tivesse um emprego diário, mas acabaria se tornando um emprego de período integral. Estou me iludindo ao pensar que posso passar do programador BA / VBA em tempo parcial para fazer um negócio freelancer em período integral (onde eu começaria apenas escrevendo aplicativos personalizados do Excel / Access no VBA)? Ou esse tipo de coisa geralmente não é tentado até que alguém obtenha anos de experiência em programação em tempo integral? E existe mesmo um mercado para esses tipos de aplicativos entre pequenas empresas (e talvez médias)?


3
Agora você provavelmente está no topo de sua carreira. Você pode fazer o mesmo trabalho com as mesmas habilidades em 5 anos sem ler um livro. Se você fosse um programador, estará começando do fundo da escada e, em 5 anos, pode até não haver escada !!! Não misture hobby com carreira. Claro que você pode ser um programador, mas o que a maioria dos programadores comuns faz depois de 10 anos? Sobreviver como programador no mercado atual e subir é muito difícil para as pessoas comuns, devido à alta concorrência e aos contínuos desafios tecnológicos.
NoChance

Concordo que, como analista de negócios e pessoa de negócios, tenho a capacidade de continuar subindo para uma posição mais alta. O problema é que quanto mais alto você vai, geralmente mais distante da tecnologia e implementação você está. Eu entrevistei várias empresas de consultoria para cargos de consultoria de gestão na área de tecnologia, mas esses tipos de funções não me interessam realmente. Meu objetivo não é ser um programador puro; na verdade, não tenho interesse em trabalhar como desenvolvedor para ser contratado como funcionário, mas, em vez disso, tenho uma pequena loja de consultoria onde posso lidar com os negócios e com o desenvolvedor.
29712 Ryan

"pequena loja de consultoria onde eu possa lidar com os negócios e com o desenvolvedor" parece muito risco para mim. Veja bem, o mercado está cheio de soluções prontas para uso e muitas empresas e prestadores de serviços prontos para construir sistemas por um preço tão baixo quanto $ 200 ou menos. Não acho que 'pequeno' possa durar muito tempo, dada a economia e a rápida taxa de mudança na tecnologia, a menos que você tenha uma estratégia para atrair clientes e se concentrar em uma tecnologia que muda lentamente.
NoChance

7
@EmmadKareem, "não misture hobby com carreira" ... você quer dizer: certifique-se de que quase toda a sua vida de vigília seja gasta fazendo algo que você não gosta e cerca de 5% fazendo o que você gosta ... parece um grande plano de felicidade (mas reconhecidamente um comum)
JoelFan

4
@EmmadKareem, eu acho que há uma abundância de programadores que têm vindo a trabalhar 10, 20 ou mais anos e estão felizes com suas carreiras
JoelFan

Respostas:


15

Não, você não está se iludindo, isso pode ser feito! Um dos caras aqui fez isso, embora eu não saiba os detalhes de como, mas acho que ele começou como subscritor, tornou-se bacharel em subscrição de desenvolvimento de software intermediário e, de alguma forma, passou para o desenvolvimento em tempo integral. Eu acho que ele já tinha uma formação técnica, como você.

Pode funcionar melhor se você tentar fazê-lo primeiro com seu empregador atual do que trabalhar sozinho. Você teria muito mais apoio e ajuda. Talvez converse com seu gerente e pergunte como você pode fazer a transição para uma função de desenvolvimento dentro da organização, provavelmente na mesma equipe para começar. Dessa forma, você já conhece todos e eles conhecem você e o que você já é capaz e pode ajudar a treiná-lo ainda mais. Se você é realmente realmente realmente sorte, sua empresa terá um orçamento para enviá-lo em cursos de apanhar ainda mais rápido.


2
Eu apenas ecoaria que isso definitivamente pode ser feito - em uma posição anterior, trabalhei com um empreiteiro que fez exatamente isso. Ele começou a criar aplicativos do Access para uma empresa a partir de um cargo de não desenvolvedor, depois se tornou um consultor externo para eles e, eventualmente, transformou-o em seu próprio negócio e parece estar se saindo muito bem.
Bunglestink

4

VBA e Access é a parte inferior da escada de programação. Se eu fosse você, dispararia mais alto, já que você tem habilidades em SQL. Considere aprender o SQL Server Reporting Services e criar relatórios ou SSIS e executar o processamento ETL. Essas são habilidades com demanda bastante alta no momento e você está bem posicionado para fazê-las, pois pode ser relativamente fácil entrar em um ambiente corporativo, especialmente se você não tem mais ninguém cuidando dessas funções na sua empresa. Eu consideraria a experiência do analista de negócios uma enorme vantagem para um redator de relatórios.


2

Pode ser feito. Não será fácil, especialmente se você quiser melhorar, já que o desenvolvimento de software é uma disciplina de engenharia com problemas e armadilhas não óbvias que você precisará aprender a reconhecer e evitar. Isso levará alguns anos de estudo e prática sérios, mas se você puder entender os conceitos, poderá se tornar um programador, mesmo que seu histórico seja diferente.


Algum curso de estudo recomendado? Eu sou um aprendiz autodidata, então, agora, estou assinando um opencourseware do MIT (Introdução ao Comp Sci), que usa o Python como sua linguagem de ensino, principalmente para que eu possa entender uma teoria sólida de programação e pensar mais sobre o assunto. linhas de um programador. Continuando também a expandir meus conhecimentos em Excel / Access / VBA por meio de projetos reais em andamento.
21912 Ryan

@ Ryan Você está em uma ilusão sobre uma coisa: não existe uma teoria sólida de programação. Programar é uma arte muito imatura (arte é a palavra certa!) - é realmente muito jovem. Os programadores leem muitos livros, mas as revoluções nesse campo acontecem por um mês. O que significa que a atitude de aprendizagem é o único pré-requisito :)
K.Steff

1
@ Ryan: Eu sou principalmente autodidata. Meu "curso de estudo" foi "esse programa é péssimo. Eu poderia fazer isso e fazê-lo melhor do que o autor. Então, vamos ver, eu tenho um compilador, agora como começo a implementar recursos?"
Mason Wheeler

2

Se isso vai levar anos ou anos, depende muito de você, sua programação, mas o mais importante, seu nível de interesse, que tende a estar atrelado à aptidão. Se você mora ou trabalha em uma cidade e tem a opção de deslocamento em massa, use-o e use esse tempo interno para ler livros de tecnologia. Qualquer coisa que lhe interessa.

Tanto quanto a audácia de pensar que você pode, não se preocupe. Decidir que você provavelmente poderia lidar com isso <inserir pilha desconhecida de complexidade aqui> é o que os desenvolvedores fazem. Isso não é arrogância, é apenas o primeiro passo.

Arrogante no país dos desenvolvedores está se chamando um desenvolvedor profissional quando você tem uma solução para tudo e não aprende nada de novo desde a faculdade. Esse é o problema do desenvolvimento. Quando você para de aprender, sua carreira começa a decair, então o interesse é fundamental. Parece que você tem isso.

Então vá em frente.

Você tem seu alvo à vista. O resto está dividindo os grandes problemas assustadores em pequenos e não tão assustadores. Repita o anúncio nauseum e você será um desenvolvedor de tempo integral pago que deseja que haja mais problemas maiores / mais assustadores do que costumava ser antes, do que você imagina.


Observação lateral: a arrogância é útil nos estágios iniciais. Se eu soubesse o que era realmente a programação quando comecei, provavelmente teria desistido duas horas depois do 'olá mundo'.
27512 K.Steff

1

Eu diria (se você quiser começar o jogo) vá com o SICP - Estrutura e Interpretação de Programas de Computador. Eu deveria ligar para ele, mas é mais do que apenas um livro; Hoje em dia, você também pode encontrar outras pessoas para estudar o curso on-line. É um livro muito difícil - concluir todos os exercícios é algo que a maioria dos desenvolvedores não pode fazer (infelizmente), mas é o melhor livro disponível. O MIT OCW também é bom, mas IMHO é uma versão diluída do SICP para programação. O Python foi projetado para ocultar a complexidade, em vez de fazer com que você se divirta de maneira doentia (como o SICP).

Além disso, você precisa distinguir entre programar como profissão e programar como uma habilidade. Um requer dedicação a coisas como código bonito, limpo e extensível, enquanto o outro requer nada além de habilidades algorítmicas (o que é bastante, na verdade). O 'ditador benevolente' do Python, Guido van Rossum, argumenta que a programação será uma habilidade essencial nos próximos anos, mas as habilidades de desenvolvimento de software não serão, em nenhum caso. A maioria dos não desenvolvedores escreve código para jogá-lo fora (os desenvolvedores também fazem isso com frequência). A questão de programar como carreira inclui muito mais coisas do que programar e é importante definir suas prioridades.

O mais importante: não deixe de amar a programação, não apenas como ela. É mais do que um trabalho das 9 às 5, é abraçar a filosofia de aprendizado constante : a maioria dos engenheiros é treinada durante o BS ou o MSc e não vê mudanças significativas em seu campo de especialização. Uma carreira ao longo da vida em programação fará com que você veja pelo menos 10 mudanças de paradigma (não apenas linguagens, mas ferramentas, bancos de dados, etc.), então é melhor você estar pronto (e disposto) a aceitar isso.


+1 para "filosofia de aprendizado constante". A programação é basicamente aprender e melhorar todos os dias. Se você gosta de fazer essas duas coisas, provavelmente terá uma boa experiência e terá sucesso.
B Sete

1

Eu acho que você está em uma boa posição para fazer isso.

Na maior parte da minha carreira, tenho estado profundamente enraizado no lado técnico das coisas; no entanto, ao longo de anos observando muitos projetos serem bem-sucedidos ou fracassados, cheguei à conclusão: -

Se você não entender seus usuários de negócios e seus requisitos, seu projeto falhará.

Eu nunca vi uma exceção a essa regra e nenhuma quantia de dinheiro, hardware ou gênio de programação parece fazer alguma diferença. Projetos verdadeiros com um bom entendimento dos requisitos podem falhar por causa de hardware, software, software, falta de orçamento ou falta de habilidades mal escolhidos - mas, na maioria das vezes, esses projetos podem ou podem ter sido resgatados.

Portanto, sua boa base em BA e seus requisitos fornecerão uma perspectiva de que algumas de suas faculdades de tecnologia mais talentosas podem faltar, o resto você pode aprender.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.