Importância de projetos de hobby [fechado]

103

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?

Pieter van Niekerk
fonte
6
Na parte "não iniciar algo que já foi feito" - se for um projeto FOSS, sempre há a possibilidade de se juntar à equipe e trabalhar juntos.
TC1
41
“Você não para de jogar, porque envelhece; você envelhece, porque para de jogar. ”- Ben Franklin.
1
Por que você não tem um projeto de hobby? (Peço a sério.)
Alex Feinman
4
Acredito que ter um projeto de hobby, por natureza, fará de você um programador melhor. Se você não tiver um, apenas pensará em programação como um trabalho mundano, e não como algo interessante, desafiador e divertido.
Maxpm
1
Os empregadores perguntam porque querem saber sobre as coisas pelas quais você é apaixonado. Algumas coisas combinam bem com um ambiente de trabalho específico, outras não. Duvido que a maioria das empresas o culpe por não ter um projeto de hobby. Mas se você é apaixonado em seu tempo livre por algo que ele também é apaixonado, isso pode ser um indicador de um bom ajuste.
SoylentGray

Respostas:

145

Sinto-me culpado por não ter um projeto de hobby

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 .

mas tudo o que consigo pensar em fazer já foi feito.

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.

Caleb
fonte
78
Os projetos podem ser como guppies - você começa um casal e, antes que perceba, tem 35. Alguns desses guppies podem se transformar em animais de estimação do tamanho de gerbil, e um ou dois deles podem se tornar do tamanho de gatos ou cães . Mas comece com os guppies e não hesite em liberar os que não dão certo.
Caleb
5
+1 Sim! Só porque já foi feito antes, não significa que você não deva fazê-lo. Basta fazer o que você quer, você aprenderá muito fazendo algumas coisas sozinho.
Spoike
14
Uma das melhores maneiras de aprender improvisação de jazz é copiar os solos dos grandes músicos. A programação é exatamente da mesma maneira - construa coisas que já existem e você aprenderá como criar algo novo.
precisa saber é o seguinte
6
"Se vale a pena fazer alguma coisa, vale a pena fazer mal". (GK Chesterton) As coisas que você aprender ao criar um mecanismo de blog ruim ou um cliente de email ruim serão inestimáveis ​​- especialmente se você já foi pago para fazer um bom.
Eric Wilson
16
+1 "Bah! Quem se importa se já foi feito? Faça de novo! Faça melhor!" - Pode ser ruim nos negócios reinventar a roda, mas é muito divertido fazer em casa. A parte legal é que nem precisa ser melhor.
SoylentGray
59

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.

Justin Shield
fonte
4
+1 em "Apenas fazer sua rotina diária de 9 a 5 pode estagná-lo como desenvolvedor".
Bobby Tables
15
@ Bobby: "can" é a palavra operativa aqui. Como acontece a minha "rotina" 9-5 não permite-me a estagnar ... Eu acho que eu sou :-) sorte)
Marjan Venema
1
O trabalho de hobby da IMO com +1 é a única maneira de você realmente aprender outras estruturas, a menos que você não esteja ocupado 9-5. Costumo achar que o trabalho de hobby também ajuda nas entrevistas, mas apenas se você realmente tem algo a mostrar, não apenas, sim, eu brinquei com isso.
DBlackborough
Com +1 na entrevista, meu trabalho de escrever aplicativos para Android me levou diretamente à minha posição atual, mesmo que eu não faça nenhuma programação móvel nessa posição.
Biff MaGriff
@Marjan Venema: Absolutamente. Eu tive alguns que fizeram. Mas pode ser um pouco de "você recebe o que coloca" também. O que em alguns dos meus empregos anteriores foi definitivamente um fracasso de minha parte em tirar o máximo proveito deles.
Bobby Tables
41

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.

  • Eles leem blogs
  • Eles instalam ferramentas
  • Eles leem o código fonte
  • Eles depuram programas de código aberto
  • Eles enviam patches
  • Eles participam dos sites de programação StackExchange

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!

Rick Sladkey
fonte
Concordo que não se trata apenas de programação. Eu, e tenho certeza que a maioria dos programadores, faço quase todos os itens da sua lista diariamente.
Pieter van Niekerk
7
+1 Grande parte da "programação" consiste em atividades diferentes da inserção de novo código em um editor.
StevenV
26

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 .

  • Se você não gastar nenhum tempo aprendendo, ficará estagnado e, em algum momento, poderá ficar completamente entediado com sua profissão e incapaz de enfrentar novos desafios.
  • Se você gasta muito do seu tempo livre aprendendo, não terá tempo para aquela coisa curiosa, mas importante, chamada Vida; assim, a longo prazo, você pode se esgotar e / ou ter problemas de saúde.

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.

