¿Somos profesionales o aficionados remunerados?

Antes de leer esta publicación, te pido que ignores tu ego, solo por unos momentos. Este texto no fue fácil de escribir, y creo que tampoco será fácil de leer. Tenga en cuenta que no quiero ofender a nadie. Sin embargo, creo que es hora de hablar en serio sobre nuestras carreras.

NOTA: Esta publicación fue motivada por una discusión entre amigos, en un grupo de WhatsApp, de una comunidad profesional en la que soy miembro.

A pedido explícito de los involucrados, no mencionaré nombres. Sin embargo, tuve el desafío de hablar en público con la misma franqueza que usé en ese grupo.

Mi pregunta no tiene nada que ver con cuánto sabe sobre ese framework lanzado la semana pasada. No estoy hablando de microservicios. No estoy hablando de DDD. No estoy hablando de ese lenguaje de programación popular. No estoy hablando de esa nueva base de datos. No estoy hablando de nada que generalmente te haga sentir como un impostor.

Cuando hablé de estar preparado, ¡estaba hablando de cuánto sabes sobre lo básico!

¿Sabes cómo analizar la complejidad de un algoritmo? Si no lo sabe, ¿cómo puede saber cómo se comportará en la producción con un volumen de datos superior al que está utilizando en sus pruebas? ¿Serás uno de esos desarrolladores que repite “En mi máquina funciona”?

NOTA: En esa discusión privada, un amigo argumentó que las herramientas adecuadas podrían ayudar a evaluar la calidad de un algoritmo. Desafortunadamente, no pueden determinar si el algoritmo elegido es la opción correcta para resolver un problema o si escalará bien.

Ni Resharper ni Sonarqube le dirán si su código escala mal. En mi experiencia, ni siquiera las pruebas de control de calidad son suficientes; después de todo, no reflejan lo que está en producción. Al final, se necesita una combinación de experimentación y conocimiento.

Lo más triste es que [tweet]si no sabe si su código “escala” bien, probablemente no escala[/tweet].

¿Cuánto sabes sobre las estructuras de datos? ¿Implementarías una hashtable? Si no puede, ¿qué criterios tiene para elegir entre las diversas opciones disponibles en un framework moderno como .NET o Java?

NOTA: En la misma discusión, el mismo amigo sugirió que “en el mundo real” las personas no tienen la capacidad de implementar estructuras de datos por sí mismas. Todavia, aun así, estas personas están entregando código en producción que cumple con los deseos de los clientes.

¿Estamos incluso entregando el software que nos pagan por desarrollar?

¿Cuánto sabes sobre cómo funcionan las computadoras? Si sabe poco, ¿cómo explica ese “problema de redondeo” a sus clientes? ¿Qué criterios utiliza para optimizar su código para la máquina que ejecutará su código?

