Como posso salvar meu estágio? [fechadas]

65

Atualmente estou trabalhando como estagiário em uma grande empresa de desenvolvimento não relacionada a software. A posição para a qual me candidatei não era especificamente uma posição de desenvolvimento, mas a equipe que me contratou queria um CS principal para ajudar a tentar desenvolver alguns projetos internos para eles. Eu estou aqui há quatro semanas e a perplexidade inicial está começando a se desgastar. No entanto, eu sou o único CS major em todo o escritório - ninguém na minha equipe, no prédio, ou mesmo nos locais vizinhos tem algum conhecimento em desenvolvimento de software. O melhor que eu tenho é um gerenciador de banco de dados, e o departamento deles está ocupado demais para me apoiar em meus projetos. Meus colegas de equipe estão me ajudando a aprender como fazem seu trabalho (o que é importante para mim fazer meu trabalho), mas não há ninguém para ajudar em meu trabalho meu , ou seja, desenvolvimento.

Os projetos que eles me deram são maiores em escopo do que qualquer coisa que eu fiz na escola. Isso, combinado com o fato de que estou trabalhando sozinho, tentando desenvolver aplicativos a partir do zero, sem nenhuma orientação ou objetivos claramente definidos, me deixa muito preocupado com minha capacidade de ser bem-sucedido. Eu mal sei onde eu deveria começar, e agora eu tenho provavelmente menos de dois meses restantes.

Eu sinto que deveria estar aprendendo o processo de desenvolvimento de software, mas agora é como se eu estivesse me sentindo no escuro. Isso é especialmente problemático para mim, já que não estou muito confiante com minhas habilidades de desenvolvimento em primeiro lugar. Eu venho pesquisando e ensinando a mim mesmo, mas estou apenas obtendo pedaços. Eles têm grandes expectativas de mim, mas não tenho certeza da minha capacidade de entrega. 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 estão sempre viajando e saindo do escritório).

Como devo lidar com isso? Este estágio terminará antes que eu saiba, e eu não quero partir sem nada para mostrar pelo meu tempo aqui. Eles também não querem isso e estão sempre disponíveis para me ajudar, mas sem conhecimento de programação, há muito o que eles podem fazer. Tenho medo de dizer a eles que sou incapaz de produzir o que eles querem. Como devo relacionar isso a eles? Eu vejo os estagiários de engenharia recebendo ajuda de outros engenheiros, aprendendo como fazer o trabalho deles, e sinto que estou apenas sentando aqui esperando meu tempo. Qualquer conselho sobre como corrigir a minha situação seria muito apreciado.

Atualizar

Agradeço todo o feedback útil de todos, ajudou-me a tranquilizá-lo. A primeira coisa que fiz foi me encontrar com meus gerentes e supervisores. Nós 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 possam construir o que eu deixo. Também abordei minhas preocupações em relação às minhas capacidades com o tempo alocado, que elas compreendiam e esperavam.

Eu recebi uma ligação do administrador do banco de dados em outro local - meu gerente conversou com seu supervisor e eles vão dar suporte ao meu projeto, que agora me fornecerá um recurso para usá-lo. o que eu estou fazendo. Isso é apenas uma metade embora. De todos os projetos possíveis, nós os reduzimos aos dois mais importantes para trabalhar. Quanto ao meu outro projeto, como alguém mencionou, sou essencialmente o principal arquiteto de software, que é uma situação única para um estagiário. Se as coisas correrem pelo menos com sucesso, acho que ganhei bastante conhecimento e experiência que podem me ajudar com futuros empregadores. Por enquanto, acho que tenho algumas bases sólidas para começar a pesquisar e desenvolver meus projetos. Obrigado novamente pelas respostas de todos!

    
por bhamlin 17.06.2013 / 15:43
fonte

8 respostas

124

Eu tenho más notícias para você, bhamlin:

Você não é um estagiário. Pelo contrário, 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 recém-adquiridas em um ambiente seguro (geralmente) descontraído e ter a chance de observar profissionais 'reais' em seu campo fazendo um trabalho 'real', ao obter feedback sobre as 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 sim 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 dizendo "Ei, o departamento de TI está muito ocupado para fazer o Projeto X, vamos ver se podemos conseguir alguns estagiários da Universidade para escrevê-lo gratuitamente / barato! " Nós resmungaríamos e gemeríamos e rangeríamos nossos dentes para o céu, mas essa era a realidade do lugar, e eu podia entender por que os gerentes sugeriam tal coisa. Infelizmente, os resultados não foram ótimos: o software entregue pelos estagiários nunca foi coeso / escalonável / limpo / etc (mas, para ser honesto, nem as coisas que o departamento de TI emitiu de qualquer maneira ...)

Cabe a você o que você faz. Meu conselho é apenas desenvolver o que você 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ê fez não foi um estágio real.

    
por 17.06.2013 / 15:53
fonte
28

Como CS Major, você tem habilidades de resolução de problemas à sua disposição. Não está claro que tipo de projetos eles querem 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 gráfico grande de quais processos estão atualmente em vigor e as dependências entre departamentos para cada um desses processos.

