Por que eu escolhi ser programador / Saber programar em uma ou várias linguagens?

O post de hoje possui dois assuntos, ambos voltados ao desenvolvimento de software. O primeiro é sobre por que eu escolhi ser programador (e por que talvez seria bom você escolher essa profissão). O segundo é sobre saber programar em uma ou em mais linguagens de programação.

Antes de eu entrar na FATEC de Praia Grande e cursar o curso de Tecnologia em Informática com Ênfase em Gestão de Negócios, eu pensava em ser professor de matemática e dar aulas em escolas públicas e particulares, da quinta série até o ensino médio, ou ser técnico de computadores, dando manutenção em PCs, consertando-os, montando-os, resolvendo pepinos no sistema operacional, etc, já que eu tinha feito um curso de hardware numa escola profissionalizante. Aí eu acabei passando no único vestibular que eu tinha feito, que era o da FATEC de Praia Grande (passei em décimo segundo lugar entre 254 candidatos, mesmo sem ter estudado para a prova) e cursei aquele curso, no período da tarde.

No curso, aprendi muitas coisas, como o uso e administração de banco de dados, com ênfase no Oracle e sua linguagem PL/SQL; análise de sistemas, que engloba a elaboração dos requisitos do programa, dois casos de uso e criação de diagramas diversos, incluindo o diagrama UML; lógica de programação e estrutura de dados, ambas as matérias usando a linguagem de programação C++ como base; linguagem de programação Java, tanto para desktop quanto para web; gerência de projetos, com ênfase na metodologia PMI; matérias teóricas acerca de sistemas de informação; planejamento de negócios, onde aprendi a elaborar um plano de negócios a fim de montar um negócio próprio; etc, além de matérias menos importantes, como filosofia, recursos humanos, cálculo numérico, computação gráfica, matemática (matrizes e vetores), estatística, marketing, inglês e espanhol, e outras.

Um profissional formado no curso que eu fiz pode atuar em diversas áreas relacionadas ao conteúdo do curso explanado no parágrafo anterior. Pode atuar tanto na área de gestão de negócios (a metade do curso é formado por matérias relacionadas a gestão de negócios) quanto em profissões voltadas à informática, como programador, analista de sistemas, administrador de banco de dados, etc. Para cada profissão, o profissional deve, além de usar o conhecimento obtido no curso, se aprofundar na área buscando conhecimento de outras fontes (cursos específicos, principalmente), uma vez que o curso de Tecnologia em Informática com Ênfase em Gestão de Negócios (que atualmente chama-se Informática para Gestão de Negócios e teve algumas alterações a fim de melhorar o mesmo) não ensina tudo (nem existe curso que ensine tudo), mas dá uma boa base para ir começando e depois se aprofundar na profissão escolhida.

Dentre essas profissões relacionadas, eu escolhi ser programador. Como no curso houve uma ênfase maior na linguagem de programação Java, foi natural eu escolher programar nessa linguagem. Posteriormente, me aprofundei nos meus conhecimentos em Java obtendo a certificação SCJP (fiz um post sobre a obtenção dessa certificação neste blog inclusive) e estudando por conta própria por livros e tutoriais na Internet. Pretendo no futuro tirar mais certificações Java (a próxima será a SCWCD, que agora é OCWCD, uma vez que a Sun foi comprada pela Oracle), além de fazer cursos com conhecimentos mais avançados.

Mas por que eu decidi ser programador, e não analista de sistemas ou administrador de banco de dados, por exemplo?

O principal motivo é que programar é uma coisa que me dá prazer (tá, sexo também me dá prazer, mas acho muito perigoso trabalhar como profissional do sexo, além da concorrência estar brava nesse ramo). Eu sinto prazer em criar aplicações (e também alterar aplicações já existentes, melhorando-as) e vê-las funcionando bem, fazendo o que foram projetadas para fazer. Gosto tanto de programar que programo não apenas profissionalmente, como também por hobby, desenvolvendo meus projetos pessoais de software, como o Robowebert Player e o AOPT, ambos já citados aqui neste blog.

