Os oito fatores de felicidade para os desenvolvedores

Recentemente me deparei com este esboço de Tanmay Vora, e isso realmente ressoou comigo.

Como desenvolvedor, me fez pensar em como isso pode se traduzir na vida de um desenvolvedor e nossa felicidade. Com base nesta nota de esboço aqui estão os oito fatores de felicidade aplicados à vida do desenvolvedor. 1. Ressentimento Abrigando ressentimento...

 

Recentemente me deparei com este esboço de Tanmay Vora,e isso realmente ressoou comigo. Como desenvolvedor, me fez pensar em como isso pode se traduzir na vida de um desenvolvedor e nossa felicidade. Com base nesta nota de esboço aqui estão os oito fatores de felicidade aplicados à vida do desenvolvedor.

 

1. Ressentimento

 

Abrigar ressentimento ou raiva em relação a outro membro da equipe pode ser uma fonte significativa de infelicidade. Em uma posição anterior como desenvolvedor web, trabalhei com um engenheiro sênior que eu realmente não gostava. Este membro da equipe quase nunca deixaria um pedido de atração ou decisão de design passar incontestado. Cada interação como esta levaria a horas do que eu chamo de judô verbal com folga. Isso sangraria em minha vida fora do trabalho; Eu nunca poderia conciliar o fato de que eu deixei essa outra pessoa ficar sob minha pele. Minha melhor defesa foi meditação e permitir que essa pessoa fosse uma espécie de mentor. Ele me permitiu encontrar meus próprios defeitos pelo que ele trouxe em mim.

 

Outro problema que os desenvolvedores enfrentam é o que eu chamo de "ódio da indústria". Há uma corrente de ressentimento na indústria de desenvolvimento de software em torno da contratação e do processo de entrevista que lamenta o fato de que somos realmente uma primeira cultura de habilidades. Esta é uma espada de dois gumes. Por um lado, você não precisa ter um diploma de CS ou treinamento formal para trabalhar como desenvolvedor e ganhar muito dinheiro fazendo isso.

 

Por outro lado, o processo de entrevista pode parecer tendencioso em relação à engenharia pura e que as soft skills não importam. Por mais que a indústria fale sobre empatia e mentoria, parece que a única coisa que realmente importa é a rapidez com que você pode construir e implementar um algoritmo de pesquisa de árvores B. Para novos desenvolvedores, tudo o que você pode fazer é se concentrar em ser o mais bem arredondado possível e se preparar o melhor que puder para entrevistas. Para desenvolvedores mais seniores, à medida que nos tornamos responsáveis pela contratação, podemos fatorar mais soft skills e características em nossas práticas de contratação.

 

Cuidar de um rancor contra um colega ou projeto só levará à infelicidade e às horas improdutivas. Encontrar processos ou técnicas para transformar essa energia negativa em experiências positivas fará de você um melhor desenvolvedor e um melhor você!

 

2. Não viver no passado

 

Não pense naquele trabalho que você não conseguiu ou naquele projeto que deu errado. Se vivemos no passado, estamos condenados a repeti-lo. Como desenvolvedores, precisamos de memórias curtas e uma das melhores maneiras de aprender é através do fracasso.

 

Passei por um processo de entrevista para um cargo de engenheiro de software há alguns anos. Esta era uma empresa muito boa, com grandes benefícios e uma cultura remota sólida, o que era importante para mim. Depois de algumas entrevistas e um desafio de codificação em casa, o passo final foi um dia de codificação no local. Claro, isso é muito para aceitar. Você tem que tirar um dia de folga do trabalho, voar para uma nova cidade e passar a noite.

 

No grande dia, depois de receber os requisitos e se reunir com a equipe para planejar o jogo para o aplicativo, comecei a codificar. As primeiras horas foram bem, mas depois de ficar preso em uma característica particular, eu destrui um buraco de coelho que só levou a tempo desperdiçado e código meio assado. O dia não foi um desastre, mas também não foi meu melhor trabalho. Estas palavras do e-mail de rejeição ainda me assombram:

 

