O que não aprendi na UNIFEI - programação
Discalimer
É difícil fazer afirmações que não envolvam política e economia nesa palestra.
Discalimer
Todos podem discordar ou concordar do que será dito.
Apenas pedirei um favor: Dêem-me alguma credibilidade pelos próximos 60 minutos.
Comecei minha carreira aqui na UNIFEI, tal qual muitos de vocês.
Hi! @hannelita
- Computer Engineer
- Programming
- Electronics
- Math <3 <3
- Physics
- Lego
- Meetups
- Animals
- Coffee
- GIFs
- Pokémon
Agenda
- Possíveis áreas de atuação
- UNIFEI - expectativa de matérias vs realidade
- Conheça os jargões da área
- Fight
- Mais áreas de atuação
- Grandes mentes da área de programação - 2016
- Bônus - o mercado de software no exterior
- Bônus - Dicas para aprender novas tecnologias
Gostaria de iniciar com uma afirmação:
"Nós somos tecnicamente muito bons. Mesmo."
Mas há muitas coisas que não aprendemos na Universidade
Uma das vantagens de um título de bacharel é que podemos ir da parte técnica à arquitetura
Possíveis áreas de atuação
Gerenciamento
Web
Mobile
UX/UI
Infra
Vendas
Negócios
Especificações
Hardware
Possíveis áreas de atuação
Gerenciamento
Web
Mobile
UX/UI
Infra
Vendas
Negócios
Especificações
Hardware
Você se sente preparado(a) para alguma delas?
Agenda
- Possíveis áreas de atuação
- UNIFEI - expectativa de matérias vs realidade
- Conheça os jargões da área
- Fight
- Mais áreas de atuação
- Grandes mentes da área de programação - 2016
- Bônus - o mercado de software no exterior
- Bônus - Dicas para aprender novas tecnologias
Expectativa
Realidade
Não se desmotive, há solução!
É importante entender como as principais empresas funcionam.
Set de ferramentas básicas - pequenas e médias empresas
Você no primeiro emprego
Como obtenho o código fonte para trabalhar?
Como obtenho o código fonte para trabalhar?
Git (mais comum) ou CVS ou SVN
O que preciso fazer?
O que preciso fazer?
Lista de tarefas - JIRA ou Pivotal Tracker
Como o projeto funciona?
Como o projeto funciona?
Wiki ou README.
Agenda
- Possíveis áreas de atuação
- UNIFEI - expectativa de matérias vs realidade
- Conheça os jargões da área
- Fight
- Mais áreas de atuação
- Grandes mentes da área de programação - 2016
- Bônus - o mercado de software no exterior
- Bônus - Dicas para aprender novas tecnologias
Web
Qual linguagem?
Backend ou Frontend?
Frameworks?
Quantos usuários acessam o sistema?
Qual(ais) bancos de dados?
Testes automatizados?
Continuous Integration (CI)?
Ambiente de produção?
Web - Conheça o Jargão - backend
PHP - Cake, Zend, Laravel, XAmpp, Joomla!
Ruby - Rails, bundler, Sinatra, gems famosas, vim, rspec, devise,
capybara, RVM, PhantomJS, Unicorn, Puma, JRuby, Heroku
Python - Django, Pypy, SciPy, pandas
Java - Spring, JSF, Hibernate, JMS, Wildfly, JVM, JBoss, Webshpere, Weblogic, Maven, Gradle, Ant, Eclipse, IntelliJIDea
Outras linguagens
Scala - Play Framework
Groovy - Gradle
C# - VisualStudio, Entity Framework, .NET
Web - Conheça o Jargão - frontend
CSS - Bootstrap, Foundation, Bourbon, Grid
Javascript - Angular, React, Backbone e muitas (muitas) bibliotecas
Outros conceitos
Responsividade, layout, wireframe, UX, UI, PaaS (Heroku, Azure), IaaS (Amazon), Jenkins, TravisCI
UX/UI
Quais ferramentas de Wireframe?
Quais ferramentas de layout?
Como exportar os assets?
Onde armazenar o layout?
Acessibilidade
UX/UI - Conheça o Jargão
Photoshop, Illustrator, Adobe, assets, testes de acessibilidade, a11y, responsividade, app nativo
Mobile
Quais plataformas?
Games?
Apps nativos
Ferramentas e IDEs?
Quais versões de SO?
Como publicar?
UX/UI - Conheça o Jargão
iOS - Apple, XCode, TestFlight, AppCode, CocoaPods, Swift, ObjectiveC
Android - Java, Eclipse, AndroidStudio
Outros conceitos
PhoneGap, Unity, Responsividade, WindowsPhone
Infra
Cloud?
Banco?
Rede?
Virtualização?
Container?
SO?
Infra - Conheça o Jargão
Docker, Mesos, PaaS, Heroku, AWS, Azure, UniKernel, Kubernetes
Bancos: Relacional - Postgres, Oracle, MySQL, SQLServer; Não relacional: Redis, MongoDB, Cassandra, Neo4j, HBase
SOs: Administração de Linux / Windows, desenvolvimento de drivers
Hardware
IoT
Plataforma
Limitações
Expansão
Hardware - Conheça o Jargão
Arduino, RaspberryPi, ARM, REST, MQTT
Você não precisa saber tudo isso.
Quais desses nomes vocês viram em aula?
Quanto mais você souber sobre os itens anteriores, melhores serão suas condições de atuar como arquiteto(a) de software
Por favor, esqueça Waterfall. O modelo de fábrica de software está em decadência.
Especificações (Arquitetura)
Qual o tamanho estimado do time?
Restrições de Business
Escalabilidade
Mantendo-se no budget
Tecnologias de ponta
Cases de Sucesso
Arquitetura - Conheça o Jargão
Microservices, containers, REST, PubSub, Event Stream, Assíncrono, Mensageria, Design Patterns, SOA, Protocolos
Agenda
- Possíveis áreas de atuação
- UNIFEI - expectativa de matérias vs realidade
- Conheça os jargões da área
- Fight
- Mais áreas de atuação
- Grandes mentes da área de programação - 2016
- Bônus - o mercado de software no exterior
- Bônus - Dicas para aprender novas tecnologias
Startups vs Multinacionais
Produto vs Consultoria
PJ vs CLT
Não há mais nenhuma área para se atuar?
Agenda
- Possíveis áreas de atuação
- UNIFEI - expectativa de matérias vs realidade
- Conheça os jargões da área
- Fight
- Mais áreas de atuação
- Grandes mentes da área de programação - 2016
- Bônus - o mercado de software no exterior
- Bônus - Dicas para aprender novas tecnologias
Mais áreas de atuação
Gerenciamento
Web
Mobile
UX/UI
Infra
Vendas
Negócios
Especificações
Hardware
Mais áreas de atuação
Gerenciamento
Web
Mobile
UX/UI
Infra
Vendas
Negócios
Especificações
Hardware
Games
Dados
Games
Unity, Unreal, Game Engines, Modelagem (Maya, Blender, ZBrush), Animação 3D
Dados
"Big Data", Spark, Hadoop, HBase, Pig, Hive, Cassandra, NoSQL, Redis, MapReduce, Mahout, Machine Learning
Experiência é compreender qual a tecnologia mais adequada para um cenário
O que a UNIFEI tentou me ensinar?
- Desafios de programação (maratona)
- Robôs (Uai!rrior)
- Alguns frameworks (Hibernate)
- Básico de C, C++ e Java
- Debug
Tópicos que aprendi na UNIFEI
Mais áreas de atuação
Gerenciamento
Web
Mobile
UX/UI
Infra
Vendas
Negócios
Especificações
Hardware
Games
Dados
Otimização e Algoritmos
Professor
O que os programadores mais experientes do mundo estão fazendo?
Agenda
- Possíveis áreas de atuação
- UNIFEI - expectativa de matérias vs realidade
- Conheça os jargões da área
- Fight
- Mais áreas de atuação
- Grandes mentes da área de programação - 2016
- Bônus - o mercado de software no exterior
- Bônus - Dicas para aprender novas tecnologias
OpenSource: Criação de ferramentas para outros desenvolvedores
Projetos com arquiteturas totalmente novas
Ponte entre academia e indústria
Teoria dos grafos, Teoria dos Tipos, unificando matemática e computação, otimização de problemas
O mercado para essas vagas é mais escasso.
Mas todos podem contribuir com Open Source.
E isso pode ser decisivo em sua carreira
Bônus: O mercado de software no exterior
Bônus: Dicas para aprender novas tecnologias
Eventos
Github
Coursera / edx
Redes sociais (Twitter, LinkedIn)
Há muito para se falar sobre esse tema
A principal skill que o mercado me cobra é:
Aprender rápido
E as provas da UNIFEI nos ensinam muito bem esse tópico
become@codeminer42.com
Ruby - Rails, bundler, Sinatra, gems famosas, vim, rspec, devise,
capybara, RVM, PhantomJS, Unicorn, Puma, JRuby, Heroku
CSS - Bootstrap, Foundation, Bourbon, Grid
Javascript - Angular, React, Backbone e muitas (muitas) bibliotecas
Obrigada :)
Perguntas?
hannelita@gmail.com
@hannelita
UNIFEI - Programação
By Hanneli Tavante (hannelita)
UNIFEI - Programação
- 3,756