Péter Török
fonte
5
+1 por ter uma vida. Não trabalho em uma empresa típica, mas considero que o aprendizado e a atualização fazem parte do meu trabalho. Muito do meu aprendizado acontece no trabalho. É verdade que não trabalho em projetos de hobby em larga escala no trabalho, mas encontro oportunidades de usar coisas novas "apenas porque" em meus vários projetos de trabalho. Então, para mim, ter uma vida é mais importante do que ter um hobby.
Phil
2
+1 para toda a vida! É essencial ter um equilíbrio entre vida profissional e pessoal. Você queimará muito rápido se não o fizer!
Steven Striga
1
+1 Estou tendo problemas com isso agora. Tenho duas filhas pequenas (6,11) que exigem minha atenção, meu trabalho diário (50 horas) e depois outras 8 a 16 horas no trabalho contratado. Por um tempo, você consegue lidar com isso nos 6 e 5 anos, passa um tempo com a família até ir para a cama por volta das 9h e depois contrata trabalho até quando. Funcionou, mas estou realmente me esgotando. Só não decidi o que fazer sobre isso ainda.
ominus
10

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.

jkulak
fonte
2
Eu pergunto em entrevistas. Se alguém não faz programação de hobby, eu não vou segurá-la porque há muito mais na vida, e com a família pode haver menos tempo para isso (meus projetos estagnaram quando eu tive filhos) - mas eu faço considere um bônus porque mostra que eles têm interesse e iniciativa reais. Não sei dizer quantas pessoas conseguem bloquear os roteiristas se tiverem que começar com "main ()".
phkahler
7

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.

Tangurena
fonte
+1 para uma boa resposta concisa. Tenha cuidado para não assumir causalidade, no entanto.
Caleb Caleb
6
Por que você não consegue acompanhar as novidades no trabalho? Parece que o problema aqui é um empregador mal-intencionado, e não a falta de projetos amadores.
6

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

David Sykes
fonte
4

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.

user29079
fonte
1
+1 por ser uma das únicas respostas que dizem que o projeto do hobby nem sempre é necessário (algo que exige tempo e energia). Pessoalmente, tenho muitas coisas para fazer durante o tempo em que não estou no trabalho e raramente tenho tempo para programar (navegar no SO não é tão exigente quanto a programação real). Essas coisas incluem fazer tarefas, ter uma vida social, descansar para que eu possa ser produtivo quando voltar ao trabalho na segunda-feira (durmo muito; o)), etc. Não dizendo que isso é ruim, esses caras são talvez / provavelmente melhores eu para o empregador, mas eu prefiro ter uma vida mais equilibrada pessoalmente.
N1ckp
3

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.

thorsten müller
fonte
1
No que diz respeito a testes e afins, eu trabalho em quebra-cabeças como o Projeto Euler.
Pieter van Niekerk
3

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... :-)

Brian Knoblauch
fonte
2
Na minha última rodada de entrevistas, eu esperava fazer alguns testes de código. Em vez disso, essa empresa pediu para ver alguns dos meus códigos publicados. Bem, o único que eu pude mostrar legalmente a eles foi o meu projeto de hobby (um evento programado que eu não fiz exatamente robusto e limpo). O projeto também apareceu em outras entrevistas. As pessoas se importam. Mas você está certo no sentido de que ninguém se importa com o fato de você ter cursado a faculdade, eles se importam com o que você aprendeu lá.
Philip
3

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.

Peer Stritzinger
fonte
Eu reformularia isso um pouco - use um novo idioma para fazer seu projeto de hobby. Então o projeto é a motivação, não o aprendizado.
phkahler
Boa sugestão, é que ele
Intercâmbio Stritzinger
2

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.

Charles Sprayberry
fonte
1
Este é realmente um bom conselho para todos que não têm experiência de trabalho e estão procurando seu primeiro emprego como programador.
2

Outros cobriram muito, mas quero focar nesta parte:

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?

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!"

Argumentum ad Stultitiam
fonte
0

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.

deviDave
fonte
0

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.

Jim In Texas
fonte
0

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.

CodeMouse92
fonte
0

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 .

epotter
fonte