Muitos blogs e conselhos na Web parecem sugerir que, para se tornar um ótimo desenvolvedor, fazer apenas o seu trabalho diário não é suficiente. Por exemplo, você deve contribuir para projetos de código aberto no seu tempo livre, escrever aplicativos para smartphone etc. De fato, muitos desses conselhos parecem sugerir que, se você não gosta de programar o suficiente para fazê-lo o dia inteiro, então está provavelmente na carreira errada.
Isso não soa verdadeiro para mim. Gosto do meu trabalho, mas quando chego em casa do escritório não estou com vontade de pular direto para o computador e começar a codificar até a hora de dormir. Só tenho um certo número de horas de folga por dia e prefiro gastá-las em outros hobbies, vendo amigos ou saindo do que na frente do computador.
Eu recebo um pontapé de programação e, ocasionalmente, ando fora do trabalho. Estou comprometido com meu desenvolvimento pessoal e passo tempo lendo blogs e livros de tecnologia como uma maneira de continuar aprendendo e melhorando. Mas isso não se estende ao meu desejo de usar todo o meu tempo livre para codificação.
Isso significa que não sou um desenvolvedor de software 'verdadeiro' no coração? É possível se tornar um bom desenvolvedor de software sem fazer extra fora do seu trabalho? Eu ficaria muito interessado em ouvir o que você pensa.
Atualização: obrigado a todos por seus comentários e respostas. Muitos bons pensamentos e conselhos!
fonte
Respostas:
Na OMI, essa atitude vem de pessoas que têm empregos horríveis e sugadores de almas, combinadas com habilidades de gerenciamento de tempo com pouca atenção. Se você está basicamente digitando formulários da Web o dia inteiro, faça um trabalho mais desafiador ou comece o seu.
Aqui está a coisa. Um músico de concerto (violoncelista / pianista / o que for) irá praticar no máximo 6 horas por dia. A maioria pratica apenas algumas horas por dia. nos níveis mais altos
As pessoas dizem que programa mais porque você aprende mais, mas isso é uma cortina de fumaça. 8 horas por dia são suficientes .
O progresso NÃO é linear. É logarítmico:
A única razão pela qual um músico pode praticar por mais de 3 horas é que eles precisam extrair 1% extra que essas horas lhes dão. Se você acha que isso se aplica a você, resolvendo um problema resolvido pela CS há duas décadas, então você tem um complexo prima-donna para inicializar.
Já trabalhei em empresas de panelas de pressão e, confie em mim, a quantidade real de trabalho que esses caras realizam não é melhor do que uma empresa como a 37signals, que impõe restrições à quantidade de trabalho: http://37signals.com / svn / posts / 996-por que eu amo trabalhar com pessoas da família
O que acaba acontecendo é que, com certeza, você pode ficar na frente de um computador por 10 a 12 horas e no escritório por mais 2, mas isso não inclui o almoço de 90 minutos que você levou, as 2 horas que você passou navegando nas discussões fóruns e o intervalo de horas em que você teve que jogar um dos muitos jogos previstos no escritório (pebolim, sinuca, yada ...).
Olhe para trás naquele gráfico. Agora de volta para mim.
Sua mente realmente tem a oportunidade de expandir muito mais se você a envolver em alguma outra atividade: Aprenda a tocar um instrumento . Aprenda uma língua estrangeira . Melhor ainda sair e fazer algum exercício, e se conectar com pessoas reais .
Sobre a natureza logarítmica da produtividade:
Este é realmente um princípio bem conhecido no mundo dos negócios. Estou surpreso que mais programadores não tenham ouvido falar dele.
Atualização: Mais informações sobre o estudo da Ericsson.
Toda a noção de que ele leva 10.000 horas / 10 anos para se tornar proficiente vem dos estudos feitos pela Ericsson, não da Malcom Gladwell.
Como todos sabemos, você pode repetir 1 ano de experiência 10 vezes ... então, apenas manter o seu rabo no banco por 10 anos não se qualifica. O que qualifica é o que a Ericsson chama de prática deliberada .
Ele descobriu que esse princípio é válido no atletismo, na música, na escrita, no xadrez e na matemática. Ele define ainda a prática deliberada como sendo tão trabalhosa que, mesmo nos níveis mais altos, você só pode praticar cerca de 4 horas por dia . Caso contrário, você sofrerá overtraining ou burnout. Mais uma vez, ele reconhece que há retornos decrescentes para a prática deliberada, até cerca de 4 horas.
Sobre o assunto de não ter um emprego bom / desafiador:
Hogwash. Ou arranje um emprego melhor ou aqui está uma idéia: transforme seu emprego atual em algo que não é , pelo menos agora.
Um dos melhores programadores que conheci entrou em um trabalho como programador de manutenção em um sistema legado que consistia em dezenas de programas e centenas de milhares de linhas de código. A maioria dos quais foi hackeada ao longo dos anos tanto que você teria que dizer que não havia mais nenhum design coerente.
Era praticamente um trabalho sem saída, sem saída. A gerência queria que você ficasse de cabeça baixa e apenas consertasse os malditos bugs. Os bons desenvolvedores estavam trabalhando no projeto greenfield. As pessoas vieram para cá para passar os dias restantes até se aposentarem, ou ganhar alguns anos de experiência antes de iniciar o desenvolvimento de novos aplicativos. Enquanto a maioria dos programadores se queixava da falta de desenvolvimento de carreira, da oportunidade de aprender coisas novas, de não ter projetos interessantes para trabalhar, ou de um modo mais geral reclamar que ninguém os permitia , esse cara simplesmente sentou-se e continuou fazendo o trabalho que precisava ser feito.
E, ao longo de 2 anos, ele transformou esse sistema de um inferno de códigos de espaguete para algo que era uma coisa de beleza e funcionava como um relógio suíço. A transformação foi tão completa que o vice-presidente da divisão começou a prestar cada vez mais atenção ao projeto existente e a questionar o valor do projeto greenfield. Embora ele não tivesse um título, o pessoal de operações o procurou como líder de fato do grupo. Quando saí, o vice-presidente estava falando sobre a criação de uma nova função para ele como arquiteto de sistemas ...
Não sei ao certo o que aconteceu com ele depois disso, mas ele me ensinou algumas lições muito importantes:
Seu trabalho é o que você faz, e há problemas interessantes a serem resolvidos em todos os lugares . Se você odeia escrever telas CRUD, resolva o problema gerando-as automaticamente.
Não fique esperando as oportunidades chegarem até você. As chances são de que nunca serão.
fonte
Há mais informações ocultas nesta mensagem.
Muitos programadores entusiasmados gostam de explorar as coisas, experimentar, seguir suas idéias, é assim que aprendemos e obtemos nossas habilidades e visão.
Normalmente você não segue seus interesses durante o horário de trabalho. Você apenas faz as coisas que lhe dizem para fazer e é isso. Apenas alguns de nós têm a sorte de fazer no trabalho o que faríamos pessoalmente, mesmo que não fossem pagos.
Portanto, se você não estiver fazendo nada extra, não estará desenvolvendo seu potencial. E esse é exatamente o problema.
fonte
Isso não faz de você um desenvolvedor ruim, mas, infelizmente, você ainda precisa competir com os que o fazem.
Leia isto, no Blog de Seth Godin :
Irrazoável
Não é razoável sair da cama em um dia de neve, quando a escola foi cancelada, e transformar o tempo de inatividade em seis horas de trabalho em um laboratório de física de crédito extra.
Não é razoável lançar um produto de tecnologia que salte a curva de desenvolvimento em nove meses, trazendo a próxima geração muito mais cedo do que os concorrentes mais razoáveis.
Não é razoável que uma empresa de caminhões atenda o telefone no primeiro toque.
Não é razoável iniciar uma nova empresa sem o risco que o dinheiro pode trazer.
Não é razoável esperar que um consultório médico tenha uma equipe agradável e prestativa na recepção.
Não é razoável abandonar um bom show na economia de hoje, mesmo que você queira fazer algo corajoso e original.
Não é razoável que os professores esperem que possamos permitir que as crianças desfavorecidas do centro da cidade tenham um bom desempenho no ensino médio.
Não é razoável tratar seus colegas e concorrentes com respeito, dada a pressão que você sofre.
Não é razoável esperar que qualquer pessoa, exceto uma grande mulher, alguém com tanto entusiasmo quanto vantagens, possa fazer algo importante em um mundo em que o baralho esteja contra pessoas comuns.
Não é razoável dedicar anos de sua vida fabricando um produto que a maioria das pessoas nunca apreciará.
Felizmente, o mundo está cheio de pessoas irracionais. Infelizmente, você precisa competir com eles.
fonte
Para responder à pergunta: Não programar no seu tempo livre não o torna um desenvolvedor ruim; no entanto, programar no seu tempo livre pode torná-lo um desenvolvedor melhor.
Programar no seu tempo livre certamente não prejudicará suas habilidades, mas você não deve se sentir obrigado a fazê-lo. A programação parece ser um campo relativamente único, porque, para muitas pessoas, é o trabalho e o hobby deles; portanto, eles gostam de programar no tempo livre.
fonte
Não, isso não faz de você um programador ruim. Dependendo do que você faz, pode torná-lo um programador melhor a longo prazo. No início de sua carreira, isso pode influenciar a rapidez com que você aprende a variedade de habilidades necessárias. No entanto, você pode estar adquirindo habilidades e informações que ajudarão a longo prazo. Fazer exercícios também não faria mal.
Há uma quantidade razoável de pesquisas que mostram picos de desempenho em torno de 40 semanas de trabalho. Embora possamos produzir por um período de tempo trabalhando mais horas, a longo prazo perdemos eficiência. A pesquisa que eu vi mostra que as pessoas que trabalham 80 semanas são tão produtivas quanto aquelas que trabalham 40 horas por semana.
Existem algumas coisas que você pode refletir nas horas de folga que podem ajudá-lo a ter um melhor desempenho:
fonte
Definitivamente.
Pode levar mais tempo do que se você gastasse horas extras aprimorando sua habilidade. Também achei difícil dedicar tempo suficiente ao auto-aperfeiçoamento se eu estivesse empregado em período integral e fazendo pouca programação fora do horário de trabalho.
Quando eu era mais jovem, dediquei muito mais tempo ao aprendizado do que agora. Os conceitos que uso no dia a dia estão profundamente arraigados neste momento, e parece mais fácil adquirir conhecimentos adicionais com essa experiência.
Os programadores "bons" parecem dedicar mais horas extras porque são obsessivos por natureza, tendem para o extremo anti-social do espectro e gostam genuinamente de programação e todo o ciclo de solução de problemas.
fonte
No grande esquema das coisas, trata-se de encontrar o equilíbrio certo na vida.
O importante é se você gosta de programar e se continua aprendendo, não importa em que nível esteja. Se você programa ou não fora do trabalho, não o torna automaticamente um programador "bom" ou "ruim".
Para dar uma perspectiva pessoal, eu programa há 25 anos (primeiro quando criança, depois profissionalmente). Eu absolutamente amo isso.
No entanto, quase nunca programa fora do trabalho. Isso tem a ver com várias coisas:
fonte
Você pode se tornar um bom programador apenas codificando durante o trabalho, especialmente se você administra bem sua carreira. No entanto, os melhores programadores também codificam durante o horário de folga. Dito isto, uma pessoa que escolhe bons empregos com muitas oportunidades de aprendizado, usa bem seu tempo no trabalho, e assim por diante será um programador melhor do que alguém que codifica em casa porque não consegue encontrar empregos que apresentem desafios interessantes durante o processo. Dia De Trabalho.
Embora a codificação em casa seja valiosa, eu diria que maximizar o valor do seu ambiente de trabalho (aprendendo com colegas de trabalho, escolhendo bons empregos, gerenciando sua carreira de forma agressiva) costuma ser ainda mais valioso. Os maiores programadores fazem as duas coisas, além de terem ótimas atitudes em relação à aprendizagem e orientação de outras pessoas.
fonte
A verdadeira questão é se um novo desenvolvedor está codificando o suficiente (para desafiar problemas suficientes) para passar por algumas centenas de milhares de linhas de código de prática e se tornar um programador decente.
Em teoria, isso pode ser feito no trabalho, no seu próprio tempo, ou em ambos. A prática precisa ser um pouco autodirigida, para que você possa aprender o que precisa aprender. Isso significa um trabalho um pouco flexível.
Muitas vezes os trabalhos iniciantes são um monte de correção de bugs ou outro trabalho que não vai ensinar você a ser bom. O que você precisa fazer é escrever muito código do zero, e esse código provavelmente será ruim. É difícil para os empregadores pagar por isso. É por isso que as pessoas acabam fazendo um projeto de código aberto ao lado ou lançando uma startup ou qualquer outra coisa.
Quando as pessoas dizem que você precisa programar no seu tempo livre, acho que isso realmente significa que você precisa se dedicar a anos de prática significativa desde cedo. Você precisa fazer o que for necessário para obter a prática e aprender a escrever e manter uma grande base de código do zero. Se ninguém está pagando para você escrever uma série de projetos provavelmente desastrosa do zero, o tempo livre é a única opção.
Se você já praticou a prática quando era mais jovem e se tornou um bom programador, acho que não perderá as habilidades básicas se continuar com as 9 às 5 mais tarde. Mais tarde, é mais uma questão de acompanhar as novas tecnologias, que não consomem muito tempo.
No entanto, é um trabalho raro de nível básico que daria a você a quantidade e a qualidade da prática por si só para se tornar um bom programador em primeiro lugar. Um novo desenvolvedor precisa tomar a iniciativa de aprender, e não apenas participar de um trabalho de nível básico, executando tarefas de nível básico.
Seria muito difícil se tornar um bom programador do zero se você já tivesse uma família e estivesse enfatizando fortemente o equilíbrio entre vida profissional e pessoal. Assim como seria muito difícil se tornar médico ou se tornar um músico virtuoso ou qualquer outra coisa nessa situação. Há uma razão pela qual as pessoas tendem a passar por milhares de horas de prática quando são mais jovens do que quando são mais velhos.
fonte
Se eu passasse algum tempo nos próximos seis meses desenvolvendo um jogo básico no meu tempo livre e você não, e supondo que todas as outras coisas sejam iguais (elas nunca são), qual de nós saberia mais? Qual de nós teria mais habilidades e experiência?
Esse efeito seria cumulativo, uma vez que o conhecimento fora do horário comercial anterior iria alimentar novos trabalhos e novos conhecimentos fora do horário comercial.
E é por isso que as pessoas aconselham a programar em seu tempo livre, na medida em que posso dizer.
fonte
Entre grande e ruim, existem muitos níveis no meio. Você não pode se tornar um grande desenvolvedor fazendo isso apenas 8 horas por dia, possivelmente trabalhando em problemas de um campo muito limitado.
Se o seu trabalho é variado o suficiente, você pode se tornar "decente" ou "realizado" ou qualquer adjetivo que preferir, mas, para ser um ótimo desenvolvedor, você precisa ser um pouco mental, receio.
Outro motivo para executar a programação de hobby é que, em um trabalho, você geralmente precisa aderir a padrões abaixo do ideal e fazer compromissos em geral e, mesmo que aprenda algo novo, talvez não seja permitido usá-lo.
E ainda outro, ainda mais prosaico, é que qualquer código que você escreve no trabalho pertence ao seu empregador. Você não pode voltar a aprender e aprender com seus erros antigos anos depois, quando estiver trabalhando para outra pessoa.
fonte
São necessários 10.000 horas de esforço para se tornar um especialista em qualquer coisa. [Michael Gladwell, "Outliers"]
Portanto, fazer um trabalho extra antes de chegar a esse nível o acelerará no caminho para o status de especialista real.
Quando você passar desse nível, gastar mais tempo terá retornos pequenos / decrescentes.
fonte
Você não deve encará-lo como "Isso me torna um mau programador" porque, como toda habilidade, mais prática só a torna melhor.
Portanto, se você deseja ser melhor do que é atualmente e aprender novas tecnologias e domínios que seu trabalho não permite, é aí que o esforço e o tempo gastos são úteis.
Mas gastar tempo extra com codificação (apenas para provar a alguém que você codifica extra) não significa necessariamente que você se torna um bom programador, a menos que aprenda o que faz e faça algo diferente ou melhore o que já sabe, em vez de cortar / copiar / colar cegamente e montando hacks. Colocar horas extras e fazer a mesma coisa repetidamente, de nenhuma maneira, acho que ajudará você a melhorar.
fonte
Durante o dia, sua programação é apostas curtas. Há dinheiro a ser ganho, você sabe exatamente quanto e para quê e não tem muito mais a ganhar do que um salário.
À noite, você trabalha em apostas longas - idéias malucas que nem sempre funcionam. Estes são os projetos que o catapultarão para fora do ranking. É assim que você se torna o inventor do PHP, e não o macaco de código que o usa.
Eu entrevisto muitos programadores, e se eles fizeram coisas estranhas interessantes fora do horário de trabalho é uma luz verde instantânea. É surpreendentemente raro.
Embora eu diga o seguinte: houve uma vez que um cara que fazia muitas coisas legais fora do horário de trabalho era um fracasso total em contratar. Ainda estou perplexo com esse cara.
fonte
Ser um bom desenvolvedor de software no coração depende realmente do seu coração. Você pode tentar ser um ótimo músico e dedicar muito tempo à música, mas isso ainda não o torna um bom músico. Você precisa aproveitar o que faz para ser bom nisso. Inicialmente, eu estava tendo as mesmas perguntas que você Mas agora, por causa dos meus gostos, comecei a fazer coisas extras em software além do trabalho normal. Melhorou meu desempenho no trabalho normal e também me proporcionou muito tempo para me envolver em outras atividades não relacionadas ao software. Portanto, a linha de base é aproveitar o que você faz e, eventualmente, fará o que for necessário.
fonte
A verdadeira questão é o que você está fazendo o dia todo. As analogias com atletas e músicos geralmente não são aplicadas corretamente. Seu trabalho diário não é prática, é desempenho, a menos que você tenha a capacidade explícita de passar parte do seu dia de trabalho em uma "prática" genuína. Como você sabe? Se você nunca tiver tempo para fazer algo "certo" ou aprender um novo idioma / tecnologia / estrutura / etc completamente, não estará praticando, mas sim executando. Atletas e músicos profissionais não melhoram durante o jogo ou o show, eles melhoram durante a prática focada. Portanto, se você é como a maioria, o único tempo que você tem para "prática" de codificação genuína é fora do trabalho. Dito isto, só vale a pena se estiver focado. Se você invadir o dia inteiro e invadir a noite toda, você fica cansado, e não melhor.
Por exemplo, você precisa otimizar um pedaço de código no trabalho e jogar nele as ferramentas usuais de criação de perfis, acelerar talvez 50% e passar para a próxima tarefa, mas acha que existem outras coisas que você pode fazer que ajudariam mesmo mais, mas você não tem tempo para experimentá-los. Se você levar esse pedaço de código para casa com você e passar algumas horas extras realmente torcendo-o, estará aprendendo técnicas que o farão melhorar na próxima vez que otimizar alguma coisa. Você não está fazendo a mesma coisa em casa e no trabalho.
A prática consiste em adicionar habilidades e aprimorar as atividades, e essas atividades são necessariamente realizadas de maneira artificial (é como isolar um grupo muscular na academia, ninguém faz isso na atividade física normal). Criar aplicativos em casa não é uma prática automática. O trabalho em casa deve se concentrar nas técnicas e no processo, não no produto final. Se um produto final é o que você precisa para se motivar, ótimo. Apenas não caia na armadilha de desenvolvê-lo da mesma maneira que no trabalho.
O movimento de codificação kata é um exemplo do que é a prática.
fonte
Para responder à sua pergunta: Não, isso não faz de você um desenvolvedor ruim.
No entanto , isso pode dificultar sua vida profissional no futuro. Se você tem um emprego em que está constantemente aprendendo novas tecnologias que o ajudarão a progredir em sua carreira (sejam promoções no seu emprego atual ou novos empregos em diferentes empresas), então está pronto.
Mas se você estiver trabalhando atualmente em uma empresa onde a tecnologia usada raramente muda, em 2 ou 5 ou 10 anos, talvez seja difícil conseguir o próximo emprego. Se você está codificando em casa com novas tecnologias e tem algo a mostrar para ela (aplicativo, site, projeto de código aberto etc.), será muito mais fácil conseguir o próximo emprego.
É claro que você pode ficar completamente feliz fazendo exatamente a mesma coisa pelos próximos 40 anos, e enquanto sua empresa e as tecnologias continuarem a existir, estará pronto!
fonte
Houve momentos em minha vida em que codifiquei muito fora do trabalho e outras em que não fiz porque estava trabalhando em outras coisas. Você deve sempre aprender, mas isso não significa que você sempre precise aprender sobre programação no seu tempo livre. Se você quiser trabalhar em alguma outra habilidade, seja carpintaria, bordado, jardinagem etc. no seu tempo livre, isso ajudará você a crescer como pessoa.
Apenas não caia na armadilha de pensar que sabe tudo o que precisa saber sobre programação para poder parar de aprender.
fonte
Este é realmente um post interessante. Estou desenvolvendo software há dez anos e adoro o meu trabalho! Eu também tenho muitos hobbies e tento gerenciá-los adequadamente. Mas eu gosto de experimentar coisas novas passando uma ou duas horas na frente do computador antes de ir para a cama. No meu caso, sou viciado em estudar e escrever código de jogo. Nem sempre tenho tempo jogando, mas adoro ler códigos sobre jogos. Para ser sincero, acho que o melhor código que já vi veio dos jogos e aplico essas habilidades ao meu código no trabalho. Eu sempre aprendo TODOS OS DIAS ÚNICOS, então IMO, se você é um desenvolvedor, nunca alcançará seu auge, sempre haverá uma maneira melhor de fazer algo ....
fonte
Este é um ótimo post.
Eu diria que não, isso não faz de você um programador ruim. Se suas críticas foram boas e você conclui suas tarefas com pontualidade e pontualidade, é o contrário. Com toda a honestidade, tenho inveja de você que você obtém o preenchimento do código enquanto trabalha.
A principal razão pela qual programo no meu tempo livre é que realmente não me importo com o que faço no trabalho e uso meu tempo livre para fazer o que gosto. O que eu gosto de fazer é a programação de videogames. Não há uma empresa de jogos válida para trabalhar onde eu moro (eu tenho uma família aqui agora), então eu ajudo nos jogos independentes quando posso. É a única maneira de curar a coceira. Se eu fizesse o que amava o dia todo, seria muito provável que não o fizesse no meu tempo livre.
fonte
Meu conselho será: use seu tempo de viagem para aprender coisas, para mantê-lo informado: leia livros de TI, ouça o podcast do Dev, etc. Quanto às suas atividades pós-trabalho: não muda nada. Caso contrário, você se tornará uma pessoa chata.
fonte
Isso não faz de você um desenvolvedor ruim, pode até não torná-lo um tipo de desenvolvedor "ok", apenas faz de você o que você é. Penso, porém, que você encontrará a maioria das pessoas realmente excelentes hackers que gostam de tentar coisas novas. A qualquer momento, estarei investigando muitas linguagens, bancos de dados, estruturas da web, robótica etc. Tenho dois filhos pequenos e uma esposa, hipoteca, tudo isso - mas estou ansioso pelos momentos em que posso obter 2 ou 3 horas para mexer com coisas. Claro, C # e .NET são ótimos para ganhar um salário e eu realmente gosto do meu trabalho, mas mexer com Scala e Lift tem sido uma verdadeira explosão para mim nos últimos meses. Existem desenvolvedores que se classificariam como "apaixonados" e aqueles que estão apenas "passando".
fonte
Absolutamente não. Significa apenas que você gosta de fazer outras coisas além da codificação. Não há nada de errado nisso, e isso não o torna melhor ou pior do que ninguém, desenvolvedor ou não.
Claro. Parte disso depende de como é o seu ambiente de trabalho. Se você tem um trabalho chato, sugador de almas, que consome todo o seu tempo e, em seguida, alguns fazem trabalhos de manutenção chatos, a capacidade de usar o tempo de trabalho para desenvolver suas habilidades será muito limitada. Se você tem o tipo de ambiente em que tem alguma liberdade para fazer o que deseja explorar e aprender, aproveite essa oportunidade para desenvolver novas habilidades que também ajudem seu empregador ou colegas de trabalho.
Se você encontrar algo interessante sobre o qual deseja aprender mais e não tiver tempo ou possibilidade de usá-lo no trabalho, pesa isso em relação às outras demandas do seu tempo, sejam elas familiares, amigos ou hobbies.
fonte
Estive em várias entrevistas para contratar programadores recentemente. Descobri que os candidatos que mais me impressionam, tanto como programadores quanto como pessoas com as quais não me importaria de trabalhar, são os que passam uma quantidade significativa de tempo em atividades que não são de programação (principalmente música, mas também matemática pura, filosofia e literatura). Certamente, a maioria também faz alguma programação de hobby, mas também tem interesses em equilíbrio.
fonte
Se você tem um emprego que lhe proporciona uma experiência intelectual completamente envolvente, é provável que essa seja sua vida mental - o trabalho externo é para desabafar. Se seu trabalho não envolver você, é muito mais provável que você encontre satisfação intelectual após o expediente. Isso é verdade em qualquer negócio, não apenas na codificação.
A codificação em um escritório consome sua criatividade, ponto final. Pelo menos 8 horas por dia, sua mente está fazendo um sprint contínuo em nome de outra pessoa. É normal sair disso e não querer voltar ao computador. Quando eu trabalhava em um escritório, era o mesmo para mim - eu chegava em casa e só queria cozinhar, ou assistir a um filme, passear com os amigos ou simplesmente ficar na frente da TV. Então, de 2001 a 2004, mais ou menos, depois que a empresa em que trabalhei me afundou e desisti, desisti e dirigi um táxi e esperei mesas. Foi quando eu realmente comecei a codificar nas minhas horas de folga.
A verdade é que acho que ninguém tem mais de 8 horas por dia em tempo de codificação de alta qualidade. Muitos codificadores têm apenas 2-3, mas podem ser as pessoas mais eficientes por aí. É exatamente como você o usa, como o espalha.
fonte
Depende do setor em que você está trabalhando. Alguns são mais competitivos que outros.
Se você não gosta de aprender coisas novas por conta própria, provavelmente permanecerá no seu nível de habilidade atual. Isso pode ser suficiente ... ou não.
Não é sobre o tempo dedicado, é sobre curiosidade e sede de conhecimento e domínio. Obviamente, isso não tem nada a ver com manter -se atualizado , trata-se de coisas fundamentais - muitas vezes difíceis: compiladores, mônadas, arquiteturas de memória, etc.
Desejar codificar em casa é apenas um importante efeito colateral. Mas não o subestime, sem fazer, o aprendizado geralmente é superficial.
Todos os melhores desenvolvedores que conheço têm essas características.
fonte
Não, isso não o torna menos programador do que qualquer outra pessoa. Você é apenas mais social. Tenho inveja de ser honesto.
Você não precisa usar todo o seu tempo livre para escrever código. Meu trabalho é bem simples: gerenciamento de servidores. Eu escrevo muito código porque não preciso fazer muito no trabalho. Isso não me faz melhor ou pior do que ninguém. Se você é apaixonado por programação, por que não trabalhar como freelancer? Costumo colocar anúncios do Craigslist para meus serviços e ganhar uma boa quantia de dinheiro com isso. Também é uma ótima experiência de aprendizado, pois você estará trabalhando com startups e, às vezes, até com sites grandes. Espero que isto ajude. :)
fonte
Fiz uma pergunta semelhante alguns dias depois. Parece que as pessoas parecem ser mais apaixonadas por nosso trabalho se dedicarmos não apenas todo o dia, mas também todo o tempo que temos disponível para nossas vidas pessoais.
Ocasionalmente, escrevo algum código no meu tempo livre, mas faço isso por diversão, não porque pretendo obter algum crescimento ou reconhecimento profissional. Aplaudo as pessoas que têm energia para isso, mas você gosta mais de se cansar trabalhando mais horas e em projetos extras do que se tornar mais especialista em qualquer coisa.
No final do dia, tudo o que importa é sua capacidade de aprender coisas novas (especialmente no trabalho), sua capacidade de se comunicar bem e ter boas habilidades de gerenciamento de tempo. Que você se transforma em um bom profissional.
fonte
Para mim, é tudo uma questão de equilíbrio.
Embora eu adore programar, é apenas um lado de mim, tenho outros interesses. Pelo que vejo, se estou feliz (fazendo outras coisas que gosto) e acho o meu trabalho interessante e gratificante (o que faço) do que, a longo prazo, estou a caminho de me tornar um desenvolvedor de software melhor.
PS Admito que não li todas as postagens anteriores nesta página.
fonte