Post on 18-Dec-2014
description
MC133 - IT Skills para RH: Aprender e Contratar
Tudo que um profissional de RH precisa saber sobre o mundo de T.I
Alexandre Uehara
Analista / Desenvolvedor de Software. Pesquisa & Desenvolvimento e Inovação.
Atualmente trabalho na Netshoes.
Atua há mais de 10 anos na área, tanto no mercado de e-commerce, seguros, governamentais, sistemas críticos,
etc.
Geek e nerd, trabalha com Python, Java, C, Big Data, NoSQL, e outras coisas mais que aparecem no dia a dia.
Realiza treinamentos de TI para RH.
Quem sou eu?
Cronograma
1. Software x Hardware2. Tipos de Projetos3. Estrutura de uma área de TI
○ Comercial○ Análise○ Arquitetura○ Desenvolvimento, etc...
4. Diferentes tecnologias (para que serve?)○ Metodologias○ Processos○ Linguagem de Programação○ Banco de Dados
5. Vamos ver algumas vagas?
6. O que o mercado diz
7. O outros lado: O candidato
8. Dicas pessoais
1. Pergunta:Qual a diferença entre Software x
Hardware?
"Software é o que você xinga, Hardware é o que você chuta"
Hardware
Software● Sistema operacional
● Editor de texto / planilha
● Editor de Imagens
Software
● Editor de videos
● Players de vídeo e música
● Jogos
● Browser
2. Tipos de Projetos
● Desktop
● Web
2. Tipos de Projetos
● Embarcado
● Mobile (celular, tablet)
3. Estrutura da Área TI
Estrutura da Área TI● Comercial● Gerente de Projetos● Análise
○ Aqui entraram os mais variados analistas:○ Analista de Requisitos, Analista de Negócios, Analista
Sistemas, Analista de Processos, etc...
Estrutura da Área TI● Arquitetos de Software● Coordenador Técnico● Desenvolvimento (projetos e sistema / manutenção
- bugs)● Tester● TI - Infra estrutura
○ Rede○ Suporte○ etc...
Analistas
● Analistas● Análise do sistema antes de ser construído● Levantamento de requisitos (do sistema)● Requisito funcional e não funcional● Entendimento do Negócio● Contato com cliente, entrevistas com cliente● "Elo" de ligação entre cliente e desenvolvedor● Documentação, documentação, documentação....
Mundo Real ● Analistas podem divergir com desenvolvedores● Desenvolvedores tem que ser um "pouco" analista● Desenvolvedor que entende do "negócio" é
valorizado ● Há projetos que desenvolvedores são analistas
Front End - Designer / Web
Designer
● Front End● Designer / Web Designer, etc...● É o que o cliente vê● Telas, Layout● etc...
● Design (tela)
● Design (tela)
Análise
Programador / Desenvolvedor
● Programador / Desenvolvedor○ Escrevem Códigos○ Trabalham nos "bastidores" (diferente do front -end)
● Tipos de Projetos:○ Desenvolvimento de novo Sistema○ Manutenção de Sistema / Bugs
Banco de Dados
● Banco de Dados● Armazenamento de Dados● SQL - Structured Query Language (Linguagem de Consulta Estruturada)
● Banco de Dados● DBA - Admistrador de Banco de Dados
○ parte física,○ backup,○ segurança,○ espaço em disco, etc.
● DA / AD - Admistrador de Dados○ dados em si,○ documentação,○ integridade dos dados,○ estrutura lógica etc
TI - Infra Estrutura
● Ti - Infra estrutura● Suporte● Datacenter, ● rede, ● Internet,● servidores,● Desktop / Notebook,● Celulares / Tablets
Importante!● Todos tem de saber um pouco de tudo!
Ex: Desenvolvedor tem de saber banco de dados
Ex: Desenvolvedor tem de saber um pouco de análise
Ex: Infra tem de saber um pouco de programação
etc...
4. Diferentes Tecnologias
● Cada área tem sua própria tecnologia:● Comercial● Gerentes de Projetos● Análistas● Programador / Desenvolvedor● Designer / Web Designer● Testers● etc...
Sopa de Letrinhas
MetodologiaCascata
RUP (IBM)
Metodologia Ágil
Mundo Real ● Novo conceito ● Diferente de metodologia "cascata" ● Mais adequado a TI ● Outras metodologias pensam como "Construção Civil" ● Requisitos mudam frequentemente ● Mais iterativo, ágil ● Resistência entre os "dinossauros"
Scrum
● Outros:● Kanban● XP● Lean
● Palavras chaves (Metodologia ágil) ● Agile ● TDD (Test Driven Development) ● Refactoring ● Pair programming ● etc
Analistas
● "A UML não é uma metodologia de desenvolvimento, o que significa que ela não diz para você o que fazer primeiro e em seguida ou como projetar seu sistema, mas ela lhe auxilia a visualizar seu desenho e a comunicação entre objetos."
Wikipedia
● Permite que desenvolvedores visualizem os produtos de seus trabalhos em diagramas padronizados
Diagramas:● Caso de Uso ● Estado ● Classe ● Objeto ● Componente
● Instalação ● Pacote ● Estrutura ● Atividade ● Sequência ● Tempo ● etc.
● Diagrama: ● Ferramentas Case (desenho de diagramas UML)
○ Jude○ IBM Rational○ Posseidon○ Umbrello○ Erwin○ Enterprise Architect (EA)○ Microsof Visio
Enterprise Architect (EA)
Front End - Designer / Web
Designer
● Design (tela)○ Designer○ Web Designer○ HTML (não é linguagem de programação)○ CSS○ Flash○ HTML5○ Javascript○ Photoshop○ Usabilidade○ etc...
Análise
Programador / Desenvolvedor
● Desktop:○ Java(ex: Swing)○ C#○ C++○ C, etc....
● Web:○ Java○ C#○ ASP.NET○ PHP○ ASP, etc...
● Mobile:● Java● Objective C
Framework?
● "Framework é um conjunto de classes que colaboram para realizar uma responsabilidade para um domínio de um subsistema da aplicação."
Fayad e Schmidt
● Framework é um conjunto de conceitos usado para resolver um problema de um domínio específico
Ahn?
Casa pré montada
E-Commerce
● Framework Java● Exemplos:● Struts● Struts 2● JSF (Java Server Faces)● Spring● EJB● EJB3● Hibernate
● Framework Python● Exemplos (Framework WEB):● Django
Framework Ruby● Exemplos (Framework WEB)● Ruby on Rails
● Framework de Testes● JUnit● Log4J
Banco de Dados
● Banco de Dados● Relacional● usado há mais tempo
○ Oracle○ Postgres○ SQL Server○ SQL Lite○ MySQL○ DB2○ Etc...
● Banco de Dados● Não Relacional
○ novo conceito○ NoSQL
TI - Infra Estrutura
● Ti - Infra estrutura
○ Servidor○ Redes○ Hardware○ Disponibilidade○ Backup○ etc...
5. Vamos ver algumas vagas?
● Fonte: http://www.webgoal.com.br/vagas
Fonte: http://blog.locaweb.com.br/recursos-humanos/vagas-para-desenvolvedores-dotnet-ruby-java-python/
Fonte: http://www.gonow.com.br/vagas/
Fonte: http://pessoas.vagas.com.br/vagas/v624688
Fonte: http://www.gonow.com.br/vagas/
http://pessoas.vagas.com.br/vagas/v622445
6. O que o mercado diz
O que o mercado de TI diz:● Ainda há mercado para Struts 1 e 2, e JSF● Maioria das empresas trabalham com métodos ágeis● Várias vagas de ruby e python● Demanda para programadores "poliglotas"
Fonte: http://blog.fabiomassa.com.br/2011/02/11/entrevistas/
7. O outro lado:O candidato
O outro lado - O candidato (O que eles pensam...)● Entrevistador não técnico, é chato● RH não sabe nada● Entrevista com RH, não vale nada. ● Perda de tempo. ● Importante é um técnico● Cuidado ao falar termos técnicos, o entrevistador
pode perder credibilidade, principalmente no telefone (ex: vai trabalhar com Struts)
● Falar palavras técnicas erradas (ex: Hibernate)
8. Dicas pessoais
Dicas pessoais● Provas mais do que certificação● Github e Linkedin● Email: gmail, endereço próprio ou no máximo hotmail,
yahoo...
Sopa de Letrinhas
Por fim...
● Mini Curso○ Tempo curto○ Muitos itens comentado superficialmente○ Outros itens não foram nem citados
● Curso Completo○ IT Skills para RH: Aprender e Contratar○ 4 dias○ Mais sobre: Metodologia Ágil, Java x .NET, Windows x Linux,
Frameworks, Desenvolvedor, DBA, testers, etc ...○ Outras sopas de letrinhas: SOA, Cloud, BI, Sistema Operacional
(SO), IDE (ex: eclipse), Controle de Versão (GIT, SVN, Github)...
○ Mais informações entre em contato
Obrigado pela presença de todos!!!Obrigado Globalcode
● Comentem no twitter:● @open4education● @AleUehara
● Contato:● Alexandre Uehara● uehara.alexandre@gmail.com● slideshare.net/aleuehara