Atualmente, estou trabalhando como estagiário em uma empresa de desenvolvimento não-software muito grande. A posição para a qual me inscrevi não era especificamente uma posição de desenvolvimento, mas a equipe que me contratou queria um diploma de CS para ajudar a tentar desenvolver alguns projetos internos para eles. Estou aqui há quatro semanas e a confusão inicial está começando a desaparecer. No entanto, sou o único especialista em CS em todo o escritório - ninguém na minha equipe, no prédio ou mesmo nos locais vizinhos tem experiência em desenvolvimento de software. O melhor que tenho é um gerente de banco de dados, e o departamento deles está muito ocupado para me apoiar em meus projetos. Meus colegas de equipe estão me ajudando a aprender como eles fazem seu trabalho (o que é importante para mim), mas não há ninguém para me ajudar a fazer meu trabalho, ou seja, o desenvolvimento.
Os projetos que eles me deram têm um escopo maior do que qualquer coisa que eu fiz na escola. Isso, combinado com o fato de estar trabalhando sozinho, tentando desenvolver aplicativos do zero, sem nenhuma forma de orientação ou mesmo metas claramente definidas, me preocupa muito com minha capacidade de obter sucesso. Mal sei por onde devo começar e agora tenho provavelmente menos de dois meses.
Sinto que deveria estar aprendendo o processo de desenvolvimento de software, mas agora é como se estivesse me sentindo no escuro. Isso é especialmente preocupante para mim, pois não estou muito confiante com minhas habilidades de desenvolvimento. Eu estive pesquisando e ensinando a mim mesmo, mas só estou conseguindo pedaços. Eles têm grandes expectativas de mim, mas não tenho certeza da minha capacidade de cumprir. Obviamente, preciso sentar e conversar com meus gerentes sobre a posição em que estou, e pretendo fazer isso o mais rápido possível (eles geralmente estão viajando e saindo do escritório).
Como devo lidar com isso? Este estágio terminará antes que eu perceba e não quero sair sem nada para mostrar o meu tempo aqui. Eles também não querem isso e estão sempre disponíveis para me ajudar, mas sem o conhecimento de programação, há muito o que podem fazer. Tenho medo de dizer a eles que sou incapaz de produzir o que eles querem. Como devo relacionar isso com eles? Vejo os estagiários de engenharia recebendo ajuda de outros engenheiros, aprendendo a fazer o trabalho deles, e sinto que estou sentado aqui esperando meu tempo. Qualquer conselho sobre como corrigir minha situação seria muito apreciado.
Atualizar
Agradeço todo o feedback útil de todos, ajudou a acalmar minha mente. A primeira coisa que fiz foi encontrar-me com meus gerentes e supervisores. Discutimos o que era esperado do meu tempo aqui. Eles entendem que eu não tenho tanto tempo como estagiário, e isso ajudou a colocar um escopo no tipo de estrutura que queremos realizar, o que permitirá que futuros estagiários ou funcionários esperançosamente aproveitem o que eu deixo. Também resolvi minhas preocupações com relação às minhas capacidades com o tempo previsto, que elas entendiam e esperavam.
Recebi uma ligação do administrador do banco de dados em outro local - meu gerente conversou com o supervisor e eles vão apoiar o meu projeto, que agora me dará um recurso para usar, para que eu não fique sentado sem ter ideia do que estou fazendo. ' estou fazendo. Isso é apenas metade embora. De todos os projetos possíveis, reduzimos para os dois mais importantes em que trabalhar. Quanto ao meu outro projeto, como alguém mencionou, sou essencialmente o principal arquiteto de software, uma situação única para um estagiário. Se as coisas correrem pelo menos sem sucesso, acho que adquirirei uma grande quantidade de conhecimento e experiência que podem me ajudar com futuros empregadores. Por enquanto, acho que tenho bases sólidas para começar a pesquisar e desenvolver meus projetos. Mais uma vez obrigado pelas respostas de todos!
fonte
Respostas:
Tenho más notícias para você bhamlin:
Você não é estagiário. Em vez disso, você é um funcionário não remunerado / barato.
Um estágio é uma posição não remunerada ou mal remunerada, onde você pode praticar suas habilidades adquiridas recentemente em um ambiente seguro (geralmente) relaxado e ter a chance de observar profissionais 'reais' em seu campo realizando um trabalho 'real', obtendo feedback. nas peças que eles permitem que você modifique (geralmente sob supervisão e / ou aprovação).
O que sua empresa queria não era, de fato, um estagiário, mas uma fonte gratuita / barata de desenvolvimento de software. Isso é bastante comum , na minha opinião. Eu moro em uma cidade universitária e, no meu último local de trabalho, os gerentes eram ouvidos com frequência dizendo: "Ei, o departamento de TI está muito ocupado para fazer o Projeto X, vamos ver se conseguimos alguns estagiários da Universidade para escrevê-lo para grátis / barato! " Nós resmungamos, gememos e rangemos os dentes até o céu, mas essa era a realidade do lugar, e eu pude entender por que os gerentes sugeriam uma coisa dessas. Infelizmente, os resultados não foram ótimos: o software entregue pelos estagiários nunca foi coeso / escalável / limpo / etc (mas, para ser sincero, o material que o departamento de TI não divulgou ...)
Cabe a você o que você faz. Meu conselho é apenas desenvolver o que puder (às vezes a pressão é um grande motivador), mas você também deve planejar um estágio 'real' em outro lugar quando este terminar, se possível.
Portanto, não se culpe, mas o que você encontrou NÃO foi um estágio real.
fonte
Como especialista em CS, você tem habilidades de resolução de problemas à sua disposição. Não está claro que tipo de projetos eles desejam desenvolver. Se eu tivesse que adivinhar, eles provavelmente querem que você ajude a automatizar alguns dos processos internos. Eu começaria tentando obter um diagrama geral dos processos existentes e das dependências entre os departamentos de cada um desses processos.
Em seguida, procuraria algumas frutas baixas que poderiam ser automatizadas ou, pelo menos, simplificadas.
Maneira infalível de documentar qualquer processo
Faça estas perguntas na seguinte ordem:
Se a resposta para o número 3 for NÃO , então pegue as peças que faltam. Podem ser fórmulas ou regras de negócios ou qualquer outra coisa.
Se a saída da etapa um for muito complicada, divida-a em partes gerenciáveis e ataque cada parte como um processo separado.
Documente o que você descobriu. Identifique um único ponto potencial de falha. Identifique pontos fracos ou dependências escassas.
Eu sei que parece esmagador, mas você tem o conjunto de habilidades. Basta transformá-lo em pedaços pequenos. Se você pode aprender a explicar "coisas nerds" usando "palavras que não sejam nerds", valerá seu peso em ouro.
fonte
Aqui está minha opinião sobre toda essa situação: eles estão pedindo mais do que você pode razoavelmente realizar, sem fornecer nenhum feedback ou orientação, e geralmente tornando seu trabalho não tão agradável. Mas há um lado positivo para essa nuvem. Você está aprendendo alguma coisa.
Particularmente, você está aprendendo o tipo de ambiente em que NÃO deseja trabalhar quando se formar. Você também está aprendendo a lidar com um projeto que é muito grande para ser realizado de maneira viável. Ambos são importantes conhecimentos a serem mantidos, pois ninguém lhe dará um emprego que eles acham que está abaixo da sua capacidade. Eles sempre pedirão mais do que você pode dar, e é seu trabalho trabalhar com eles para gerenciar as expectativas e entregar o que eles desejam.
Sobre o que você pode fazer aqui e agora. Eu começaria mantendo um diário de tudo o que você faz todos os dias. Isso lhe dá responsabilidade. Mesmo um simples final de dia "foi nisso que trabalhei hoje" lhe dará algo para recorrer quando eles não conseguirem o que querem e procurarem respostas.
Eu também conversaria com seu superior imediato e veria se há alguma maneira de quebrar um desses projetos maiores . Se você não se sentir à vontade para fazer a coisa toda, talvez eles apenas façam a pesquisa e a arquitetura do projeto, e talvez outro estagiário o implemente mais tarde. Apenas fique claro o que você acha que pode razoavelmente realizar no tempo que resta no estágio e faça desse seu objetivo. Dessa forma, você ainda estará entregando algo relevante ao seu empregador no final do dia.
Por fim, veja se você pode ingressar nos estagiários de engenharia . Vou assumir que esses estagiários também estão desenvolvendo software e não vejo razão para que o que você esteja fazendo e o que eles estejam fazendo estejam tão distantes que você não possa aprender um com o outro. Eu trabalho com engenheiros elétricos, engenheiros de software, engenheiros de computação e cientistas da computação em meus projetos, e cada pessoa traz suas próprias forças para a equipe. Identifique onde estão seus pontos fortes no desenvolvimento e tente argumentar por que essas habilidades se prestariam bem à equipe de engenharia.
fonte
Fale com o seu orientador de estágio
Todas as respostas que eu vi até agora parecem focar no empregador, o que é importante.
No entanto, você deve ter sido estabelecido com este estágio através de um programa ou escritório em sua escola. Não consigo imaginar que você seria o primeiro aluno que teve que se deparar com esse tipo de situação. Eles devem ser capazes de guiá-lo em uma determinada direção.
Mesmo que eles não possam ajudá-lo agora (o que acho difícil de acreditar), você estará ajudando o próximo aluno que se encontrar nessa situação, algo que não pode ser subestimado.
fonte
Eu tive dois estágios como esse e gostei imensamente deles. Existem aspectos positivos significativos que você parece estar perdendo:
Dito isto, enfrentar o seu primeiro grande projeto pode ser esmagador. O seguinte pode ajudar:
Então, relaxe, faça o seu melhor e aprenda o máximo que puder, seja sobre software ou não.
fonte
As outras respostas aqui são muito boas, leia-as várias vezes e tente realmente descobrir. Se você fizer isso, com um esforço acima da média, poderá sair "vivo" do outro lado do estágio. Dada a sua situação, será mais difícil do que o esperado, mas pode valer a pena.
Isso é crucial porque, quando você solicitar uma vaga para outra empresa 1 , uma das principais perguntas será:
Se você puder mostrar a eles que lidou com sua situação difícil de maneira profissional, isso contará MUITO , os empregadores geralmente ficam muito impressionados com algo assim.
Mesmo que seja meio chato, você pode torná-lo uma experiência valiosa, da qual você tem a oportunidade de aprender o que seus colegas nunca aprenderão ...
1 = Espero que sim, porque ficar lá será um suicídio na carreira (mais cedo ou mais tarde ... provavelmente mais cedo)
fonte
Eu estava em uma posição semelhante no ano passado, onde tive que desenvolver tudo desde o início e não tinha mais ninguém com nenhuma experiência em desenvolvimento. Eu terminei o projeto que eles me deram, mas não o chamaria de aplicativo polido ou mesmo sustentável (já que a única pessoa que sabe como funciona sou eu e ninguém na empresa analisou o código).
Aqui estão algumas coisas que eu fiz e faria se estivesse nessa situação. Alguns deles já foram mencionados nas respostas anteriores
Descobrir:
Isso lhe dará uma imagem em sua cabeça sobre a aparência do produto. Desenhe isso em um pedaço de papel e mostre ao seu gerente / supervisor. Veja o que eles dizem sobre isso. Se eles não gostarem, pergunte o que eles querem mudar, mude e repita o processo. Se eles gostarem, faça a quantidade mínima de codificação e crie uma demonstração simples.
Mostre a demonstração para eles (pergunte se é isso que eles têm em mente), isso mostrará a eles seu progresso e ajudará você a entender o que eles querem.
Sempre que precisar de ajuda para codificação, leia manuais / tutoriais, pesquisa no Google e, finalmente, poste no estouro da pilha para obter ajuda.
Não se prenda a pequenos detalhes. Você vai perder muito tempo se fizer isso.
Código em pequenos pedaços , sendo cada um deles uma das principais funcionalidades do aplicativo.
Comente seu código. Se eles estão planejando passar isso para outro estagiário ou funcionário, será uma grande ajuda para eles.
Continue se comunicando com seu gerente / supervisor sobre o projeto e seu progresso.
E não se preocupe se não puder terminar o projeto, você é estagiário e fez o melhor que pode. Eles são os culpados por contratar alguém com pouca experiência para esse projeto.
TL; DR
Comunique-se com seu gerente a cada passo
Codifique a principal funcionalidade
Obtenha ajuda do Google e empilhe o Exchange
Não se preocupe se você não pode terminar
fonte
Seu tempo ajudaria melhor sua empresa se você trabalhasse apenas em um pequeno projeto. Certifique-se de mantê-lo bem documentado. Concentre-se na criação de documentação útil da arquitetura, objetivos do projeto, progresso do projeto e código fonte.
fonte