Em seguida, eu procuraria algumas frutas que pudessem ser automatizadas ou, pelo menos, simplificadas.

Forma infalível de documentar qualquer processo

Faça estas perguntas na seguinte ordem:

  1. Qual é o resultado? (Obtenha uma resposta tão específica quanto possível)
  2. Quais são os insumos?
  3. Existem entradas suficientes para criar a saída?

Se a resposta para o número 3 for NO , então pegue as partes que faltam. Isso pode ser fórmulas ou regras de negócios ou qualquer outra coisa.

Se a saída da etapa 1 for muito complicada, divida-a em partes gerenciáveis e ataque cada parte como um processo separado.

Documente o que você descobriu. Identifique o potencial ponto único de falhas. Identifique pontos fracos ou dependências escassas.

Eu sei que parece impressionante, mas você tem o conjunto de habilidades. Basta transformá-lo em pedaços de tamanho de mordida. Se você pode aprender como explicar "coisas nerds" usando "falar não-geek", então você vai valer o seu peso em ouro.

    
por 17.06.2013 / 16:09
fonte
18
Aqui está a minha opinião sobre toda esta situação: eles estão pedindo mais do que você pode razoavelmente realizar, não dando-lhe qualquer feedback ou orientação, e geralmente fazendo o seu trabalho não é tão agradável. Mas há uma fresta de esperança nessa nuvem Você está aprendendo alguma coisa.

Particularmente, você está aprendendo o tipo de ambiente em que você NÃO deseja trabalhar quando obtém seu diploma. Você também está aprendendo a lidar com um projeto que é muito grande para você realizar de maneira viável. Ambos são importantes para se manter, já que ninguém vai lhe dar um emprego que eles achem que está abaixo de sua capacidade. Eles sempre pedirão mais do que você pode dar, e é seu trabalho trabalhar com eles para gerenciar as expectativas e entregar algo que eles desejam.

Para o que você pode fazer no aqui e agora. Eu começaria mantendo um diário de tudo o que você faz em cada dia. Isso lhe dá responsabilidade. Mesmo um simples final do dia "é nisso que eu trabalhei hoje" lhe dará algo em que recorrer quando eles não conseguirem o que querem e vierem em busca de respostas.

Eu também falaria com seu superior imediato e veria se havia alguma maneira de quebrar um desses projetos maiores . Se você não se sentir confortável fazendo a coisa toda, talvez eles façam pesquisas e arquiteturas para o projeto, e talvez tenham outro estagiário para implementá-lo. Apenas fique claro o que você acha que pode razoavelmente realizar no tempo que você deixou no estágio, e faça disso o seu objetivo. Dessa forma, você ainda está entregando algo relevante para seu empregador no final do dia.

Por fim, veja se você pode juntar-se aos estagiários de engenharia . Suponho que esses estagiários também estão desenvolvendo software, e não vejo razão para que o que você está fazendo e o que eles estão fazendo esteja tão separado 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 strongs no desenvolvimento e tente explicar por que essas habilidades se prestam bem à equipe de engenharia.

    
por 17.06.2013 / 16:58
fonte
13

Fale com o seu orientador de estágio

Todas as respostas que vi até agora parecem se concentrar no empregador, o que é importante.

No entanto, você deve ter sido criado com este estágio por meio de um programa ou escritório na sua escola. Eu não posso imaginar que você seria o primeiro aluno que teve que se deparou 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, que é algo que não pode ser subestimado.

    
por 17.06.2013 / 21:48
fonte
10

Eu tive dois estágios assim e gostei imenso deles. Existem lados brilhantes significativos que parecem estar faltando:

  • Neste momento você está aproveitando o tipo de liberdade criativa com que os programadores que trabalham em grandes equipes de programadores só podem sonhar. Tudo a partir da escolha do idioma, do controle de origem, dos editores, até a arquitetura de software, é totalmente da sua responsabilidade. Confie em mim, você sente falta disso quando se foi.
  • Trabalhar com pessoas que não sabem muito sobre software é uma parte significativa do processo de desenvolvimento de software. A escola condiciona você a ter atribuições bem definidas de pessoas com muita experiência no ensino de desenvolvimento de software. Mesmo em equipes de programadores, suas tarefas nunca são tão claras. Aprender a lidar com isso agora lhe dará uma vantagem.
  • Adquirir conhecimento de domínio sem o benefício de mentores é uma parte significativa do processo de desenvolvimento de software. Uma vez a cada ano ou dois, recebo uma tarefa como "Torne-se nosso especialista no assunto em tecnologia X". Alguém tem que ser o primeiro em uma empresa a aprender uma nova tecnologia. Você receberá trabalhos mais interessantes se puder mostrar que essa pessoa pode ser você.
  • Do seu ponto de vista, parece muita pressão, mas você deve saber que as expectativas deles sobre você são muito baixas. Eles sabem que é mais difícil para você sem um mentor adequado. Apenas faça o seu melhor e você ficará bem.

