Post on 25-May-2015
description
O papel e a carreira do arquiteto de software
Leonardo Loch Zanivan
Apresentação
▪ Arquiteto de Software na Trier Sistemas (Tubarão)
▪ Trabalho com desenvolvimento há mais de 7 anos
▪ Especialista em Arquitetura de Software
▪ Palestrante voluntário
▪ Natural de Criciúma
O que é arquitetura de software?
A arquitetura de software de um programa ou sistema computacional são as estruturas do sistema, compostas por elementos de software, suas propriedades visíveis externamente e as relações entre elas. (Clements et al, 2010)
Padrões de projeto
Os padrões de projeto, também conhecidos como design patterns, surgem para descrever, capturar e nomear técnicas para solução de problemas de software. (Buschmann et al, 2007)
Big Ball of Mud, conhecem algum software assim?
Papel do arquiteto de software
▪ Titulação “Arquiteto de Software”
▪ Software Craftsmanship Manifesto
▪ Toma as decisões importantes
▪ Não é um superhero
Atribuições do arquiteto
▪ Gerencia as necessidades e os requisitos
Atribuições do arquiteto
▪ Define e desenha a arquitetura
▪ Avalia e seleciona as tecnologias*
▪ Possui a visão do todo
▪ Liderança e comunicação
▪ Treina as pessoas
▪ Garante a qualidade
▪ Participa do projeto
Experiência profissional
▪ Sucesso em projetos desafiadores com as linguagens C++, PowerBuilder, JavaScript e Java
▪ Desenvolvimento desktop, web, mobile e cloud
▪ Na área de P&D e arquitetura há mais de 7 anos
▪ Realização de treinamentos na área de segurança da informação e desenvolvimento mobile Android
▪ Participação de conferências como palestrante, como o TDC 2012, 2014 e JavaOne 2014*
Formação acadêmica
▪ Técnico em Informática Industrial, Bacharel em SI, MBA em Arquitetura de Software
▪ Certificação Oracle Java SE 7
▪ Cursos OWASP Top 10, Web Application Security, Startup Engineering, Functional Programming, etc
▪ Proficiência em Língua Inglesa
Carreira do arquiteto
▪ Como se tornar um bom arquiteto de software?
▪ Onde posso trabalhar como arquiteto?
▪ Como lidar com novas tecnologias?
▪ O que devo estudar hoje?
Como se tornar um bom arquiteto de software?
▪ Traçar objetivos e metas atingíveis
– Aprender novas tecnologias
– Fazer certificações e cursos
– Participar de eventos
– Publicar artigos
Como se tornar um bom arquiteto de software?
▪ Dominar o inglês
– É a língua de facto na área de tecnologia
– Deve se ter uma ótima compreensão
– Todos os bons materiais são em língua inglesa
– Para se atualizar tem que conviver com inglês
– É mais fácil que Português
Como se tornar um bom arquiteto de software?
▪ Não ficar estagnado
– Hackear (no bom sentido)
– Participar de eventos e cursos
– Estudar outras disciplinas além do que você conhece
Como se tornar um bom arquiteto de software?
▪ Ler bastante
– Livros de programação, padrões, arquitetura, gerenciamento de projetos
– Artigos, Blogs, Twitter (apenas conteúdo relevante)
– Autores: Martin Fowler, Uncle Bob, Kent Back, GoF
“In theory, theory and practice are the same. In practice, they are not.” ― Albert Einstein
Onde posso trabalhar como arquiteto de software?
▪ Empresas locais e regionais
– Polos tecnológicos em Florianópolis e Tubarão
– Grandes empresas em Criciúma
▪ Empresas de grandes centros ou exterior
– Trabalho remoto (home office)
– Mudar-se para grandes centros ou exterior
▪ Sempre haverá lugar para um bom arquiteto dentro de um time, é só questão de amadurecimento
Como lidar com novas tecnologias?
▪ Avaliar os requisitos, a equipe, o negócio e o RoI
▪ Ficar atento a movimentação do mercado
▪ Participar e contribuir com comunidades Open Source (devlists, GitHub)
▪ Selecionar a tecnologia de forma responsável
O que devo estudar hoje?
▪ Arquitetura REST
▪ Plataforma JavaEE e NodeJS
▪ Frameworks Client-Side (AngularJS)
▪ Banco de Dados NoSQL
▪ Desenvolvimento Mobile
▪ Cloud Computing
Obrigado
github.com/panga
@leonardopanga
slideshare.net/leonardozanivan