Para se comunicar com a tecnologia precisamos saber falar a linguagem dela. Em um ambiente de trabalho cada vez mais digital, a programação entra de forma incisiva no dia a dia das pessoas. Assim, está cada vez mais alta a procura para saber o que faz um desenvolvedor Python que é uma das linguagens mais procuradas do momento.
Saber programar por muito tempo foi visto como algo complicado e apenas para “nerds”. Mas isso vem mudando. A complexidade das linguagens também diminuiu. Muita coisa mudou desde o assembler, pascal e C , consideradas de baixo nível. As linguagens ficaram muito mais fáceis e mais próximas da linguagem humana.
O alto compartilhamento de bibliotecas também faz com que poucas linhas de código consigam produzir trabalhos extremamente complexos.
E quando falamos em novas linguagens, o Python se destaca.
Em uma pesquisa realizada pelo site Stack Overflow em 2018, ela foi considerada a 3ª linguagem “mais amada” no mundo e com tendência de crescimento. O fato de ser uma linguagem aplicada para vários objetivos como desenvolvimentos de apis, backend, sites e data science faz com que ela cresça rapidamente.
No Brasil, já é uma das linguagens com mais carência de mão de obra qualificada, apesar de sua alta demanda, o que é um prato cheio para se tornar um desenvolvedor Python.
Isso é uma grande oportunidade para quem deseja ter bons salários e trabalhar em empresas de tecnologia. Chegou então a hora de você entender melhor esse mundo e o que você precisa para se profissionalizar. Vamos lá:
Mas o que faz um Desenvolvedor Python?
A sua ampla diversidade de frameworks e bibliotecas permite várias aplicações. Você pode usar ela para a criação de website utilizando Django. Ou criar um jogo 2d usando Pygames que já possui bibliotecas de identificação de colisão por exemplo.
Outra área que vem usando muito essa linguagem é a de Data Science. Com os dados disponíveis em vários ambientes, uma tarefa importante é tratá-los e processá-los, tanto para gerar automação quanto para gerar processamentos complexos usando inteligência artificial.
Com esse arsenal de possibilidades, o crescimento de Python fica evidente em gráficos como esse do Google Trends:
Qual é o perfil do programador Python
Algumas características são importantes na hora de responde a pergunta: o que faz um desenvolvedor python. Apesar de ser uma linguagem de alto nível que facilita o seu uso, algumas habilidades são importantes:
Analítico
Um desenvolvedor python precisa gostar de lidar com dados e informação é algo fundamental em um bom desenvolvedor. Saber olhar uma estrutura de código e identificar seu fluxo é algo que irá fazer parte do seu dia. Lembre que você vai lidar não somente com seu código, mas muitas vezes vai copiar outros códigos da internet e precisará entender antes de trabalhar com ele.
Facilidade com exatas
A programação se baseia em diversas estruturas lógicas. Quem tem facilidade com exatas geralmente consegue identificar todas as possibilidades de fluxo com facilidade além de encontrar soluções criativas para os problemas que precisará lidar.
Organização
Escrever uma linha de código para ler os dados do seu CRM e inserir na sua planilha do Google Sheets pode ser fácil. Mas com o tempo, você começa a gostar “da brincadeira” e começa a desenvolver códigos mais complexos. E grande parte dos problemas de softwares acontecem por não ter um código organizado e bem estruturado.
Se não for feito de forma organizada, começam a aparecer duplicidade de códigos com o mesmo objetivo prejudicando a produtividade e dificultando a manutenção futura. Assim, quando algo muda na sua regra de negócio, você precisará mudar em vários lugares ao mesmo tempo. Pode ter certeza, que isso irá gerar muita dor de cabeça. O que não aconteceria se seu código estivesse bem organizado e com nomes legíveis.
Gostar de aprender
Em tempos de internet, você não precisa “reconstruir a roda”. Muita coisa já está pronta e validada. Principalmente quando se fala em programação. Por isso, gostar de aprender vai fazer com que você esteja sempre atualizado e acima de tudo busque soluções no “Dr. Google”. Se você está escrevendo várias linhas de código para resolver uma função, pense bem, pois provavelmente já existe alguma função pronta para ser usada.
Caso você queira saber mais se você tem o perfil para ser um desenvolvedor Python, vale ver esse artigo sobre mudança profissional que ajuda a entender onde você melhor se encaixa nas novas profissões.
As habilidades técnicas que um Programador Python deve desenvolver
Lógica de programação
Existem várias linguagens de programação, mas a grande maioria delas tem em comum o conceito de lógica de programação. Os conceitos de variáveis, condições lógicas, laços de repetições são requisitos básicos para um programador. Depois de saber esses requisitos, fica muito mais fácil migrar de uma linguagem para outra. Por exemplo, mostramos abaixo um código para descobrir se um número é par em três linguagens diferentes:
Python
num = int(input(“Digite um número par: “))
if(not num % 2):
print(“O número digitado é par.”)
else:
print(“O número digitado é ímpar.”)
PHP
$num = $_POST[“num”];
if($num % 2 == 0){
echo “O número informado é par”;
}else{
echo “O número informado é impar”;
}
Javascript
var numero = 10;
var resto = numero % 2;
if(resto == 0){
alert(“par”);
}else{
alert(“impar”);
}
Percebe as semelhanças? O conceito principal aqui é o de lógica de programação. Como você vai descrever o que você deseja vai depender da sintaxe da linguagem, que é o nosso próximo assunto.
Sintaxe da linguagem
Saber como expressar sua lógica de programação será executado através da linguagem que você escolheu. E como vimos, existem diferenças entre elas, apesar de conceitos muitos semelhantes. Algumas das linguagens mais conhecidas são:
C++
C#
Java
JavaScript
Python
Ruby
PHP
Pascal
Python
Cada linguagem possui características específicas como variedade de tipagem (referente a necessidade de declaração do tipo da variável), Polimorfismo, Orientação a objeto, Grau de abstração entre outras características.
Na prática, essas definições vão tornar a linguagem mais fácil de usar ou não. Vai impactar também na velocidade de execução. A quantidade de bibliotecas e frameworks disponíveis podem também variar dependendo da linguagem. O Python tem como uma de suas características, ser aplicada em vários contextos, justamente pelo volume alto de códigos disponíveis.
Se você deseja dar o primeiro passo, uma opção é fazer o curso GRATUITO de python elaborado pelos facilitadores da Harve, vale muito a pena.
Estrutura de servidor e hospedagem
Depois de desenvolver seu projeto na sua máquina você irá desejar disponibilizá-lo em produção para ser acessado pelos usuários. Para isso, existem várias estruturas de servidores que deixarão o código disponível na internet.
Aplicações mais simples costumam usar servidores compartilhados que possuem excelentes ferramentas amigáveis para gerenciamento e acesso a suporte. Para aplicações mais complexas, você poderá precisar recorrer a servidores mais complexos como Amazon, Azure da Microsoft entre outros. Eles permitem diversas customizações e alto poder de execução. Porém, saber configurá-lo e dar manutenção nesses servidores acaba sendo muito mais complexo.
Por mais que você esteja em uma equipe com alguém responsável por cuidar dessa área, saber os conceitos básicos serão importantes para o seu dia a dia.
Banco de dados
A linguagem de programação é responsável pelo processamento. Porém, o armazenamento das informações em grande parte é realizada pelo banco de dados. Cada linguagem possui bibliotecas para acessar essas informações, alterá-las ou excluí-las. Os principais bancos de dados usados atualmente são:
MySql
Sql Server
Oracle
PostgreeSql
MongoDB
Os banco de dados podem ser relacionais ou não relacionais. O banco de dados relacional oferece maior consistência e confiabilidade, mas exige o relacionamento entre várias tabelas para o acesso à informação. Já o não relacional tem como vantagem uma escalabilidade maior, com a informação agrupada e armazenada no mesmo registro.
No mercado, ainda a grande maioria dos banco de dados são relacionais. Trabalhar com eles irá exigir algumas habilidades e conceitos de estrutura de informação como relacionamento entre tabelas, tipo de dados, triggers, chave primária, secundária entre outros. Para manipular tudo isso, você poderá precisar conhecer SQL, o que permitirá muitas vezes trazer desempenho, na medida em que ele permite que você gerencie as informações diretamente na base de dados, antes de passar para o código de programação. Isso economiza processamento e memória do servidor.
Orientação a objetos
Esse é um paradigma de programação que atualmente é usado pela grande maioria das linguagens. A programação iniciou com linguagens trazendo um paradigma imperativo. Ele é simples pois apenas segue as etapas criadas nas linhas de código. Por exemplo:
- Ler uma variável;
- Identificar se ela é par;
- Se sim, imprime na tela “par”;
- Caso contrário, imprime na tela “ímpar”;
Ela funciona para códigos simples, com pouca necessidade de reutilização. Porém, conforme os códigos começaram a ficar mais complexos, fica inviável dar manutenção. Por isso, começou-se a utilizar a orientação a objetos.
Ela permite que criemos classes para representar entidades que poderão ser utilizadas durante o código. Por exemplo, se estou desenvolvendo um código para gerenciar notas fiscais, posso criar uma classe chamada “NotaFiscal”. Essa classe conterá variáveis e funções relacionadas que pode ser utilizada conforme a sua necessidade. Em um exemplo, temos a classe NotaFiscal que contém dentro dela variáveis como idnotafiscal, razaosocial, cnpj e funções como Carregarnota, Salvarnota e Enviarnotaparareceita.
Veja agora o que são as funções e sua aplicação na prática!
APRENDA SOBRE FUNÇÕES E MUITO MAIS AGORA MESMO
Ao precisar manipular uma nota fiscal, ao invés de criar essas funções, você pode declarar uma variável do tipo “NotaFiscal” e utilizar todos os recursos que ela disponibiliza. Isso gera economia de código e facilidade de manutenção na medida em que ao precisar alterar algo, é possível mudar em apenas um único lugar.
Versionamento
A partir do momento em que se trabalha em equipe, você precisa manter o código atualizado entre os desenvolvedores. Isso é feito através das aplicações de versionamento que ficam instaladas em um servidor e é acessada por todos. Ela é responsável por manter as alterações atualizadas e permitir voltar a determinada versão, caso algum problema seja detectado.
Algumas ferramentas de controle de versão são o CVS, Subversion, TFS e Git.
Html / CSS / javascript (Desenvolvedor com foco web)
Ao se trabalhar com aplicações web, temos geralmente duas divisões de programação. O backend que é o código processado no servidor, geralmente responsável por manipular o banco de dados e processar ações e o frontend que é o código processado no browser do cliente, geralmente relacionado a definição de elementos, design e pequenos processamentos relacionado às interações do usuário. O frontend é executado pelo browser de internet do cliente, o qual processa html (estrutura de elementos), css (definições de estilo e design) e javascript (processamentos no cliente).
No mercado, a maioria das empresas têm desenvolvedores backends e frontends na equipe, afinal são mundos bem distintos. Assim, no dia a dia, pode ser que você acabe usando pouco conhecimento relacionado ao front end. Também existe o conceito de desenvolvedor full stack, porém ainda são poucos profissionais que possuem a habilidade de atuar nos dois lados.
Ferramentas do dia a dia
Para entender ainda mais a fundo o que faz um desenvolvedor python, fizemos essa pergunta ao Felipe Brandão, atualmente Cientista de dados no Ebanx. Segundo Felipe: “Ao atuar com Python, você trabalha muito com o terminal. Terminal é uma ferramenta que o pessoal usa muito.” O terminal é um ambiente extremamente simples, onde o código é processado. No entanto, você pode também utilizar uma IDE (Integrated Development Environment) que se conecta a linguagem de programação e traz diversos recursos para facilitar o desenvolvimento como Spyder, Atom ou Visual Studio Code.
Dependendo do porte da sua equipe e do objetivo do projeto, você poderá precisar de outras ferramentas como banco de dados, versionador e ferramenta de projetos.
Quais empresas estão contratando?
Segundo Felipe, aqui em Curitiba uma grande startup que é referência em desenvolvedores Python é a Olist.
Outra referência em Curitiba na linguagem também é a Celero.
Empresas de tecnologia que possuem seu produto principal em Python tem a necessidade grande por um desenvolvedor Python para desenvolver seu projeto.
Mas com o aumento de empresas atuando com data science e automação, abriu-se uma procura gigante por desenvolvedor Python. Empresas de vários segmentos e indústrias acabam procurando por esse profissional para dar suporte dentro dos departamentos ou no setor de data science.
Esse movimento ainda está iniciando mas é uma grande tendência do mercado. Com o grande volume de dados, todas as empresas começam a precisar de especialistas dentro delas para tratar, manipular e predizer inteligência através dessas informações. E o Python cai como uma luva para essa função.
Salários
“A demanda por desenvolvedor Python é absurda” segundo Felipe. Deve ser a segunda linguagem que mais tem vaga aberta possível. Programadores Jr. tendem a ganhar melhor em relação a outras linguagens até pela escassez do mercado de desenvolvedores Python. Como a maioria do pessoal de desenvolvimento acaba indo para as linguagens clássicas como PHP JavaScript e Java a demanda que tem hoje muito alta por desenvolvedor Python faz com que geralmente ganhem mais. Em termos de valores em Curitiba, um desenvolvedor Jr. em Python clássico parte de R$3.000,00. Mas encontramos empresas pagando bem mais alto. Como uma referência de Jr. R$3.000,00 é um número bem encontrado no mercado.
Você pode dar uma consultada nas vagas abertas em tempo real de Pyhton nos links abaixo:
Vagas de Python para Curitiba – Linkedin
Vagas de Python para Curitiba – GeekHunter
Vagas de Python para Curitiba – Indeed
Vagas de Python para São Paulo – Linkedin
Vagas de Python para São Paulo – GeekHunter
Vagas de Python para São Paulo – Indeed
Aplicações práticas
1 – Criar um algoritmo que consegue identificar flores utilizando Python e Scikit-learn
Quando falamos em Inteligência artificial e machine learning (aprendizado de máquina), temos geralmente um conceito de áreas complexas, mesmo para desenvolvedores. Porém, isso vem mudando principalmente devido a linguagens como Python que contém inúmeros recursos para essa área. Um artigo escrito por Paulo Vasconcellos ensina como identificar se uma flor Íris é do tipo Setosa, Versicolor ou Virginica através dos dados de suas pétalas. Para isso, ele fornece uma base de dados para treinar o algoritmo com 150 samples e dá um passo a passo de como desenvolver. É um ótimo treino para quem quer começar.
2 – Crie um algoritmo para identificar tipos de roupa pelas imagens usando TensorFlow e Python
Imagine a demanda de um e-commerce de médio porte que precisa cadastrar os dados de cada peça de roupa. E se o sistema automaticamente reconhecesse o tipo de roupa, o tamanho, cor entre outras informações através da imagem. Você pode fazer isso! Um primeiro passo é seguir esse artigo. Nele, tipos de roupas são reconhecidos através da imagem.
Para isso, é utilizado uma base de dados com 60.000 imagens para treinar o algoritmo.
3 – Gere gráficos usando Matplotlib e Python
Sim, para gráficos simples você pode usar o Excel ou o Google Sheets. Mas se você precisa de gráficos mais complexos e interativos, o Python vai te ajudar com bibliotecas como a Matplotlib.
Caso queira ver um pouco na prática, confira este vídeo da nossa série Minuto Data Science:
COMECE AGORA A PROGRAMAR EM PYTHON POR 4X DE R$47,25
4 – Crie um script em python para integrar seu sistema de vendas com o seu software financeiro usando zapier e python
Utilizamos cada vez mais aplicativos para gerenciar os dados e ações do nosso dia a dia. São planilhas, e-mails, CRM, ERP entre outros que invadem nossos computadores e celulares. E o fato é que não vivemos mais sem eles. Mas chega um momento onde você começa a sentir a necessidade de integrar os dados entre as aplicações. Assim você evita trabalho manual e além disso, pode gerar automações customizadas conforme a informação. Para esse tipo de tarefa, nasceram integradores como Zapier e Automate.io. Eles aproveitam o fato das ferramentas abrirem seus dados através de apis e permitem realizar tarefas de forma automatizada e sem necessitar conhecer programação.
No exemplo abaixo, ao fechar um negócio no CRM, o zapier inicia uma série de ações, onde primeiro filtra o nome, encontra a taxa de juros adequada para a venda em uma planilha no google sheets, insere no sistema financeiro e manda um e-mail de boas vindas para o cliente.
O Zapier usa funções criadas a partir das possibilidades que a api fornece, como por exemplo, inserir um novo cliente no sistema financeiro. No entanto, as apis geralmente contém mais funções do que as implementadas no zapier. E se você precisa de uma dessas funções, o jeito é utilizar um código de Python dentro do fluxo para executar essa ação. No exemplo acima, a geração de boletos não está implementada no zapier, mas pode ser executada através de um código em Python dentro do fluxo.
5 – Inicie sua startup desenvolvendo uma aplicação web usando Django e Python
Quando falamos em sites institucionais, temos vários CMS consolidados como WordPress e Joomla. Eles são desenvolvidos em PHP e possuem diversos plugins e templates que facilitam o desenvolvimento dessas aplicações. Porém, se você deseja criar uma aplicação personalizada, com regras de negócios próprias, Python se torna uma linguagem muito interessante. Tanto que você encontra ela nos códigos do Instagram, Netflix, Spotify, Facebook, Google entre outras aplicações famosas.
Para aplicações web, o Python possui alguns frameworks. Um dos mais famosos é o Django que permite você criar um sistema administrativo com interface amigável em 15 minutos. Para saber mais, segue um artigo que ensina passo-a-passo como criar um aplicação web utilizando Python e Django.
6 – Crie uma api para disponibilizar dados para outros aplicativos usando python
Você já deve ter ouvido a expressão, “dados são o novo petróleo”, certo? Isso se deve não apenas pela tendência dele ser utilizado internamente, mas sim pelo fato de que ele começa a se tornar um produto que pode ser comercializado. Você pode por exemplo, desenvolver um algoritmo de previsão de preço de ações da bolsa e vender essa informação através de api para ser utilizada pelos seus clientes.
7 – Consuma webservices de outras aplicações utilizando Python
Devido a sua versatilidade, a linguagem acaba sendo uma opção interessante para automação e integração entre aplicativos. A grande maioria dos aplicativos possuem APIs para disponibilizar dados. Você pode por exemplo, precisar integrar com os correios para á partir de um CEP, obter o endereço completo. Para isso, você pode utilizar o Python. Algumas integrações já possuem bibliotecas prontas como nesse caso, temos o PyCEPCorreios. Outras precisarão ser desenvolvidas, como ensinada nesse artigo.
8 – Desenvolva jogos utilizando Pygame e Python
Essa é uma prova da versatilidade de Python. São poucas linguagens que possuem bibliotecas avançadas para desenvolvimento de jogos. Isso se deve a complexidade que um jogo envolve no que se refere a controle de multimídia e interação do usuário, além de necessitar cálculos complexos como detectar colisão de objetos.
No caso de Python, a Pygames facilita muito o seu trabalho, permitindo que jogos complexos sejam criados em pouco tempo. Segue aqui um artigo para você começar a brincar com essa biblioteca.
Como começar
Como vimos, oportunidade é o que não falta para quem deseja desenvolver em Python. Na internet você pode encontrar vários materiais que ajudam a resolver questões técnicas sobre o que faz um desenvolvedor web. Para se profissionalizar na área com profissionais referências no mercado em uma metodologia prática, temos o Curso de Python em Curitiba de 2 meses de duração. Esperamos ver você conosco!
Neste artigo nós aprendemos:
No que o Python é aplicado?
O Python é aplicado em vários objetivos tais como desenvolvimento de Apis, backend, sites e data science.
Como está o mercado de profissionais de python?
No Brasil python é uma das linguagens com mais carência de mão de obra qualificada, apesar da alta demanda. Isso é uma grande oportunidade para quem deseja ter bons salários e trabalhar em empresas de tecnologia.
Onde se aplica o Python?
A sua ampla diversidade de frameworks e bibliotecas permite várias aplicações. Você pode usar ela para a criação de website utilizando Django. Ou criar um jogo 2d usando Pygames que já possui bibliotecas de identificação de colisão por exemplo. Outra área que vem usando muito essa linguagem é a de Data Science.
Salários
Em termos de valores em Curitiba, um desenvolvedor Jr. em Python clássico parte de R$3.000,00. Mas encontramos empresas pagando bem mais alto. Como uma referência de Jr. R$3.000,00 é um número bem encontrado no mercado.
Deixe um comentário