Infelizmente, a equipe de contratação decidiu seguir em frente com outros candidatos. A equipe adorou a energia e o entusiasmo que você trouxe para o seu dia de código — eles realmente gostaram de emparelhar com você e colaborar com você. No entanto, para este papel, estamos procurando ver um alto nível de fluência e compreensão profunda da pilha de tecnologia escolhida. Nós tivemos muito interesse neste lugar, e com aberturas limitadas, só fomos capazes de continuar com um pequeno número de pessoas que foram capazes de demonstrar isso um pouco mais claramente.

 

Alto nível de fluência e compreensão profunda!? Gah! Por mais doloroso que essa experiência fosse, me ensinou a ser criterioso com meu tempo ao trabalhar em projetos sensíveis ao tempo. Às vezes é melhor implementar um produto mínimo viável para garantir sua funcionalidade primeiro, depois recursos mais sofisticados se o tempo permitir.

 

Viver no passado é estressante, improdutivo e deprimente. Todos nós temos contratempos, mas transformar seus contratempos em lições aprendidas permitirá que você seja mentor e seja empático com outros com experiência semelhante, bem como ajudá-lo a não repetir esses mesmos erros no futuro.

 

3. Coopere com a vida

 

A Oração da Serenidade nos pede para aceitar as coisas que não podemos mudar, mudar as coisas que pudermos, mas também ter a sabedoria para saber a diferença. A coisa toda de "sabedoria para saber a diferença" é a parte mais desafiadora desse axioma. Às vezes temos que saber quando adiar, mas outras vezes devemos receber a mudança e ver onde ela nos leva.

 

Alguns anos atrás, fui convidado pelo meu CEO para gerenciar uma iniciativa do Zoom Webinar que nossa organização estava começando. Webinars zoom? "Mas eu sou um Desenvolvedor Web", pensei comigo mesmo. Eu seriamente considerei deixar esta posição. Depois de muita deliberação, decidi abordar este desafio com a mente do iniciante e ver onde isso me levaria.

 

Como se viu, houve desafios interessantes de programação nesta iniciativa. Os clientes precisavam enviar aplicativos para webinars, então incorporei o Google Forms no fluxo de trabalho. Em vez de usar a interface Zoom, escrevi nosso próprio aplicativo web interno usando a própria API do Zoom. Depois disso, usei o Google App Scripts para interagir com o Formulário do Google e o aplicativo Zoom Web para que, quando os usuários enviassem uma solicitação webinar, ele fosse automaticamente importado para o nosso aplicativo para processamento.

 

Nunca sabemos quais oportunidades podem estar se escondendo atrás de uma mudança de carreira e estar aberto a essas mudanças pode levar a novas habilidades e crescimento. Estou tão feliz por não ter parado por causa disso. Ao aceitar essa mudança, me deu experiência com tecnologias que de outra forma não teria tido.

 

4. Mantenha-se engajado com o mundo real

 

Como desenvolvedores, é fácil se retirar em nosso próprio mundo. Muitas vezes é uma profissão reclusa, e sem sequer tentar, podemos ter muito pouca interação com os outros. Mas os humanos são criaturas sociais. Nos casamos e temos filhos, vamos à igreja, ao centro comunitário, ou à academia. Fazemos essas coisas porque quando interagimos com os outros, torna nosso mundo melhor, e isso nos torna melhores.

 

Trabalho remotamente há cerca de cinco anos. Quando comecei, trabalhava no meu escritório 100% do tempo. Depois de seis meses, eu me encontrei em uma rotina e temendo o início de cada dia. Tenho um ótimo espaço para trabalhar, mas estava ficando velho e eu precisava de uma mudança. Sou um instrutor adjunto da faculdade comunitária, e a faculdade fornece espaço para trabalharmos e nos encontrarmos com os alunos. Comecei a sair para a faculdade para trabalhar alguns dias por semana.

 

Não só me permite sair de casa, como achei que a interação com alunos e outros instrutores realmente me energizou e substituiu o tempo de "bebedouro" que eu estava perdendo desde que comecei a trabalhar remotamente. Claro, há mais interrupções do que em casa, mas a mudança de ambiente me permite recarregar minhas baterias e, consequentemente, descobri que meu tempo em casa é muito mais produtivo. Você pode ter essa experiência com um espaço de co-working se você estiver remoto ou seu encontro de programação local. Mesmo se encontrando com outros uma vez por mês vai fazer você pensar fora do seu mundo e ampliar sua rede pessoal.

 

