|
|
|
|
- Clustering e Load Balancing (Tomcat / Jetty / Apache 2 / GlassFish)
- Replicação Master / Slave com MySQL
- Cloud computing com Google App Engine (Datastore / Memcache)
Demais linguagens:
|
|
- UML: Ferramentas CASE standalone e integradas ao IDE.
- MER: ERWin, Clay Mark II, MySQL Workbench e Power*Architect
Aqui está uma lista das tecnologias com as quais me sinto confortável. Por confortável quero dizer que passei um tempo significativo aplicando-as em projetos e POCs, aperfeiçoando meu conhecimento e ganhando produtividade. Essa experiência me levou a esbarrar em problemas cotidianos e corner cases, e também a encontrar bons canais de ajuda (diga-se: documentação, fóruns especializados, etc). Em resumo: estou pronto para ajudar desde alunos que buscam iniciar com determinada tecnologia e entender seus principais conceitos até alunos mais avançados que buscam a solução para um problema técnico em tempo hábil.
Veja que a forma como agrupei as tecnologias não é das mais ortodoxas (e.g., entenda Application Services como: "qualquer outra coisa que rode em um Application Server e possua um JSR"), muitas das tecnologias mencionadas estão intrinsecamente ligadas a outras, e devido a sua vasta gama de funcionalidades, poderiam ser facilmente classificadas em mais de uma categoria.
Deixei de listar algumas tecnologias por motivos como:
- Ainda não ter aplicado a tecnologia em projetos reais (GWT, Ext JS, Lift, Wicket).
- Falta de conhecimento teórico (por exemplo: me falta vivência com desenvolvimento mobile para falar de Android ou Java ME e com certeza não sou nenhum perito em NoSQL).
- Ter usado apenas um pequeno subconjunto das features da tecnologia (DB2, Sybase, Lucene, Solr, JAXB, Terracota) e/ou ter usado a tecnologia de uma forma muito particular para resolver determinado problema (ADF, Progress, BlazeDS).
- Ter listado tecnologias que automaticamente implicam conhecimento em outras de base (por exemplo: XML, Javascript, JSON, (X)HTML, CSS, etc).
- Por ter esquecido de listá-las ou ignorado propositalmente (a idéia é que a lista fosse razoavelmente curta, servindo de referência para potenciais alunos).
Em relação a outras linguagens, gostaria de deixar claro que minha definição para básico e intermediário é bem mais relaxada do que no caso de Java. Básico significa que eu conheço a sintaxe da linguagem, bem como aquelas bibliotecas de dia a dia (por exemplo: STD em C++). Intermediário significa que eu já fiz algum projetinho mais complexo com acesso a banco e uso de frameworks / bibliotecas populares (por exemplo: Smarty, CodeIgniter e PEAR em PHP). Não me considero um especialista (ou mesmo um programador competente) nessas linguagens, porém, me sinto apto a ajudar estudantes de graduação / pós-graduação com disciplinas e atividades que façam uso delas.
Além de toda a parte ferramental, estou pronto para discutir assuntos teóricos, ensinando conceitos de Engenharia de Software, Orientação a Objetos, Bancos de Dados Relacionais, Algoritmos e Estruturas de Dados, Estatística e Contabilidade. Uma das coisas que deixo claro para todos os meus alunos é que, por mais aplicada que seja a dinâmica em sala de aula, não é possível escapar da base teórica; conceitos importantes serão invariavelmente abortados (A intenção da 7RTC, muito mais do que ganhar dinheiro, é formar profissionais competentes).
Finalmente, apesar de estar publicando meu currículo e tecnologias de interesse, não estou aberto no momento para novas oportunidades de emprego e participação em projetos freelance (peço a compreensão de todos).
Minha intenção é disponibilizar informação para alunos em potencial. Para mais detalhes não hesite em me procurar através do formulário de contato ou por email.