Uma carta aberta para desenvolvedores menos experientes

Este tweet me fez pensar.

Todo o segmento vale a pena ler. Tenho certeza de que muitos desenvolvedores que estão excitados pelo código às vezes ressoam com esses sentimentos.

Eu prometi uma resposta muito longa para o Twitter, e aqui está.

Primeiro, algum contexto: lembro-me de ter ficado excitado pelos computadores no Natal de 1982 ou 1983, quando minha irmã (8 anos mais velha) obteve um Commodore VIC-20. Lembro-me de ter 4 ou 5 anos e pensar que eu provavelmente usaria isso "melhor" do que ela no início da adolescência.

Toda vez que toquei um computador a partir de então, fiquei excitado, mas na verdade não consegui aprender como eles funcionaram corretamente até eu ter cerca de 11 ou 12. Com 18 anos, eu já conhecia C bem o suficiente para as melhores aulas no meu ano mais fresco na Universidade e, aos 28 anos de idade, trabalhei no serviço público, academia, múltiplas pequenas empresas, cantos peculiares do mundo (as Ilhas Falkland são adoráveis) e estava dirigindo uma empresa ajudando pequenas startups a descobrir o que isso A revolução tecnológica era tudo.

Eu acabei com CTO por algumas novidades e, em cerca de 2014/2015, percebi que perdi a codificação, renunciei ao meu trabalho, tirei um corte de salário de 30% e recordei ser um engenheiro sênior de software em uma empresa maior , onde eu permaneço.

Cada um dos tweets que Saron envia nesse tópico encapsula algum aspecto da minha carreira que, para um estranho, pode parecer de uma maneira, mas na verdade, está acontecendo algo mais.

Considere por exemplo:

Curiosamente, eu posso responder a isso com um tweet que eu fiz um pouco atrás:

Os desenvolvedores júniors começam com essa expectativa de que, se eles apenas aprendem a codificar, eles serão feitos e, em seguida, obterão suas horas e eles irão progredir na carreira. Isso não faz sentido.

Codificar a vida é aprender a viver. Se você não gosta de aprender todos os dias , volte agora ou tente dar um salto em algo menos exigente da perspectiva de aprendizagem.

Quanto mais você codificar, mais você percebe que há universos matemáticos, teóricos, engenheiros e criativos inteiros que você não entende, nunca entenderão e, portanto, não tem sentido fingir que você fará, entenderá ou entenderá.

Se você me levou e outro desenvolvedor com um histórico semelhante, mas a outra parte passou suas vidas inteiras codificando em bancos e nos colocou em um pub para conversar, teríamos surpreendentemente pouco terreno comum.

Poderíamos falar um pouco sobre a semântica da linguagem. Eu saberia muito mais sobre a web e o aplicativo enfrentando coisas mais do que eles. Eles podem saber mais sobre conformidade e talvez estratégias mais apropriadas para configurações de Enterprise. Estou passando muito tempo trabalhando no sourcing de eventos no momento, então teríamos um terreno comum, mas nós chamaríamos coisas por nomes diferentes.

Adicione um desenvolvedor de jogos à nossa mesa, e provavelmente vamos nos sentar silenciosamente por um tempo até que todos nos lembremos de todos nós gostamos de Rick & Morty .

E isso é o que eu acho que você normalmente está vendo quando vê um sénior auto-depreciativo. Na verdade eles não pensam que são terríveis, eles só conhecem suas limitações e gostam de trabalhar dentro delas, e passaram o ponto de te perseguir para pensar que são especialistas em tudo.

Em seguida, nesse tópico:

A coisa menos importante sobre um pedaço de software é o código. Desculpe, mas é verdade, e quanto mais cedo todos os que chegam à carreira percebam que, mais produtivos, felizes e fundamentados serão.

Dizer que o código é o mais importante é dizer que a parte mais importante de um novo edifício é o plano arquitetônico. Você não vai chegar longe sem eles, mas há um monte de outras coisas que um arquiteto tem que fazer para garantir que clientes, cidadãos locais, autoridades, outros arquitetos, etc., estejam todos satisfeitos com o edifício.

Ninguém ganhou o prêmio de um arquiteto por um bom desenho, e um código que atende a necessidade de que ninguém o tenha feito, ou o faça, de maneira que, inadvertidamente, escape dados pessoais ou quebrar máquinas não ganhará grandes elogios.

A semântica de linguagem é equivalente ao idioma do desenho de um arquiteto. Assim como um arquiteto passa os desenhos aos trabalhadores da construção para perceber, passamos nosso código para intérpretes e compiladores.

Como alguns arquitetos querem se destacar na engenharia civil, alguns codificadores entrarão nas peças de trabalho de idiomas.

Apenas como as casas pré-fabricadas são de boa relação qualidade / preço para aqueles que não se importam com a arquitetura per se, você pode percorrer um longo caminho com o download ou copiar / colar coisas e costurá-las.

Em última análise, você tem uma responsabilidade como profissional para perceber que seu código possui expectativas de audiência, e tem responsabilidades para essa audiência e outras pessoas, e é por isso que ela existe.