Essa interação com os outros pode ser especialmente útil em momentos de estresse. Quando estamos estressados, tendemos a nos retirar e nos tornar mais reclusos, de modo que é exatamente quando precisamos de outros ao nosso redor. Não espere até que estejamos nesses pontos baixos para encontrar interação. As redes sociais e as conexões devem ser nutridas e fazer parte do nosso cotidiano para que, quando os desafios vierem, tenhamos outros para nos apoiar e nos incentivar.

 

O envolvimento significativo em atividades fora do seu trabalho diurno manterá sua vida interessante e lhe dará novas perspectivas. Esses compromissos pagarão dividendos em sua vida profissional e pessoal.

 

5. Ame a si mesmo (e aos outros)

 

Ok, como desenvolvedores, falar sobre amar a nós mesmos é muito açucarado e não é assim que falamos. Programação é difícil e não deixe ninguém dizer que não é. O problema é codificar é uma habilidade técnica e há estrelas do rock e ninjas, e há o resto de nós (estou neste acampamento). Devemos ter empatia por nós mesmos e pelos outros enquanto nos movemos nesta profissão.

 

Eu estava recentemente orientando um aluno e tivemos um problema difícil que não conseguimos resolver. Eu disse ao aluno: "Bem, se fosse eu, eu postaria uma pergunta, então vamos fazer isso." O aluno parecia mortificado. Ele estava com medo que alguém zombasse dele ou dissesse que sua pergunta era. Prometi a ele que não seria o caso e sentei-me com ele enquanto ele era o autor da pergunta. Claro, ele recebeu várias respostas (nenhuma zombando dele), uma das quais o ajudou a resolver o problema que ele estava tendo.

 

As revisões de código também podem ser uma ótima oportunidade para aplicar essa prática. Esforce-se por melhores revisões de código e aqueles que consideram todos os fatores em torno de uma solicitação de tração, como o nível técnico do apresentador (Jr vs. Sr). Muitas vezes consideramos nosso código como uma extensão de nós mesmos, por isso é fácil se ofender a uma revisão de código negativa. Quanto mais compassivos e empáticos pudermos ser com feedback, melhor será recebido.

 

Interagir com nossos pares com empatia e amor tornará você e aqueles ao seu redor mais produtivos, aumentando seu nível de satisfação no trabalho, bem como ajudando os outros a se tornarem programadores mais eficazes.

 

6. Seja virtuoso

 

Como engenheiros, vivemos em um ambiente altamente técnico, então achamos que isso nos dá um passe sobre virtudes como amor, compaixão e empatia. Não tive tanta sorte! Somos humanos, não computadores, e só porque os programamos não significa que devemos pensar como eles. Procure oportunidades em seu trabalho para cultivar valores antiquados como amor, compaixão, humor e lealdade.

 

Alguns anos atrás, minha organização teve uma reunião de mãos dadas. Nós entramos em pequenos grupos de quatro ou cinco pessoas e fomos convidados a compartilhar algo sobre nós que motiva e informa nosso trabalho todos os dias. Agora você sabe como isso acontece quando ouvimos algo assim, imediatamente pensamos "Oh Deus... Como posso sair dessa? Vou fingir uma dor de estômago e correr para o banheiro!"

 

Mas esta foi realmente uma experiência transformadora para o meu grupo. A primeira pessoa que compartilhou falou sobre a luta de sua família contra a doença mental e como isso impacta seu trabalho. Isso levou outros do grupo a serem abertos e honestos sobre todos os tipos de coisas que nunca falamos em um ambiente virtual.

 

Nossa equipe teve essa experiência anos atrás, mas realmente teve um efeito positivo duradouro na forma como trabalhamos juntos. Pequenas percepções sobre o passado das pessoas e suas experiências impactam a forma como interagimos uns com os outros e leva a uma maior confiança e compreensão de como e por que as pessoas trabalham do jeito que fazem.

 

7. Abaixe suas expectativas de si mesmo

 

Atire para a lua, se você errar, pelo menos você estará entre as estrelas. Todos nós ouvimos isso um milhão de vezes, mas, como eu disse anteriormente, codificação é difícil, então eu vou propor que nós cortamos um pouco de folga e não espere tanto. Apenas em virtude de nossa profissão escolhida, somos super-realizadores e fazemos as coisas duplamente difíceis quando esperamos progredir muito rápido.

 

