Eu era desenvolvedor web freelancer até cerca de 2004, quando comecei a seguir a rota de gerenciamento, mas decidi tentar voltar ao desenvolvimento novamente (especificamente aplicativos web / móveis da Web JavaScript e HTML5) e realmente tenho a impressão de ser realmente bom em Para estas e outras tecnologias de movimento rápido, é necessário reservar um tempo constante para investir na melhoria das habilidades existentes, além de aprender novas habilidades.
Eu entendo agora que, desde que estou voltando às coisas, há uma curva de aprendizado bastante acentuada, mas ver como muitos caras estão por aí - a única maneira que vejo de chegar lá é dedicar bastante tempo.
Para aqueles que trabalham como desenvolvedores em período integral, o que estou tentando entender é isso - na maioria dos dias, quanto tempo no escritório é gasto na verdade processando código em comparação com aprendizado / pesquisa. Eu poderia facilmente passar de 2 a 4 horas por dia para descobrir as melhores maneiras de fazer as coisas.
A maioria dos bons desenvolvedores empregados em período integral investe horas significativas fora do trabalho, aprimorando suas habilidades?
Ou talvez eu esteja vendo tudo isso completamente errado?
fonte
Respostas:
Para ser sincero, uso o leitor de news feed. Eu assino vários blogs e sites relacionados à tecnologia. Vou ler meu feed durante o almoço, antes do trabalho e às vezes depois do trabalho. No entanto, eu uso meu tablet para isso e analisarei constantemente as fontes de notícias, se elas fornecerem um bom momento para avaliar a relação. Eu provavelmente recebo 1-2 horas por dia lendo sobre coisas novas.
Geralmente, não vou perder tempo lendo comentários ou comentando, a menos que seja uma transferência real de conhecimento.
fonte
Generally I will not waste time on reading comments or commenting unless its a real knowledge transfer.
Este é realmente um bom conselho. Também me mantenho atualizado por meio de blogs e sites relacionados à tecnologia, mas só recentemente descobri quanto tempo perdi lendo comentários, que raramente fornecem algum valor (isso depende do tópico e do tipo de fonte).Realmente? Esta ainda não é uma das respostas?
Sugira ao chefe que você já ouviu falar
newThing
e que isso poderia ajudar a empresa, principalmente comhideousProblemWeJustHad
. Foi assim que fiz minha incursão no teste de unidade. Isso não é super inovador, mas minha escola fez um trabalho horrível ao ensinar o que era aquilo e era novo para mim. Parte do tempo de fazer isso definitivamente foi pesquisar como fazê-lo corretamente.E embora isso esteja mais ou menos fora de seu controle, muitas vezes me pego aprendendo coisas novas apenas para fazer meu trabalho. Eu aprendi DO-178 e SQL porque eles eram obrigatórios para a tarefa em questão. Se você realmente quiser mergulhar em coisas novas, arrume um novo emprego.
Em resumo. Seja pago para aprender.Porque há uma verdadeira razão honesta para usar algumas dessas coisas novas. Porque eles são melhores. Se forem melhores, o chefe vai querer que você os use, porque isso ajudará seus resultados. Há alguma sobrecarga, com certeza. O processo de aprendizagem não é instantâneo e tempo é dinheiro, mas se não valer a pena, talvez a novidade não seja muito melhor. Nesse caso, shitcan it.
fonte
ember.js
e conseguiu realmente obter o projeto fora assinado, para não mencionar as horas extras prometido e bônusnewthing
e deve sugerir usá-lo em vez dos colegas que dirigem a empresa. Mas existem MUITOS chefes não técnicos e o campo é TÃO grande que esperar que os chefes saibam o que é melhor é meio bobo. Não está gerenciando seu chefe, está apenas lançando uma idéia lá fora.Coloco as informações mais úteis que encontro em um baralho Anki . Todas as manhãs, passo de 5 a 10 minutos revendo o material. Apenas nesta semana, por exemplo, Anki me fez esta pergunta que eu não lida há algum tempo:
Eu não me lembrava se a resposta era
unset($value)
oureset($value)
, então isso me manteve afiada. Com certeza, nesta mesma manhã eu tive que usar isso no código.Eu mantenho alguns trechos de informações sobre AWS, PHP, Bash e outras tecnologias que eu uso lá. No mínimo, Anki mantém as informações frescas em minha mente ou fáceis de encontrar se eu esquecer.
EDIT: Também devo mencionar, para mim, a programação foi um hobby que se tornou uma carreira de desenvolvimento de software. Acho que as pessoas cujas carreiras também são seus hobbies tendem a ficar naturalmente a par do interesse pessoal, não apenas do interesse profissional. Isso vale para artistas, médicos, jardineiros e a maioria das outras profissões especializadas, não apenas para programadores.
fonte
Quando o tempo é limitado, é melhor você se concentrar no material da mais alta qualidade.
Os livros (os bons) são mais propensos a ter material de maior qualidade do que os blogs. Livros com pontuação média alta de críticas de clientes na Amazon geralmente têm material da mais alta qualidade. Obtenha um Kindle e faça o download de alguns livros de alta classificação sobre o assunto - mantenha-o com você onde quer que vá. Talvez uma hora por dia lendo? - é o que eu faço de qualquer maneira, não sei o que é uma boa orientação de tempo.
Se você está voltando para a sela e tem o orçamento, o melhor é participar de um curso de treinamento decente (ou conferência) para um kickstart. Alguns dias de treinamento intenso = meses de leitura.
fonte
Afiar a serra é uma obrigação para todos os envolvidos em qualquer trabalho baseado em conhecimento. Como fazer isso é deixado para o indivíduo. Aqui estão algumas coisas que eu faço
fonte
Para ser franco, sim. Bons desenvolvedores fazer passar uma certa quantidade de tempo de programação não-trabalho. Muitas vezes, esse é um projeto para animais de estimação, onde eles podem brincar com coisas novas e interessantes. Muitas vezes, coisas que não são aplicáveis ao trabalho usam para ampliar a mente e acompanhar a (relativamente) vanguarda.
fonte
Como diria o AC / DC: "É um longo caminho até o topo, se você quer rock and roll".
Não será fácil se você estiver apontando para o topo. O principal problema de tentar voltar ao cavalo é se sentir desatualizado - para não mencionar estúpido.
Você tenta entender o TDD e tropeça na injeção de dependência e nos contêineres de Inversão de controle. A última coisa que apareceu no meu radar foi o CQRS. Tentar entender tudo isso de uma vez é realmente difícil. Pequenos passos.
E isso não ajuda o fato de que algumas delas podem ser consideradas apenas uma moda passageira. Rapaz, gostamos de nos gabar dessa nova coisa brilhante que resolverá todos os nossos problemas.
Algumas coisas para tentar:
http://www.safaribooksonline.com/ eles têm (está meio oculto) uma assinatura de 5 slots por US $ 9,99 por mês. Eles têm um aplicativo móvel. Você pode estudar onde quer que esteja.
Inscreva-se em algumas videoaulas. Eu me inscrevi no http://tekpub.com/ uma vez e adorei. Também conheço https://peepcode.com e http://pluralsight.com . Você pode assistir em qualquer lugar.
Escolha um bom feed de notícias e siga-o. Escolha qualidade sobre quantidade. Caso contrário, você se sentirá esmagado por muita informação.
Use https://getpocket.com para armazenar as páginas interessantes que você deseja visualizar mais tarde. Pare de abrir novas guias para visualizá-las mais tarde e esquecê-las. Eles têm aplicativos móveis que permitem visualizar suas páginas armazenadas em qualquer lugar.
Use https://ifttt.com para facilitar sua vida. Eu, pelo menos, faço isso para que, quando eu marcar um item com estrela no Google Reader, ele o salve automaticamente no Pocket.
http://www.class-central.com/ Lista de MOOC oferecidos por instituições como Stanford e MIT. Algumas delas podem ser realmente interessantes.
De qualquer forma, os melhores programadores provavelmente gastam muito tempo fora do horário de trabalho aprendendo coisas novas. Mas eles fazem isso porque amam codificar. É fácil encontrar tempo para melhorar suas habilidades de codificação quando você gosta de codificação. :)
fonte
"Triturar código" é a melhor ferramenta de aprendizado. Quando recebo algo que pode usar um novo método, eu o empurro até que funcione. Se um cliente solicitou algo que exigisse a nova tecnologia, eu os cobrarei por isso, mas se é algo que eu ainda não aprendi, não os faturo.
O material da web está se movendo em um bom ritmo. Na minha pequena empresa, uso freelancers para coisas que não sei ou não tenho tempo. Geralmente eles me ensinam, mas ficou mais difícil acompanhar o que funciona hoje, mas você não pode usar ontem ou ele funcionará amanhã, então você deve aprender hoje e assim por diante.
Para coisas que não são da Web, as coisas eram mais estáveis. Você escreveu o código em um idioma em uma plataforma. Agora você precisa conhecer HTML / CSS / Javascript / Java / SQL / PHP / * nix / todas essas APIs .... e depois há o Internet Explorer .... suspiro.
É uma luta para um desenvolvedor.
fonte
Conceitualize e construa seus próprios projetos.
A sério. Tudo o que aprendi veio de mim, tendo uma idéia absurda e depois me sentando para tentar descobrir. Se você fizer isso por tempo suficiente, estará em um caminho de melhoria contínua.
fonte
Apenas tente aproveitar ao máximo seu tempo livre. Você pode passar três horas todos os dias aprendendo sobre novas tecnologias, mas provavelmente ainda quer ter alguma vida social. Portanto, pode não ser a melhor abordagem.
O que costumo fazer é aprender durante aqueles momentos em que (em condições normais) eu seria 'preguiçoso'. Lendo livros de tecnologia no trem, assistindo podcasts antes de ir para a cama (insted de assistir TV), lendo StackOverflow, blogs de tecnologia ou outros fontes quando preciso descansar no trabalho (em vez de estar no Facebook), conversando sobre tecnologia com meus colegas de trabalho na hora do almoço.
fonte
Um truque que uso ao aprender algo novo é acessar o StackOverflow (ou os fóruns dedicados à tecnologia), encontrar uma pergunta para a qual eu não saiba a resposta e resolvê-la. Além disso, tento implementar algo usando a nova habilidade / tecnologia. Por exemplo, para aprender a programar para o Windows Phone, perguntei à minha esposa que tipo de aplicativo ela deseja. O processo de criação desse aplicativo me forçou a aprender mais sobre a plataforma e como fazer as coisas.
Você pode ler tudo o que quiser, mas não obtém experiência com a leitura.
fonte
Apenas pergunte a si mesmo o que o leva a não o que os outros são movidos?
Por exemplo: quero criar aplicativos móveis ou continuar trabalhando em aplicativos da web, já que tenho experiência anterior ou quero fazer alguma consultoria técnica? Acho que depois que você souber o que deseja fazer nos próximos meses ou anos, saberá exatamente por onde começar e o que precisa aprender.
Esta não é uma pergunta que apenas as pessoas de TI fazem.
fonte
Nunca encontrei uma explicação melhor de "como" ou "por que" dedicar tempo a isso do que "Ensine-se programar em 10 anos", de Peter Norvig . Quando perco a motivação para "ganhar tempo" - como você apontou, quem não?!? - Acabei de reler o artigo dele e voltar a confirmar. :)
fonte
Minha empresa é muito inovadora e gosta de garantir que estamos desenvolvendo as mais recentes tecnologias. Eles apreciam que, como parte disso, eles devam dar tempo aos desenvolvedores para entenderem os novos recursos / APIs etc. Por exemplo, recentemente mudamos para Richfaces 4 do Richfaces 3. Uma migração maciça em que passamos facilmente metade do tempo apenas tentando entender o novo cenário. Se uma empresa não puder se comprometer a fornecer a você algum tempo para acompanhar os desenvolvimentos mais recentes, você poderá estar no lugar errado.
Tente fazer com que sua empresa obtenha uma licença do Safari Books. É um recurso abrangente dos melhores livros técnicos disponíveis no mercado. Incluindo uma série de cortes brutos e trabalhos em andamento. A web em geral também é um ótimo recurso, mas os níveis de ruído ambiente e informações incorretas são altos.
Também invisto uma hora ou mais a cada noite fora do trabalho para me manter atualizado. De vez em quando, atualizo minhas certificações profissionais também, o que exige um compromisso extra nos fins de semana para ser alcançado.
Novamente, informe sua empresa que você está fazendo isso no seu próprio tempo e veja se eles pagarão pelos honorários dos exames ou pelo treinamento. Ou talvez permita que você faça o exame no horário da empresa.
fonte
A resposta é simples, tente usar as mais recentes tecnologias no trabalho e, se não puder, faça projetos paralelos
Mas, para economizar tempo, você precisa primeiro saber o que aprender para que seu tempo seja bem gasto.
Isto é o que funcionou para mim
A segunda parte é como aprendê-lo efetivamente para que você use seu tempo com eficiência
Achei que udacity, coursera, codeschool, codecademy, teamtreehouse, edx.org, udemy, net tuts + e outros são ótimos recursos, pois seus cursos tendem a acompanhar a tecnologia mais recente
Por outro lado, você pode acabar com uma explosão de informações e reclamar sobre isso como eu tinha antes: http://tilomitra.com/the-crazy-world-of-code/
fonte
Os recursos e ferramentas que eu uso para acompanhar estão listados abaixo. Eu provavelmente passo de uma a duas horas por dia lendo sobre assuntos técnicos, embora nem sempre os assuntos técnicos para os quais eu deveria direcionar minha atenção.
Quanto à proporção de tempo gasto na leitura no trabalho e tempo gasto na codificação, passarei o tempo lendo sobre um assunto se estiver diretamente relacionado ao trabalho em questão (por exemplo, como usar essa nova estrutura corretamente).
Acho que faço dois tipos de leitura. Leitura profunda sobre um assunto específico que estou usando ou usará no futuro, ou Leitura ampla, onde navegarei por outras áreas de tecnologia que não estou usando, mas ainda acho interessantes.
Podcasts
Leitores de RSS
Safari Books Online
Livros (formato de árvore morta)
Scott Hanselman tem um bom vídeo sobre como lidar com seu "fluxo de dados pessoais" - http://www.hanselman.com/blog/ItsNotWhatYouReadItsWhatYouIgnoreVideoOfScottHanselmansPersonalProductivityTips.aspx
fonte
Além do que foi dito, eu acrescentaria - "Tenha um plano". Tento escolher uma ou duas tecnologias a cada 6 a 12 meses e defino uma meta de obter um entendimento profundo delas. Depois, tento definir tarefas reais para chegar lá - digamos, leia alguns tutoriais on-line, escolha um projeto paralelo usando essa tecnologia, comece a seguir novos sites de discussão (ou assine as novas tags no StackOverflow) etc. Isso não requer uma tonelada de tempo, mas consistência em avançar um pouco a cada semana. (Se você usa um sistema de produtividade, como o GTD, suas metas de aprendizado podem ser incluídas no seu projeto e planejamento de metas normais e revisadas regularmente).
fonte
Boletins informativos!
Atualmente, escrevo um boletim informativo chamado Pycoder's Weekly, um boletim semanal para desenvolvedores de python, que aborda semanalmente vários tópicos do python, que é muito tópico para uma determinada área que você pode acompanhar.
Isso realmente não pretendia ser um plugue.
Eu acho que esse meio serve muito bem para acompanhar as coisas e é um excelente recurso para muitos desenvolvedores.
Existem muitos para vários idiomas e ferramentas, que precisam vasculhar toneladas de notícias e descobrir que coisas interessantes podem consumir tempo e extremamente perturbadoras.
fonte
Existem algumas coisas que eu faço para tentar ficar em dia com as novas tecnologias:
Essas são apenas algumas das coisas que eu faço, mas o que fica claro é que, se você quiser aprender e se manter atualizado sobre algo novo, terá que estar disposto a investir o tempo. É como qualquer outra habilidade que você deseja aprimorar.
fonte
Algumas empresas têm políticas em que o funcionário pode gastar 20% do tempo em outras atividades, além do trabalho diário. Pode-se usar esse tempo para afiar a serra ou manter-se atualizado com a tecnologia.
fonte
O que faço é organizar as refeições no almoço de vez em quando.
Eu encontro um vídeo (por exemplo, do canal 9) e apenas o agito durante o almoço, pegue um beamer e uma sala e convide todos que possam estar interessados. Uma ótima maneira de almoçar com colegas. Também é uma ótima maneira de mostrar iniciativa.
fonte
Além disso, a tecnologia é paixão, independentemente do tempo e do esforço necessários, faz mania de si mesmo e quando viciado se sente vazio de si mesmo. O melhor para se atualizar é usar o leitor on-line, como afirmado anteriormente. Geralmente, passo de uma a duas horas em feeds de notícias diferentes, embora não tenha acesso físico à tecnologia. É uma tecnologia conquistada por mim, mas graças a feeds, pelo menos, posso senti-la além do meu toque. Conhecer a tecnologia não é apenas uma maneira de ter coisas conhecidas por si, mas uma maneira de prestar homenagem aos inovadores
fonte