Dito isto, atacar seu primeiro grande projeto pode ser esmagador. O seguinte pode ajudar:

  • Tente não pensar em todo o projeto de uma só vez. Pense no que você precisa fazer agora.
  • Obtenha uma lista de recursos que precisam ser feitos e faça com que eles sejam colocados em ordem de prioridade. Dessa forma, se você não concluir o aplicativo inteiro, os recursos mais importantes ainda estarão disponíveis.
  • Divida o primeiro recurso em tarefas cada vez menores, até chegar às tarefas que você pode concluir em um dia ou dois. Não tenha medo de fazê-los parecer estupidamente simples. Minha primeira tarefa em projetos novos é sempre fazer oi de trabalhar no mundo e verificar o controle de origem. Especialmente se for um novo idioma, ou um que eu não usei há algum tempo, isso me diz que meu ambiente de criação e ferramentas estão configurados corretamente.
  • Atualize seu progresso com frequência. Não tente despejar um produto acabado neles no final do verão. Mostre a eles pelo menos uma vez por semana o que você tem até agora.
  • Faça um esforço inicial para tentar encontrar projetos e componentes existentes que possam atender às suas necessidades. É muito mais fácil personalizar um sistema existente do que fazer um a partir do zero. Muitas empresas precisam de tipos semelhantes de aplicativos internos. Este é um que eu gostaria de ter conhecido por mim mesmo. Um dos meus projetos de estágio basicamente reinventou (mal) um CRM .

Então, relaxe, faça o melhor que puder e aprenda o máximo que puder, seja sobre software ou não.

    
por 18.06.2013 / 00:43
fonte
6

As outras respostas aqui são muito boas, leia-as repetidamente e realmente tente entendê-las. Se você fizer isso, com um esforço acima da média, poderá emergir "vivo" do outro lado do seu estágio. Dada a sua situação, será mais difícil do que você esperava, mas pode valer a pena.

Isso é crucial porque, quando você solicitar uma posição para outra empresa 1 , uma das principais perguntas será:

I see here you did an internship at the company X. How was it ? Why did you leave ?

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 uma droga, você pode transformá-la em uma experiência valiosa, da qual você tem a oportunidade de aprender o que seus colegas de turma nunca farão ...

1 = Espero que sim, porque ficar lá será um suicídio de carreira (mais cedo ou mais tarde ... provavelmente mais cedo)

    
por 17.06.2013 / 19:49
fonte
5

Eu estava em uma posição semelhante no ano passado, onde tive que desenvolver tudo desde o início e não tive mais ninguém com nenhuma experiência em desenvolvimento. Eu terminei o projeto que eles me deram, mas eu não diria que é um aplicativo polido ou mesmo sustentável (já que a única pessoa que sabe como funciona é eu e ninguém na empresa analisou o código).

Aqui estão algumas coisas que fiz e faria se estivesse nessa situação. Alguns deles já foram mencionados nas respostas anteriores

Descobrir:

  • O que eles querem que o produto faça (entradas e saídas, o mínimo mínimo )
  • Quais são suas limitações? (por exemplo, quais programas você pode / não pode usar?)

Isso lhe dará uma imagem em sua cabeça sobre como o produto deve ficar. Desenhe isto em um pedaço de papel e mostre-o 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 o mínimo 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á o progresso deles e ajudará a entender o que eles querem.

Sempre que precisar de ajuda de codificação, leia manuais / tutoriais, pesquise no Google e finalmente poste no estouro de pilha para obter ajuda.

Não fique preso a pequenos detalhes. Você perderá muito tempo se fizer isso.

Codifique em pequenos blocos , sendo cada parte uma das principais funcionalidades da aplicação.

Comente seu código. Se eles planejam passar isso para outro estagiário ou para um funcionário, será uma grande ajuda para eles.

Continue comunicando-se com seu gerente / supervisor sobre o projeto e seu progresso nele.

E não se preocupe se você não puder terminar o projeto, você é um estagiário e você fez o melhor que pode. Eles são culpados por contratar alguém que está sob experiência para tal projeto.

TL; DR

  • Comunique-se com seu gerente a cada etapa

  • Codifique a principal funcionalidade

  • Obtenha ajuda do Google e faça o empilhamento

  • Não se preocupe se não puder terminar

por 17.06.2013 / 21:46
fonte
1
  1. Buscar esclarecimentos sobre as metas do estágio - por que você recebeu tantos projetos?
  2. Esclarece para a gerência que, dentro do tempo alocado, você não pode concluir os projetos solicitados
  3. Prepare uma análise de como usar melhor seu tempo. Por exemplo, sugira trabalhar somente em um projeto e descartar os outros.

Seu tempo ajudaria melhor sua empresa se você trabalhasse apenas em um projeto pequeno. Certifique-se de mantê-lo bem documentado. Concentre-se na criação de documentação útil de arquitetura, metas do projeto, progresso do projeto e código-fonte.

    
por 18.06.2013 / 00:55
fonte