Chad Fowler - O Programador Apaixonado: Construindo uma carreira notável em desenvolvimento de software стр 13.

Шрифт
Фон

Claro, você não tem que saber essas coisas para escrever código sob a supervisão de outros. Mas estas pessoas deveriam ser especialistas.

Muitos acreditam que ser especialista em algo significa que você não sabe outras coisas. Eu poderia, por exemplo, chamar minha mãe de especialista em Windows,

porque ela nunca usou o Linux ou Mac OS X. Ou, eu poderia dizer que meus paren-

tes na zona rural do Arkansas são especialistas em música country, porque nunca

ouviram nada diferente.

Imagine que você visite o seu médico da família, reclamando

de um nódulo es-

tranho no seu braço direito. O seu médico indica um especialista para fazer uma

biópsia. E se esse especialista fosse uma pessoa cujas únicas credenciais como especialista eram que ele não compareceu às aulas na escola de medicina ou nunca teve experiência em residências que não eram diretamente ligadas ao procedimento específico que ele vai realizar hoje em você? Eu não quero dizer que eles foram mais fundo nos temas relacionados ao procedimento de hoje. E se ele tivesse apenas visto por cima essas assuntos e não soubesse de mais nada? E se essa máquina ali começar a apitar durante o procedimento?, você pode perguntar. Ah, isso nunca aconteceu antes. Não vai acontecer desta vez. Eu não sei o que a máquina faz, mas ela nunca apita.

Felizmente, a maioria dos desenvolvedores de software não é responsável por si-

tuações de vida ou morte. Se eles fracassarem, isso geralmente vai resultar em atrasos nos projetos ou bugs que simplesmente custarão dinheiro de seus empregadores, não vidas.

Infelizmente, a indústria de software tem movimentado um monte desses espe-

cialistas rasos, que usam o termo especialista como uma desculpa para saber só uma 34

Casa do Código

Capítulo 8. Seja especialista

coisa. Na indústria médica, um especialista é alguém com profundo conhecimento

de alguma área específica. Doutores encaminham os pacientes para especialistas,

porque, em certas circunstâncias, o especialista pode cuidar melhor do paciente do que um clínico geral.

Então, o que um especialista de software deve ser? Eu posso lhe dizer o que eu

estava procurando por toda a parte durante a viagem de recrutamento. Era por pessoas que entendessem profundamente programação Java e ambiente de implantação.

Eu queria pessoas que pudessem dizer estive lá, fiz isso em 80% das situações e cuja profundidade de conhecimento passasse tranquilidade para as outras 20% das situa-

ções. Eu queria alguém que, ao lidar com abstrações de alto nível, entendesse os detalhes da implementação dessas abstrações. Eu queria alguém que pudesse resolver qualquer problema de implantação que encontrássemos ou que ao menos soubesse

a quem pedir ajuda se necessário.

Este é o tipo de especialista que vai sobreviver na indústria de TI. Se você é um especialista em .NET, isso não é uma desculpa para não saber nada, além de .NET.

Isso significa que, se tem a ver com .NET, você é o cara. Servidores IIS travados e precisando de reboot? Não tem problema. Integração de código fonte com o Visual Studio .NET? Eu lhe mostro como. Clientes à beira de um ataque de nervos por

conta de problemas de performance que ninguém sabe o que é? Dê 30 minutos.

Se isso não é o que ser um especialista significa para você, então eu espero que não saia falando que é um.

Faça algo

Você usa uma linguagem de programação que compila e roda numa máquina

virtual? Se assim for, levará algum tempo para aprender sobre os detalhes

de como a VM trabalha. Considerando Java, .NET e Smalltalk, muitos livros

e sites são dedicados ao tema. É mais fácil aprender sobre elas do que você

imagina.

Independente de a sua linguagem se basear em uma VM, leva algum tempo

para estudar o que acontece quando você compila um arquivo fonte. Como é

que o código que você digitou passa de texto legível para as instruções que um

computador pode executar? O que significaria escrever o seu próprio compi-

lador?

Quando você importa ou usa bibliotecas externas, de onde elas vêm? O que

realmente significa importar uma biblioteca externa? Como é que o seu com-

35

Casa do Código

pilador, sistema operacional, ou máquina virtual liga vários pedaços de código

para formar um sistema coerente? Aprender esses pontos fará com que você

fique muitos passos mais próximos de ser um especialista na sua tecnologia

preferida.

Encontre uma oportunidade no trabalho ou fora dele de dar uma aula

sobre algum aspecto de uma tecnologia em que você gostaria de se aprofun-

dar. Como você verá em Seja um mentor, capítulo 14, o ensino é uma das

melhores maneiras de aprender.

36

Capítulo 9

Não coloque todos os seus ovos

num só cesto

Uma vez, enquanto gerenciava um time de desenvolvedores, eu perguntei a um dos

meus funcionários: O que você quer fazer com sua carreira? O que você quer ser?

Fiquei muito decepcionado com sua resposta: Quero ser um arquiteto J2EE Eu

perguntei: Por que não

um designer Microsoft Word ou um instalador RealPlayer?

Ele queria fazer sua carreira em torno de uma tecnologia específica, criada por

Ваша оценка очень важна

0
Шрифт
Фон

Помогите Вашим друзьям узнать о библиотеке