Melhorando sem mentor [fechado]

23

Embora eu me considere pouco experiente, continuo conseguindo empregos como líder de alguma forma (no atual sou diretor de tecnologia da empresa, no anterior fui chefe de pesquisa e desenvolvimento).

Entendo por que isso acontece (tenho um conjunto específico de habilidades e uso algumas linguagens de programação incomuns), meu problema é: não consigo encontrar um mentor ...

Sei que deve haver coisas para aprender, e noto que, ao longo dos anos, estou aprendendo lentamente mais e mais, mas acredito que há uma maneira de melhorar muito mais rapidamente do que apenas codificar ...

Então, como eu melhoro quando não há outra pessoa na empresa para me ensinar ou para ler o código? (ou corrija o código deles até ...)

Acho que estou além dos livros, mas muito abaixo do nível "mestre", então não sei onde aprender mais.

speeder
fonte
Não desista de trabalhar com um mentor. Pode fazer uma grande diferença e abrir muitas portas.
DeveloperDon
1
Se há uma atividade relacionada ao seu trabalho que assusta ou deixa você nervoso, é um bom sinal de que você pode aprender com ela. Você fez apresentações em conferências internacionais? Você iniciou seu próprio projeto de código aberto? Você começou sua própria empresa? Há muitos mais ...
Marco
Eu abri minha própria empresa (mais de uma vez, na verdade) e fui convidado para falar em algumas conferências internacionais (embora todas no meu país). :) E sim, há algumas coisas que eu evitar ... Mas alguns dos que eu sempre evitar, outros, vou aprender no tempo :)
speeder
este site e os seus sites irmãos podem fazer por um mentor razoável se você não consegue encontrar um único ser humano para fazer o trabalho
LRE

Respostas:

26

Algumas dicas:

  • Aprenda outras línguas. Em seguida, compare-os com o (s) idioma (s) que você já conhece e tente observar as maneiras pelas quais você pode melhorar suas habilidades de codificação nesses idiomas usando o que aprendeu com outros idiomas. "Liberte a sua mente" antes de aprender esses novos idiomas e não tente simplesmente clonar os conceitos de um para o outro .

  • Leia o código. Não sei que idioma (s) incomum (s) você está usando precisamente em seus trabalhos, mas tenho certeza de que você pode encontrar código-fonte aberto de alta qualidade escrito nesses idiomas por desenvolvedores muito habilidosos.

  • Fique com a comunidade. Se você não tem colegas que usam seu (s) idioma (s) no trabalho, não é uma desculpa para não compartilhar o conhecimento em sites como o Stack Overflow, onde existem perguntas e respostas mesmo para idiomas muito incomuns. Tente procurar essas perguntas por tag e veja se você entende todas as respostas. Se as perguntas não forem respondidas, responda-as.

  • Ensinar. Ensine seus colegas de trabalho. Escreva um blog. Qualquer que seja. Ao explicar algo para outras pessoas, você aprenderá melhor.

Arseni Mourzenko
fonte
2
+1: Ensinar. Sim. Às vezes, quando estou preparando uma pequena sessão de demonstração, eu sempre me pergunto o que meu público faria. Na tentativa de me preparar para as respostas, pesquiso e mais frequentemente aprendo algo de valor inestimável.
Apoorv Khurasia
8

Minhas principais soluções para isso nos últimos 2 anos foram:

  • rede social: Descobri particularmente que o meetup.com é uma ótima maneira de encontrar grupos de programação em sua área. O Twitter também é ótimo para isso. Quando você encontrar pessoas que você gosta e respeita, siga-as.

  • Usando o http://www.stackoverflow.com , inicialmente o usei para perguntas ocasionais. Agora é meu companheiro diário para dar e receber conselhos. Use também os sites irmãos, como /codereview//

  • Trabalho: Embora provavelmente não seja aplicável a você (mas é um bom conselho geral para os outros). Se você é bom o suficiente para conseguir algum tipo de emprego na área que deseja, procure pessoas seniores, seja gentil com elas e tente convencê-las a orientá-lo. .

  • Livros. O'Reilly, Pragmatic Programmer e outros ainda têm bons livros e você pode escolher versões em papel e / ou digital. Aqui está uma lista realmente excelente: /programming/1711/what-is-the-single-most-influential-book-every-programmer- deve ler com alguns dos melhores 'clássicos' disponíveis no mercado caso você ainda não os tenha lido. Posso recomendar código limpo e código completo.

  • Tutoriais. Agora, existem alguns sites fantásticos na rede, como
    http://www.codeschool.com ,
    http://www.codeacademy.com
    http://code.google.com/edu/

Michael Durrant
fonte
Eu percebi o quão raro é o material que eu uso quando nenhum desses sites mencionou isso: P
speeder
5

Só porque estou lendo um pouco de hierarquia na (para) sua pergunta:

Aprenda com as pessoas sob você. O desenvolvimento de software trata da comunicação entre seres humanos, geralmente por meio de código. Como a boa comunicação deve ser nos dois sentidos, aprenda com as pessoas com quem você programa. (presumo que você não esteja em uma empresa individual)

rebocadores
fonte
+1. Atualmente, estou estudando CS e trabalhando meio período como desenvolvedor. Meu líder de equipe me pediu para sentar com ele e revisar seu código. Aprendo muito e sinto que ele confia em mim, mas também acho que posso retribuir algo. A minha experiência não é a melhor, mas meu conhecimento é atualizado e posso dizer "uma nova e melhor maneira de fazer isso é .." etc.
Matsemann
2

Acredito que você aprenderá bastante ensinando aqueles que lidera. Você entenderá melhor o que ensina a eles, porque será forçado a pensar sobre por que / como as coisas fáceis funcionam (o que você provavelmente evitou fazer no começo porque queria que funcionasse)

Jake
fonte
2

A tutoria pode ser multifuncional

Os mentores nem sempre precisam ser especialistas no que você está focado. Se você usa uma linguagem de programação incomum, isso ainda deixa cerca de 99 tópicos fora do idioma no desenvolvimento de software nos quais você poderia ser treinado. Alguns de meus recentes mentores estiveram envolvidos no desenvolvimento de negócios, na engenharia de hardware ou de sistemas, mesmo que eu esteja principalmente envolvido em software.

Muitos tipos de pessoas podem ser seu mentor

Uma coisa boa a procurar é alguém que agora está onde você gostaria de estar em cinco anos. Um mentor como esse nem sempre está disponível; portanto, outra alternativa inclui um sábio que tem muito mais experiência, mas pode não estar mais em um papel formal de liderança, um mentor reverso que é menos experiente (ou que seja mais jovem, mas que não tem permissão de Deus) em ferramentas e técnicas que podem ser benéficas.

Seu mentor também é seu patrocinador?

Além dos mentores, às vezes é essencial ter um patrocinador. Se você está tentando avançar em uma organização, se você tem um mentor que dá ótimos conselhos, mas não influencia sua cadeia de comando a seu favor, você pode ter desvantagens em relação a alguém que tem um mentor que os patrocina como líder, proprietário do projeto ou gerente de um projeto que lhes confere uma função ou promoção mais influente.

Mentores e redes entre empresas

Se você já é o diretor de tecnologia, pode precisar procurar fora de sua empresa seu mentor. Há força nos números, de modo que o networking com muitas pessoas de maneira superficial pode ser surpreendentemente valioso. Geralmente, considerava que, para ser valioso, seu envolvimento com outros profissionais precisava ter a profundidade que resulta do trabalho em conjunto ou de uma associação extensa, frequente ou longa.

Qual é o tamanho da sua lagoa?

Você menciona que foi diretor de P&D e diretor de tecnologia, mas não sente que é tão experiente. A confissão é boa para a alma, se não a reputação. Eu tenho uma confissão semelhante.

Em um ponto, considerei minha carreira dividida em duas partes. No primeiro, trabalhei em várias equipes nas quais eu era o único desenvolvedor de software ou o desenvolvedor com mais faculdade. O segundo começou quando eu contratei uma empresa da Fortune 100 e trabalhei com um desenvolvedor distintamente mais alto. O contraste era essencialmente como ser um peixe grande em um pequeno lago e ser um peixe pequeno em um grande lago.

Negociação

Fazer a mudança de pequenas empresas independentes significava que eu tinha muito menos status na organização. Mas ainda havia algum status. Os desenvolvedores ainda eram avaliados tanto com salários mais altos quanto com um alto grau de controle sobre o trabalho. Eu também pude influenciar os colegas da equipe (embora não de cima para baixo). Havia muitos modelos. Ter muita concorrência me forçou a me fortalecer tecnicamente e a entender como o que eu fiz agregou valor à organização e às minhas equipes.

Anteriormente, eu ignorei meu instinto sobre papéis e mentores e paguei um preço. A intuição às vezes é um sentimento que sai de uma síntese da experiência. O meu voto seria que, se parecer errado, provavelmente está errado e merece uma investigação atenta. Parece que você está preocupado com sua experiência e com a falta de um mentor, explore suas opções.

Você talvez encontrasse crescimento, satisfação e outros benefícios migrando para uma empresa maior e mais agressiva? Maior nem sempre é melhor, mas às vezes tem a vantagem de diversas pessoas que resultam em diversas relações de trabalho e diversas experiências em projetos. Muitos dos luminares do Vale do Silício tiveram ou serviram como mentores de pessoas que, como resultado, podem traçar seu caminho para o sucesso com mais rapidez e eficiência. Um dos meus colegas de classe da pós-graduação seguiu a ligação para ingressar no Linked In e está experimentando essa cultura, jogando um jogo de nível muito mais alto.

Benefícios do mentor