Outro motivo é a grande quantidade de vagas de emprego existentes no mercado de trabalho. Devido à escassez de profissionais qualificados em desenvolver softwares (e para piorar a situação, há os qualificados que não sabem programar direito), aliada à alta demanda por esses profissionais, uma vez que milhares de sistemas precisam ser desenvolvidos do zero ou alterados a fim de ficarem aos gostos dos clientes, os profissionais que se qualificam têm praticamente emprego garantido (apesar do primeiro emprego como programador ser um pouco mais difícil de se conseguir, devido à falta de experiência e ao fato do fato da maioria dos empregadores exigir experiência anterior, mas há quem contrate programadores sem experiência, além de ser possível obter experiência por conta própria, desenvolvendo sistemas como autônomo, ou começar como estagiário), com um salário maior do que muitas profissões por aí (a não ser que comece como estagiário), ainda que o mesmo não seja tão grande nos primeiros empregos.

Um outro motivo, este um pouco polêmico, pois não é um consenso entre os programadores, é o salário, que eu acho que é um bom salário. Eu não vou dizer o quanto eu ganho, mas é o suficiente para pagar minhas contas e juntar um pouco na poupança. Mas há os que acham que não ganham um bom salário, agora vai saber que salário eles ganham… Já vi gente achar um valor que era mais ou menos o que eu ganhava aviltante (vai saber quais são as necessidades de dinheiro do cara, como ele administra o dinheiro dele…), já vi gente exigindo salários muito altos e irreais e já vi gente se contentando com um pouco mais da metade do que eu ganho atualmente para fazer a mesma coisa que eu faço.

Um programador de início de carreira não vai ganhar um salário tão alto, mas a medida que ele vai ganhando experiência, seu salário vai aumentando, seja com aumento salarial dado pela empresa onde trabalha ou quando esse programador muda de emprego, sendo contratado por uma outra empresa que paga um salário maior do que a empresa anterior, visto que agora possui mais experiência profissional do que quando entrou no emprego anterior.

Ainda na questão do salário, a relação esforço/remuneração, em minha opinião, é melhor do que a de outras profissões relacionadas à informática, como a de técnico de computadores, que é uma relação bem ruim, pois um técnico ganha muito menos e se esforça muito mais do que um programador (eu ensaiei ser técnico e vi o esforço que era, além de assuntar quanto um técnico ganhava), ou a de administrador de servidores.

Um programador, por saber programar, caso tenha alguma necessidade não suprida por algum programa de computador existente, pode criar o seu próprio programa que satisfaça essa sua necessidade, sem depender de algum outro programador ou empresa que desenvolva esse programa. Pode também alterar um programa já existente, adaptando-o às suas necessidades.

São basicamente esses cinco motivos de por que eu escolher ser programador. Talvez haja mais algum outro que eu não me lembre, mas o mais importante é isso.

Emendando um assunto no outro, existe a questão de saber programar em uma ou em mais linguagens de programação. O que seria melhor para o profissional de desenvolvimento de software, saber apenas uma ou saber um monte delas?