Estou dando uma aula de C++ neste semestre, e é um requisito para os alunos de engenharia. É a primeira e única aula de programação que esses alunos precisam para se formar. Acabamos de terminar um capítulo sobre loops, e eu me encontrei com um aluno que estava frustrado com o que ele percebeu como sua falta de compreensão de laços aninhados. Compartilhei com ele que loops aninhados não são um tema trivial e muitos programadores experientes lutam para depurá-los. A expectativa desse aluno para si mesmo era muito maior do que precisava ser para alguém sem experiência em programação.

 

Vejo muito isso com novos desenvolvedores. É ótimo colocar a barra alta para si mesmo, mas o perigo com essa mentalidade é duplo. Primeiro, você corre o risco de se queimar e sair da profissão e segundo, mesmo que você fique no campo, você será miserável! Quem quer trabalhar em um trabalho que eles acham que são ruins?

 

Ser bom no seu trabalho é uma busca nobre que todos nós devemos nos esforçar para alcançar. Mas pensar que todos nós podemos ser Alan Turing, Steve Jobs, ou programming_hero é um alvo que você provavelmente nunca atingirá. Em vez disso, esforce-se para ser a melhor versão de si mesmo todos os dias, e você pode acabar sendo um herói para outra pessoa.

 

8. Sirva algo maior que você

 

Pessoas egocêncentes e narcisistas são as pessoas menos felizes do planeta. As pessoas mais felizes encontraram algum equilíbrio entre servir e cuidar de si mesmas e servir sua família, seus colegas de trabalho e aqueles em sua comunidade. Uma vez ouvi alguém descrever os três pilares da felicidade humana como cumprir a necessidade de um trabalho significativo, a necessidade de conexões ao longo da vida e a necessidade de servir algo maior do que você.

 

Servir algo maior do que você pode se manifestar de várias maneiras. Você pode ser capaz de cumprir isso no seu trabalho. Se você trabalha para uma organização sem fins lucrativos, pode estar no centro do seu trabalho. Mas mesmo que em uma empresa com fins lucrativos, há muito trabalho significativo por aí. Os softwares de saúde, mídia social e produtividade podem ter a missão de ajudar a sociedade. Se o bug que você conserta salva alguém cinco minutos que pode passar com sua família, então isso é um trabalho realmente significativo.

 

Fora do trabalho, procure uma oportunidade de usar suas habilidades técnicas para ajudar os outros. Eu tenho mantido o site da minha igreja por quase uma década agora. Fazer gestão de conteúdo não é meu tipo favorito de trabalho, mas é gratificante poder ajudar minha igreja e minha comunidade.

 

Em 2018 e 2019, atuou como Diretor de Mentores para VetsWhoCode. Existem várias organizações voluntárias como Code for America e Social Coder que têm oportunidades de usar suas habilidades técnicas para servir outras pessoas. Outra opção é se envolver com o encontro de codificadores locais. Os meetups adoram quando alguém se voluntaria para dar uma palestra, ajudar a organizar o local ou trazer um alto-falante externo.

 

Servir um propósito ou encontrar uma missão maior do que você permitirá que você seja melhor em seu ofício, mas também o levará para fora de sua zona de conforto de maneiras que você pode não encontrar em seu trabalho diurno. Amplia seus contatos pessoais e profissionais permitindo que você seja mentor e seja orientado por outros. Finalmente, torna o mundo um lugar melhor, dando às organizações acesso a talentos altamente qualificados que de outra forma não poderiam.

 

Isso é tudo por enquanto. Espero que isso tenha dado algumas dicas sobre como ser um codificador feliz e compartilhar essa alegria com os outros. Eu adoraria se alguém pudesse criar uma nota sobre esses fatores. Se assim for, me mande uma mensagem no meu perfil.

 

 

O Avance Network é uma comunidade fácil de usar que fornece segurança de primeira e não requer muito conhecimento técnico. Com uma conta, você pode proteger sua comunicação e seus dispositivos. O Avance Network não mantém registros de seus dados; portanto, você pode ter certeza de que tudo o que sai do seu dispositivo chega ao outro lado sem inspeção.


Strong

5178 Blog mga post

Mga komento