Embora um mentor possa ser como um professor, acho que, a menos que você tenha alguém que analise seu produto com freqüência ou sirva como mestre no relacionamento mestre / aprendiz, o treinamento de habilidades e a educação profissional são secundários. Acho que as melhores coisas que os mentores compartilham incluem conselhos sobre crescimento, modelagem de papéis de boas decisões e equilíbrio entre os valores do local de trabalho e julgamento constante, objetivo e sólido em tempos de crise.

Um conselho que meu avô me deu muitas vezes foi que as pessoas só podem aprender quando são humildes. Tenha cuidado com declarações como "Estou muito além dos livros" e tente aprender com todos. Para construir um relacionamento com um mentor, certifique-se de que seja respeitoso e receptivo e que mostre apreço. Também será importante seguir os conselhos deles, porque, a menos que sejam extremamente pacientes, eles geralmente investem seu tempo em que serão transformados em ação.

DesenvolvedorDon
fonte
1

Meu caro amigo

Deixe-me dizer-lhe que raramente é descoberto que alguém está ensinando a outra pessoa as nuances da programação. Programar é algo que precisa ser aprendido por você mesmo. Se você se concentrar em um tópico singular e tentar fazer parte de vários fóruns que suportam esse tópico, mais cedo ou mais tarde você se tornará o mestre desse tópico. Lembre-se de que você é a melhor pessoa para saber o quão bom você se tornou. No tipo de indústria e mundo em que somos, devemos nos tornar nossos próprios mentores, pois o que ensinamos a nós mesmos permanece conosco para sempre.

O Cavaleiro das Trevas
fonte
Não para todos. Eu e vários outros tivemos o melhor aprendizado de um mentor. Eu tive um por 8 anos nos anos 90 e agora tenho um para tecnologias mais recentes e é ótimo. Além disso, estou retornando o favor ensinando outras pessoas em encontros, etc. Aqueles que ainda não experimentaram grande orientação estão perdendo o que muitos consideram essencial. A codificação de hoje em dia é cada vez mais feita através de programação em pares, revisões e código compartilhado (por meio de sistemas DVCS como git), por isso é uma boa maneira de aprender e é a maneira que você provavelmente estará praticando se for apaixonado pelo ofício da programação
Michael Última atualização
No entanto, o que também é verdade é que é improvável que você encontre isso pedindo ou procurando em posições novas ou potenciais. Você geralmente encontra isso tentando obter a melhor sensação possível de personalidades na frente de um novo emprego e, se tiver muita sorte, encontra a pessoa certa. Procura empregos com menos pressão e esteja preparado para fazer concessões em outras áreas.
Michael Durrant
0

como me aperfeiçoo quando não há outra pessoa na empresa para me ensinar ou para ler o código?

Quando estou usando "ferramentas específicas ou linguagem / estrutura de programação incomum", procuro alguns grupos de interesse especiais. Obviamente, existe uma comunidade online para a maioria das tecnologias / estruturas atualmente em uso. Assim, utilizo todos os meios de comunicação on-line para manter contato com as últimas postagens em:

  • Grupos do LinkedIn
  • Tweeter - siga profissionais
  • Fóruns - onde os problemas são discutidos
  • Blogs - páginas e anúncios da comunidade wiki
  • Grupos de usuários de interesse especial - como grupos do Gmail ou Yahoo

Uma das melhores abordagens para aprender boas práticas de "linguagens de programação incomuns" é encontrar algum blog de desenvolvedor (de preferência de 4 a 5) e se inscrever.

EL Yusubov
fonte
0

meu problema é: não consigo encontrar um mentor ... acho que estou além dos livros, mas muito abaixo do nível "mestre", então não sei onde aprender mais.

Em que área? Deseja melhorar suas habilidades de programação, engenharia de software, gerenciamento de projetos, algo mais? Você não especificou em sua pergunta.

Você não vai além dos livros, se aprendeu a programar / projetar projetos de software / gerenciar um projeto por conta própria. Você também não está além de voltar à escola. Voltar à escola para obter um diploma avançado ou, pelo menos, fazer algumas aulas de pós-graduação é uma opção que você não deve descartar. Qual area? Isso depende do que você deseja melhorar, onde você vê sua carreira. Há muito a ser dito para obter um MBA, por exemplo. As pessoas que são mais experientes no sentido técnico e comercial valem muito. Muito. Alguns dos meus ex-colegas de trabalho fizeram um MBA. Não os vejo frequentemente porque, quando não estão trabalhando, estão indo para algum paraíso tropical. Ou um safari. Ou uma viagem de fim de semana para os Alpes. Ou uma viagem de esqui de verão para a América do Sul.

Outra opção é ingressar em uma sociedade técnica em um campo em que você possui experiência, mas ainda deseja melhorar. Outra é conseguir que seu empregador o envie a uma conferência de boondoggle, onde você pode aprender e interagir em rede.

David Hammen
fonte