¿Cuánto sabes acerca de cómo se asigna y desasigna la memoria que usa su código? ¿Qué criterio utiliza para decidir si crear una clase o una estructura (específicamente hablando de C#)?

Conocer los fundamentos es el mínimo (el fundamental) para que podamos realizar cualquier función. Entonces, ¿por qué a menudo ignoramos los “fundamentos” en el desarrollo de software?

Estudiar los “conceptos básicos de la informática” puede no ser su enfoque, o lo que ha estado aprendiendo recientemente. Tal vez porque las personas que te influyen (tus referencias técnicas) no te han dicho que eso es importante. Tal vez, porque su jefe no tiene las condiciones (ni siquiera las técnicas) para evaluarlo por cuánto ha dominado (realmente) lo que está haciendo. Todavia, eso no cambia el hecho de que es difícil construir algo sustancial sin conocer los “fundamentos”.

NOTA: Ignorar lo básico puede incluso llevarlo a adoptar todos los patrones y frameworks del mundo para ofrecer un CRUD. Puede que estés haciendo esto solo porque alguien que conoces ha insinuado que este es el camino.

En una buena universidad, aprendes los “fundamentos”. Desafortunadamente, muchas personas repiten que el enfoque de los cursos de pregrado y posgrado debería ser más “práctico”. Al igual que con las matemáticas, quiero creer que el problema es el enfoque, no el tema.

No digo que la educación formal o las certificaciones sean la única forma de aprender lo básico. Seguramente, cualquiera (creo), con algo de disciplina, puede entender y aprender cualquier cosa. De todos modos, sin el requisito de un currículum, el desafío resulta ser mucho más significativo.

El Uncle Bob dijo que somos los nuevos escribas.  El software está absorbiendo el mundo y nosotros, que trabajamos con software, tenemos posibilidades reales de desempeñar un papel de liderazgo. Podemos cambiar la sociedad para bien o para mal.

Las oportunidades son enormes, los desafíos también. Necesitamos ser profesionales y desarrollar profesionales. [tweet]Necesitamos desarrolladores auténticos con una base sólida. Los riesgos son demasiado altos para que seamos una clase egocéntrica de aficionados pagados.[/tweet]

NOTA: No soy dueño de la verdad. Estoy muy lejos de saberlo todo. Mira, incluso si quisieras, nunca lo sabrás todo. Todavia, todos los días, hace casi treinta años (comencé a escribir código en la escuela), primero trato de aprender lo más importante.

Si te ofendí, lo siento mucho.

Compartilhe este insight:

Comentários

Participe deixando seu comentário sobre este artigo a seguir:

Subscribe
Notify of
guest
0 Comentários
Inline Feedbacks
View all comments

AUTOR

Elemar Júnior
Fundador e CEO da EximiaCo atua como tech trusted advisor ajudando empresas e profissionais a gerar mais resultados através da tecnologia.

NOVOS HORIZONTES PARA O SEU NEGÓCIO

Nosso time está preparado para superar junto com você grandes desafios tecnológicos.

Entre em contato e vamos juntos utilizar a tecnologia do jeito certo para gerar mais resultados.

Insights EximiaCo

Confira os conteúdos de negócios e tecnologia desenvolvidos pelos nossos consultores:

Arquivo

Pós-pandemia, trabalho remoto e a retenção dos profissionais de TI

CTO Consulting e Especialista em Execução em TI
0
Queremos saber a sua opinião, deixe seu comentáriox
Masterclass

O Poder do Metamodelo para Profissionais Técnicos Avançarem

Nesta masterclass aberta ao público, vamos explorar como o Metamodelo para a Criação, desenvolvido por Elemar Júnior, pode ser uma ferramenta poderosa para alavancar sua carreira técnica em TI.

A sua inscrição foi realizada com sucesso!

O link de acesso à live foi enviado para o seu e-mail. Nos vemos no dia da live.

Muito obrigado!

Deu tudo certo com seu envio!
Logo entraremos em contato

¿Somos profesionales o aficionados remunerados?

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

¿Somos profesionales o aficionados remunerados?

Para se candidatar nesta turma aberta, preencha o formulário a seguir:

Condição especial de pré-venda: R$ 14.000,00 - contratando a mentoria até até 31/01/2023 e R$ 15.000,00 - contratando a mentoria a partir de 01/02/2023, em até 12x com taxas.

Tenho interesse nessa capacitação

Para solicitar mais informações sobre essa capacitação para a sua empresa, preencha o formulário a seguir:

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

O seu insight foi excluído com sucesso!

O seu insight foi excluído e não está mais disponível.

O seu insight foi salvo com sucesso!

Ele está na fila de espera, aguardando ser revisado para ter sua publicação programada.

Tenho interesse em conversar

Se você está querendo gerar resultados através da tecnologia, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse nessa solução

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

Tenho interesse neste serviço

Se você está procurando este tipo de solução para o seu negócio, preencha este formulário que um de nossos consultores entrará em contato com você:

× Precisa de ajuda?