Eu quero saber, qual a importância de programar no seu tempo livre? É necessário trabalhar com o 9-5 como programador e depois chegar em casa e trabalhar no seu hobby para se tornar um programador melhor?
Dito isto, eu sei que você só melhora na programação, bem, na programação.
Os potenciais empregadores levam em consideração a programação de hobby em uma entrevista ou perguntam isso apenas por curiosidade?
Sinto-me culpado por não ter um projeto de hobby, mas tudo o que consigo pensar em fazer já foi feito. Então, eu estou meio que pensando nisso, iniciar algo que já foi feito ou deixá-lo até que eu invente algo original?
Respostas:
Sentir-se culpado é uma razão louca para embarcar em um projeto de programação. Provavelmente, também é uma boa maneira de começar a odiar a programação. Trabalhe em algo porque você quer , não porque acha que deveria .
Bah! Quem se importa se já foi feito? Faça isso novamente! Faça melhor! Ou aceite que talvez você não consiga fazer melhor e de qualquer maneira. Onde a Microsoft estaria se eles dissessem "bem, alguém já criou um banco de dados / planilha / processador de texto / sistema operacional / IDE / gerente de projeto / gerente de dinheiro / linguagem orientada a objeto dinâmica de herança única baseada em C / navegador da web / servidor da web / music player / plataforma móvel / mecanismo de pesquisa, então procuraremos outra coisa para fazer ... "?
Sério, se você escrever um servidor da Web, provavelmente não terá um desempenho superior ao Apache, mas definitivamente aprenderá lições valiosas no processo. É improvável que você supere o Angry Birds, mas escrever um pequeno videogame simples também o ensinará muito.
fonte
Eu acho que projetos de hobby são importantes
Eu uso projetos de hobby para testar teorias, práticas de design, novas estruturas que eu não faço no meu 9-5. ou seja, programação funcional, algoritmos, padrões de design, novas estruturas, novas linguagens etc.
Isso pode significar a diferença na rapidez e eficiência com que posso lidar com um novo projeto no trabalho, ou até a diferença em escolher um novo projeto de um cliente ou perder, porque eu não sabia o suficiente sobre o domínio do problema.
Somente fazer o seu trabalho diário das 9h às 5h pode estagná-lo como desenvolvedor se você não estiver introduzindo coisas novas ou novas idéias. Para mim, fazer projetos de hobby é um meio para me tornar um desenvolvedor melhor, mais inteligente e eficiente.
Os entrevistadores em potencial levam em consideração os projetos de hobby
Na minha experiência, se você fez um projeto de hobby em uma tecnologia relacionada que seu empregador está usando atualmente ou "olhando" usando. Você recebe elogios por já se familiarizar com a tecnologia em questão. Isso é especialmente pertinente para as novas tecnologias que acabaram de chegar ao mainstream, onde o campo de jogo é nivelado em relação à experiência em tecnologia.
fonte
O problema com seu trabalho atual é que você provavelmente só precisa de um conjunto limitado de habilidades para desempenhar sua função. O mundo da programação é tão vasto que é fácil ficar preso em uma rotina ano após ano. Pela programação de hobby, você pode se ramificar e estar preparado para outras tecnologias antes que a oportunidade surja na sua posição atual ou em outro lugar.
Mas é importante perceber que os programadores amadores não apenas programam.
Mas às vezes eles se inspiram para escrever um programa para atender às suas próprias necessidades específicas; o prazer culposo de um programador porque ele tem exatamente os recursos que ele deseja. E então eles se cansam e jogam fora. Esse é o luxo de um hobby!
fonte
IMHO não é necessariamente um projeto de hobby propriamente dito que o torna melhor (embora não machuque com certeza), mas permanecer aberto e gastar tempo aprendendo coisas novas em geral. Como o @Rick observou, ele pode assumir muitas formas diferentes, além da codificação. Você pode, por exemplo, ler livros - mas se você tiver um laptop, mesmo código - enquanto estiver indo ou voltando do trabalho.
Observe também que é absolutamente necessário manter um equilíbrio .
Mais uma coisa: é fácil (sugerir) trabalhar em projetos de hobby enquanto alguém é jovem e solteiro. Em estágios posteriores, você pode ter uma família e isso eliminará a maior parte do seu tempo livre por muitos anos (pelo menos se você quiser fazê-lo bem - e qual é o sentido disso?). Assim, você será forçado a gerenciar seu tempo com mais eficiência, a fim de poupar um tempo precioso para aprender.
fonte
Faça projetos paralelos! Não pense nisso como algo novo para a Web, pense em praticar suas habilidades, caixa de areia para aprender / dominar tecnologias e abordagens.
Como empregador, sempre pergunto aos meus colegas de trabalho em potencial se eles estão fazendo algum projeto paralelo interessante. E mesmo que essas não fossem idéias espetaculares, mas seus autores demonstraram entusiasmo com isso - sempre foi um grande profissional.
fonte
Os programadores que conheço que têm dificuldade em manter-se atualizado com as novas tecnologias são os que o tratam como um trabalho. Suas contrapartes - aqueles que não manter-se com o novo material são aqueles que fazem as coisas em casa.
fonte
Você diz que tudo o que você pode imaginar já foi feito, mas todas as ferramentas que você usa funcionam do jeito que você quer? Costumo achar que as ferramentas fazem quase, mas não exatamente, tudo o que quero, e meus projetos de hobby acabam tentando preencher a lacuna. Nem sempre tenho sucesso, mas gosto de tentar e, como usuário final, não tenho problemas com motivação ou especificações
fonte
Se você realmente tem interesse e energia para esses projetos, faça-o de qualquer maneira. Mas eu não diria que é uma obrigação para qualquer programador sério. Se você trabalha em tempo integral com a programação, fazê-lo no seu tempo livre também não aumentará necessariamente o seu interesse, mas pode muito bem ter o efeito oposto. Pessoalmente, eu costumava fazer projetos de hobby, mas parei. Eu já estava programando 5 dias por semana e para mim parecia mais saudável fazer algo completamente diferente no meu tempo livre.
Além disso, se o seu empregador não lhe der espaço para testar coisas novas no trabalho, estudar e melhorar continuamente, você provavelmente deve procurar um novo emprego em vez de fazer essas coisas no seu tempo livre. Um bom empregador perceberá que é do seu próprio interesse manter suas habilidades atualizadas, aprimoradas e expandidas.
Do ponto de vista do empregador (eu sou um desses), os projetos de hobby serão um mérito se você não tiver uma experiência de trabalho real. Todos os projetos de hobby e escola serão muito importantes para serem mencionados como referência durante a entrevista.
Mas se você tiver experiência, eles são menos relevantes: embora possam indicar uma paixão pelo seu negócio, eles podem ao mesmo tempo indicar que você é um pouco nerd. Pela minha experiência pessoal, não consigo encontrar nenhuma conexão entre projetos de hobby e bons / maus candidatos, não acho que sejam particularmente relevantes, a menos que você tenha acabado de sair da escola se candidatando ao seu primeiro emprego.
fonte
Estou mais envolvido em testes e pequenos blocos de código semelhantes do que em projetos completos (embora tente trabalhar em alguns projetos OSS, se eu tiver tempo). Então, para mim, não há muita desculpa para dizer que não tenho uma ótima idéia para um projeto. Basta escrever um solucionador de Sudoku e tentar implementar algo como o Dancing Links para torná-lo mais rápido.
A importância deles para você se tornar um desenvolvedor melhor pode depender do seu trabalho. Se isso já é muito exigente, você pode obter todo o treinamento necessário. Caso contrário, a escolha do projeto certo (ou do quizz a ser resolvido) ensinará muitas coisas novas e manterá você em contato com uma ampla área de especialização que muitos empregos não oferecem, pois muitas vezes você se limita a usar um pequeno conjunto de ferramentas para um domínio claramente definido.
E sim, algumas empresas estão seriamente interessadas nos seus projetos. Se nada mais, eles oferecem muitas oportunidades para falar sobre algo que você conhece muito bem durante uma entrevista.
fonte
Os projetos de passatempo em si não serão importantes na maioria das entrevistas. Existem algumas pessoas por aí que se importam com você codificar como hobby, mas a maioria não se importa. NO ENTANTO, as habilidades adquiridas na programação de passatempos podem ser importantes em uma entrevista!
Definitivamente, a programação extra será vantajosa na programação, até o ponto de esgotar ... No entanto, mesmo além do problema de esgotamento, você também precisa considerar que os empregadores geralmente procuram outras habilidades além da programação. Se você está programando 24/7, não está desenvolvendo essas OUTRAS habilidades! Saldo... :-)
fonte
Por um lado, acho que os projetos de hobby são importantes, porque, do contrário, você vai estagnar e perder a diversão.
Minha sugestão para encontrar um novo projeto de hobby:
Aprenda uma nova linguagem de programação para realizar seu projeto de hobby. Por exemplo, um bom objetivo é tentar aprender um novo idioma por ano (fica muito mais fácil quanto mais você sabe)
Melhor seria aquele que lhe parecer totalmente estranho. Porque quanto mais estranho parecer para você, mais expandirá seu horizonte.
Também conhecer muitas linguagens com sintaxe diferente leva você ao foco na sintaxe como sendo importante na programação. É apenas uma representação seqüencial de árvores de sintaxe e não é muito importante. Isso melhora seu foco na semântica, que é muito mais útil na prática.
Você já tentou uma linguagem de programação funcional? Você já tentou linguagens de programação distribuídas? Idiomas de correspondência de padrões?
Para encontrar pequenos projetos para trabalhar no Project Euler é muito recomendável.
fonte
Sou desenvolvedor web amador, sem educação superior (ainda) trabalhando em meu próprio projeto pessoal. Fui convidado para minha primeira entrevista para um trabalho de programação há algumas semanas porque estava trabalhando em meu próprio projeto pessoal.
Levando em conta essa evidência anedótica, trabalhar no meu projeto pessoal de "hobby" foi a melhor coisa que fiz para avançar minha carreira em desenvolvimento ... depois de me matricular na faculdade.
Então, sim, os entrevistadores certamente levam em conta seus projetos pessoais, caso contrário eles nem se incomodariam em conversar comigo.
fonte
Outros cobriram muito, mas quero focar nesta parte:
Parece-me que isso erra o objetivo de um "projeto de hobby". Certamente é verdade que muitos projetos de hobby são criados para outros, ou pelo menos com o consumo público em mente - esses projetos exigem uma certa quantidade de trabalho consistente ao longo do tempo e podem ser assustadores por esse motivo. Afinal, quem quer fazer mais uma coisa ou outra sub-suportada e de baixa qualidade que acaba sendo abandonada depois de alguns meses?
Mas não há razão para que seu projeto de hobby tenha que fazer algo útil para alguém. Por exemplo, recentemente comecei a aprender Haskell , apenas porque é drasticamente diferente das linguagens imperativas com as quais estou acostumado, e é realmente fácil de configurar. Eu também comecei a aprender a linguagem assembly Redcode , usada no jogo de programação Core War , novamente por curiosidade.
Por sua vez, isso me levou a estudar a criação de um plug - in do Notepad ++ para fornecer melhores recursos de destaque de sintaxe para o Redcode, o que me levou a considerar aprender um pouco de C ++ . Com base na minha familiaridade comparativa com o .NET, agora estou pensando em me configurar com o Visual C ++ .
E o fato é que nada disso realmente "importa", pelo menos não como um projeto. Inferno, não tenho certeza se você poderia chamá-lo de um projeto em si , tanto quanto um monte de coisas com as quais estou meio que mexendo, porque isso chamou minha atenção. Quero dizer, você precisará de um pouco de tempo e organização para garantir que realmente obtenha algo, mas ninguém se importará se eu parar de ter tempo para Haskell assim que a escola começar.
E ninguém se importará se o desenvolvimento de plugins para o Notepad ++ for mais difícil do que eu esperava, e desisto - de fato, observei o Perl antes de entrar no Redcode e o abandonei rapidamente porque tive dificuldade em obter o ambiente configurado corretamente. Isso mostrou falta de persistência? Sim. Mas ninguém se importa, porque é o meu hobby , e isso significa que eu brinco com o que eu quiser.
Portanto, não sinta que precisa escolher um projeto de hobby que o ensine Habilidades Comercializáveis - isso está apenas transformando seu tempo livre em mais tempo de trabalho não remunerado. As habilidades são resultado do que você faz, mas não é o motivo . Entendo melhor a programação declarativa agora, e como as linguagens assembly funcionam e como os programas usam DLLs. E aprendi várias coisas sobre o prompt de comando do Windows e outras coisas que você não imaginaria estarem conectadas a qualquer coisa que mencionei até agora.
Nesse ponto, encontre algo completamente novo e veja se é tão interessante quanto parece. Se for, ótimo, e se não for, siga em frente. Você já teve a menor curiosidade sobre compiladores ou intérpretes? Vá dar uma olhada no LOLCODE . Se isso o deixa tão feliz quanto eu, é hora de começar a aprender sobre os compiladores . E ei, talvez você deva voltar e pensar no destaque da sintaxe novamente. De fato, este provavelmente será o próximo projeto que eu inicio.
Se não é esse o seu caso, tente algo de nível inferior ao que você está acostumado. Ou de nível superior. Não importa. A única coisa que faz questão é que quando você olha para ele, você pensa "Fun!"
fonte
Estes projetos são essenciais para um programador sério, especialmente se você trabalha como freelancer.
Em vez de trabalhar 6 dias por semana, 1 dia de descanso, você pode trabalhar 5 dias por semana, 1 dia para testar novas teorias e recursos e 1 dia de descanso.
Pode parecer que o dia do teste é uma perda de tempo, mas você reconhecerá seus benefícios quando lhe for pedido para implementar um novo recurso em sua linguagem de programação que você já havia testado em um desses dias.
fonte
Estou envolvido em entrevistas e contratação na minha loja. Um 'projeto de hobby' é sempre uma vantagem para nós.
Ter um projeto pessoal mais ou menos concluído mostra que você realmente gosta de criar software e mostra que está motivado para aprender coisas novas e melhorar suas habilidades.
Se você deseja causar uma impressão realmente positiva em uma entrevista, leve um laptop com seu projeto pessoal. Mostre ao entrevistador, conte-lhe sobre os desafios que você encontrou ao construí-lo, deixe-os ver seu código. Diga-lhes antecipadamente onde estão as arestas e quais serão seus planos futuros para o projeto.
Você será lembrado, em um bom caminho.
fonte
Acho que a programação no meu tempo livre serve a dois propósitos:
1) Permite-me realizar algo pessoalmente gratificante, sem as restrições dos projetos de trabalho. Isso é especialmente importante quando tenho lidado com problemas difíceis e frustrantes com meus projetos de trabalho.
2) Isso me dá a oportunidade de ampliar e aprimorar minhas habilidades de programação, pois sou livre para criar o que quiser.
Mesmo assim, acho que também é importante equilibrar isso com alguns hobbies que não são de computador. Para mim, é manter o riacho e as trilhas atrás da minha casa.
fonte
Ter um aplicativo para animais de estimação é uma ótima maneira de se forçar a aprender partes da sua plataforma atual nas quais você talvez não tenha pensado. Por exemplo, você pode ser um ótimo desenvolvedor de C # trabalhando em um aplicativo ASP.Net no trabalho. Mas se você tem um cara em sua equipe dedicado ao CSS, talvez nunca o aprenda corretamente. No entanto, se você tiver um projeto da web para animais de estimação, precisará aprender como fazer CSS. Isso é verdade para toda uma série de tecnologias nas quais você encontrará se tiver seu próprio projeto em que é o único desenvolvedor.
Para uma excelente descrição de todos os benefícios de aplicativos para animais de estimação, confira este post .
fonte