No mercado de trabalho, há vagas para trabalhar como programador de várias linguagens de programação, algumas tendo mais vagas que outras (Java, C# e VB.net costumam ter muitas vagas). Sabendo mais de uma, teoricamente, o programador possuirá mais chance e mais qualificação no mercado de trabalho.

Já vi alguns afirmarem que o melhor é saber várias linguagens, pois o mercado de trabalho pode mudar e uma outra linguagem passar a ser mais usada que outra, ou porque sabendo várias, o programador tem mais chance de ser contratado, ou outros motivos. Mas há um porém de saber várias linguagens de programação: você acaba dividindo seus estudos entre várias e não aprofunda seus conhecimentos em nenhuma, muitas vezes sabendo apenas o básico de cada uma delas. Aí não vai adiantar nada saber mais de uma e não saber programar direito em nenhuma, cometendo erros de, por exemplo, na linguagem Java, comparar Strings com dois sinais de igual ao invés de usar o método equals (eu já cheguei a, neste blog, dedicar dois posts para enumerar erros irritantes cometidos por programadores Java, e talvez eu dedique outros no futuro) ou não saber usar uma biblioteca na qual o uso da mesma é melhor do que uma outra que é mais simples e mais arcaica, mas que é a única que o programador sabe (por exemplo, o programador não saber JPA e fazer a persistência dos dados no banco de dados com JDBC, que é bem mais trabalhoso).

Muitas vagas para se trabalhar programando em uma linguagem requerem conhecimentos específicos em frameworks e bibliotecas e um profissional que não se aprofunda nessa linguagem terá menos probabilidade de saber esses conhecimentos específicos.

E não apenas os estudos são divididos entre várias linguagens de programação: a experiência profissional pode acabar também sendo dividida. Há vagas que requerem um ou mais anos de experiência com a linguagem em questão. Se você dividiu sua experiência profissional entre várias linguagens, irá demorar mais para obter os anos de experiência em cada uma das linguagens.

Então o programador deve saber apenas uma linguagem e se aprofundar somente nela? A resposta é: Não. Apesar de as linguagens de programação não ficarem obsoletas e deixarem de ser usadas da noite para o dia e de haver muitos sistemas legados, feitos em linguagens antigas, como Cobol e Clipper, que demandam manutenção por serem usados até os dias de hoje, pode ocorrer de, no futuro, uma determinada linguagem outrora popular deixar de ser tão usada (foi o que ocorreu com o Delphi, por exemplo, que era uma linguagem muito popular aqui no Brasil, mas atualmente não é tão usada pelas empresas ao implementar sistemas novos, a não ser uma ou outra empresa). Além disso, há softwares que são melhor implementados usando determinadas linguagens do que outras devido a particularidades dessas linguagens.

O que eu aconselho é se aprofundar em uma em específico e, após estar bem aprofundado nessa linguagem, começar a aprender uma segunda linguagem (ou até uma terceira linguagem, caso deseje aprender duas de uma vez, aí depende de você), mas sem se estagnar na primeira, pois as plataformas de desenvolvimento de software estão em constante evolução, mesmo linguagens antigas, como C e C++. Se você sabe lógica de programação, já é meio caminho andado para se aprender uma linguagem nova e sua sintaxe (a outra metade do caminho são os conhecimentos específicos que estão além da sintaxe da linguagem). Aí, com o tempo, você vai se aprofundando nessa segunda (ou terceira) linguagem, podendo, dependendo de seus conhecimentos, atuar profissionalmente utilizando as mesmas.

O ideal é saber pelo menos umas duas ou três, mas se você é iniciante no desenvolvimento de software, uma já é mais que o suficiente.

Antes que me perguntem, além do Java, que a linguagem na qual eu programo profissionalmente, eu sei um pouco de C e C++ (estou aprendendo ambas ao mesmo tempo por serem semelhantes, apesar de que, por falta de tempo momentânea, parei de estudá-las), JavaScript (inclusive usando a biblioteca JQuery, a uso bastante no ambiente de trabalho na interação do usuário com o navegador, se bem que JavaScript não é bem uma linguagem de programação como Java, C# e outras), PL/SQL (também não é bem uma linguagem de programação como Java, C# e outras, mas dá para programar nela, tal qual JavaScript, é uma linguagem do banco de dados Oracle) e um pouco (muito pouco) de Delphi/Lazarus. Pretendo me aprofundar nessas linguagens e aprender outras no futuro.

Por hoje é só, até o próximo post.

About these ads

2 Respostas to “Por que eu escolhi ser programador / Saber programar em uma ou várias linguagens?”

  1. William Says:

    Gostaria de te fazer uma pergunta. Antes de tudo, não trabalho profissionalmente com informática, sou professor de filosofia. Cursei graduação e mestrado em filosofia, e ensino em faculdades particulares. Porém, a alguns anos trabalhei como técnico de informática e fiz alguns cursos, conheci o universo linux, e de lá pra cá não parei mais de estudar (como hobby) administração de sistemas linux (debian, pra ser mais exato), e shell script. O que gostaria de perguntar é se você considera Shell Script uma linguagem de programação, e qual é, para você a importância desta linguagem?
    Parabéns pelo Blog!

  2. Apesar de não ter o poder das linguagens de programação tradicionais, Shell Script pode sim ser considerada uma linguagem de programação, ainda que seja uma programação focada apenas em automatizar tarefas de ambientes Unix-like, como o GNU/Linux. Na verdade, programas de computador nada mais são do que automatização de tarefas. E existem até programas feitos inteiramente em Shell Script.

    Com relação à importância dessa linguagem, ela é importante mais para os administradores de sistemas Unix-like, pois é um conhecimento bastante requerido nessa área. E geralmente, quando há vagas de trabalho para “programador Shell Script”, geralmente a vaga é focada no uso do Shell Script na administração de sistemas Unix-like. De qualquer forma, aprender esta linguagem dá uma base de lógica de programação que auxilia o aprendizado de outras linguagens, como Java ou C.

Comente este post!

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Junte-se a 99 outros seguidores