Isso não significa que você não pode se orgulhar de como você conheceu ou excedeu essas expectativas ou responsabilidades ao expressar essas necessidades no próprio código, mas até que você aceite em seu coração de coração que seu trabalho é servir-lhes como principais preocupações através do idioma do código e o código em si não é importante que tinta e papel seja para escrever, você achará esta uma carreira brutal.

Eu costumava dizer que a engenharia de software é 80% de comunicação e 20% de código de escrita. Agora penso que é mais como 95% / 5% quando bem feito, é apenas que uma maior parte da comunicação pode ser feita com outros engenheiros através de um código bem desenhado e arquitetado.

Voltei a codificar porque é a melhor maneira que eu conheço de me expressar enquanto ganhava a vida. Posso tocar um pequeno piano mal, sou um artista terrível, e enquanto eu gosto de escrever não paga as contas.

Agora, anos atrás, eu tinha pilhas de projetos paralelos alinhados. Muito poucos deles trabalharam porque a vida real entra no caminho. Alguns de nós ficam mais cansados ??à medida que envelhecemos, alguns de nós temos famílias, fiquei doente sem perceber isso e, nos últimos dois anos, basicamente tenho tido um problema que culminou com a perda da capacidade de andar (principalmente bem agora, mais aqui ).

A questão é que a experiência nos diz que ficamos muito entusiasmados com essas grandes idéias que podem levar à frustração, pois talvez não possamos trabalhar com elas.

Não permita que isso o impele de estar excitado sobre essas coisas. Vá construir o máximo possível.

Se você pode e está disposto, não seja apenas produtivo, mas prolífico.

Sua energia diminuirá à medida que você envelhece. Isso está ok. Suas prioridades na vida mudarão. Isso está ok. Você irá reduzir o seu campo de interesse. Isso pode estar certo, talvez não seja, normalmente é melhor manter sua mente aberta em novos campos, especialmente nos primeiros 30 anos ou mais da sua carreira.

Não confunda, porém, as pessoas que priorizaram outros aspectos de sua vida para as pessoas que desistiram do potencial do que um desenvolvedor com uma boa idéia e a energia e habilidade para executá-lo bem pode fazer. Apenas lembre-se, porém, todos sabemos o nome de Gates e Zuckerberg porque há apenas dois deles: as chances são longas, a glória é excelente e é sua se você quiser.

Mas, você sabe, é bom não fazer isso se quiser sair com as pessoas, e na minha experiência pessoal, as pessoas são mais agradáveis ??de sair do que os computadores. Pense sobre isso.

Eu falo uma história às vezes sobre um encontro que tive há alguns anos atrás. Eu estava fazendo o alcance de STEM para a Royal Society através da Universidade de Salford. Uma manhã eu me encontrei fazendo uma assembléia na Escola Secundária Islâmica de Manchester para Meninas.

Enfrentando um quarto de meninas de 11 a 14 anos, a maioria de vestidos de cabeça, alguns em burkas, tirei fotos de Ada Lovelace, Grace Hopper, Gates, Zuck e outros. Eu disse a essas garotas sobre como eu vi seu potencial:

Poucas coisas que você pode escolher para fazer em sua vida permitirão que você tenha um impacto tanto na melhoria da humanidade, se você optar por uma melhor humanidade com essas habilidades.

Com o laptop ou o PC que você provavelmente já tem em casa e algum conhecimento, você pode criar experiências para uma audiência de bilhões de dólares em praticamente nenhum custo além do seu tempo. Essas experiências podem educar, divertir ou melhorar. Eles podem transformar pessoas em superhumanos de mundos virtuais em um jogo ou titãs de indústria dentro de uma planilha. Você pode construir músculos mentais que alavancem nossa capacidade como uma espécie.

O código de escrita fica em uma interseção fascinante e bonita entre o mundo analítico da Ciência e o potencial expressivo das artes criativas. É profissional, gratificante e bem remunerado.

Se você aprender a codificar, e você aproveita, o limite de sua expressão é inteiramente da sua própria criação.

Depois de dar um discurso apaixonado de 20 minutos nestas linhas, sentei-me para ouvir o próximo apresentador: uma mulher da British Gas incentivando-os a se tornar pessoal de reparação de caldeiras para que eles pudessem obter o "seu próprio uniforme e dirigir uma van". Eu suspirei na minha sociedade, peguei meu laptop e fui embora.

Mas estou lhe dizendo agora Saron, e todos os que se sentem como você, que meus pensamentos permanecem inalterados e agora estou lhe dizendo estas coisas.

Sim, eu auto-depreciar, sim, estou muito ocupado para ficar entusiasmado com absolutamente tudo, e sim, eu priorizo ??minha saúde e um equilíbrio na vida para me lançar no abismo de codificação criativa como um maníaco.

Mas nunca confunda isso com o pensamento, estamos sinalizando para você que cometeu um engano ingenuo, que sua excitação acabará por diminuir, apesar de você não querer, ou que aqueles de nós com mais experiência do que você agora pensam que seu entusiasmo é mal colocada.

Godspeed, e boa sorte.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *