Programador Java Roberto Cortez - sobre o aprendizado de Java e os principais influenciadores

Roberto Cortez- Desenvolvedor Java com mais de dez anos de experiência, head do Coimbra JUG e fundador da JNation Conference em

Portugal.

Jarro de Coimbra— uma comunidade de programadores trabalhando na linguagemJava. Reúne sobretudo programadores de Coimbra e da Zona Centro de Portugal. O Coimbra JUG organiza eventos sobre Java e tecnologias relacionadas com a JVM (Java Virtual Machine, a parte principal do sistema Java runtime - Hi-Tech) com o objetivo de desenvolver e popularizar a linguagem. A conferência mais famosa é a JNation Conference, dedicada aos mais recentes desenvolvimentos em Java. Realiza-se anualmente em Coimbra.

Sobre Java

- Quais são os pontos fortes e os principais aspectos do Java como linguagem de programação?

- Linguagem estável e expressiva. Para mim, a melhor coisa sobre Java é o ecossistema. Há um grande número de bibliotecas de código aberto que podem ser usadas para simplificar o desenvolvimento de aplicativos. Eles estão bem documentados e testados, para que você possa se concentrar nas necessidades reais dos negócios.

- Java está mudando ativamente, que tendências estão definindo o tom nessa área hoje?

- Claro, a nuvem. E essa é uma tarefa muito interessante para Java, considerando que a linguagem já existia muito antes de termos a nuvem em todos os lugares e para todos. Então ele não estava pronto para isso e também teve que se adaptar. Se você observar a história do Java, os principais lançamentos aparecerão a cada três a quatro anos. Agora, o idioma foi adaptado para liberar lançamentos programados a cada seis meses para atender melhor aos desafios de hoje e de amanhã.

Novas tendências Java:

  1. Java JShell Interpreterpara aprender a linguagem e criar protótipos de código.
  2. NodeJSpara criar programas para dispositivos de desktop e aplicativos de servidor sem usar um navegador.
  3. Estruturas de desenvolvimento de aplicativos móveis e da Web:ReactJS, AngularJS, Meteor.js e outros. Simplifique significativamente o desenvolvimento.

Sobre o trabalho de um programador

- O que você recomendaria aos programadores iniciantes para imersão em uma especialidade e procura de emprego?

- Que tal apenas blogarou algum outro tipo de página da web? Muitas pessoas começaram dessa maneira, e essa é uma ótima maneira de fazer programação. Eu também comecei com um blog. Primeiro, com HTML, que por si só não é uma linguagem de programação, mas no final comecei a criar coisas cada vez mais avançadas que exigiam que eu usasse JavaScript e depois Java. Muitas pessoas começam com Python, o que também é ótimo. Não é muito difícil e você pode obter resultados surpreendentes.

- Quais tecnologias precisam ser estudadas por um programador Java?

- Cada programador precisa de um conjunto de princípios, eisso não é apenas para Java, que o ajudará a formar uma idéia geral de como tudo funciona. Acredito que esta lista possa ser contestada, mas incluiria algoritmos, redes, sistemas operacionais, bancos de dados, sistemas distribuídos, segurança e matemática nela.

- Um programador deve escolher entre um desenvolvedor de pilha completa (universal) e um especialista?

- Agora é extremamente difícil se concentrarem uma determinada tecnologia, porque tudo está se desenvolvendo e mudando muito rapidamente. Mas é ainda mais difícil acompanhar muitas tecnologias. Você precisa estar aberto a tudo, especialmente no início de sua carreira, decidir o que mais gosta e depois se especializar em algo mais.

- Há uma opinião de que não há freelance em Java, e essa linguagem é principalmente para desenvolvimento corporativo. Java Freelance é uma exceção?

"Eu acho que não." A julgar pela minha experiência, quando as empresas contratam freelancers, estão esperando uma pessoa com muita experiência que possa vir e ajudá-las a lidar com os problemas. O foco em uma tecnologia específica fornece essa experiência e permite que você se especialize. Sendo um especialista experiente, você pode trabalhar como freelancer e em uma organização.

- Você se considera um desenvolvedor apaixonado. Para você, a programação é principalmente uma criação ou um processo técnico?

- A programação envolve muitocriatividade. Quando você quer fazer algo, há muitas maneiras de seguir. Acontece que esse método não existe, você precisa criá-lo. Você tem que pensar, experimentar opções, falhar e ter sucesso. Por outro lado, em termos técnicos, nossa esfera está se desenvolvendo rapidamente, é necessário se envolver constantemente em pesquisas, estudar novos desenvolvimentos e melhorar as qualificações. Você deve ser apaixonado pelo que faz para acompanhar os horários, as últimas notícias e as melhores soluções.

Sobre comunidades Java

- Por que as comunidades Java são necessárias e o que faz o JUG de Coimbra que você lidera?

- Dirijo a comunidade JUG de Coimbra emPortugal. Coimbra é uma cidade pequena, então todos na comunidade se conhecem. As pessoas gostam de se reunir para compartilhar suas experiências, impressões e, é claro, ouvir as notícias sobre o que está acontecendo no mundo da TI. Também estamos organizando uma conferência chamada JNation. Este é um evento de um dia em que convidamos vários dos palestrantes mais famosos da comunidade Java.

- Quais JUGs são os mais famosos e influentes?

- Eu nomearia o LJC (London CommunityJava - “High Tech”) e SouJava (Comunidade Brasileira de Usuários Java - “High Tech”). Ambas as comunidades estão ativamente envolvidas no suporte ao JCP, AdoptOpenJDK ou MicroProfile.

Processo da Comunidade Java (JCP)- Formado em 1998, um processo formal permite que as partes interessadas participem na definição de futuras versões das especificações da plataforma da linguagem Java.

Kit de Desenvolvimento Java (JDK)- distribuído gratuitamente pela OracleCorporation é um kit de desenvolvimento de aplicativos Java que inclui um compilador, bibliotecas de classes padrão, exemplos, documentação, vários utilitários e um sistema de execução.

Microprofile, (Microprofile Eclipse)é um padrão aberto desenvolvido na Eclipse Foundation por fornecedores de servidores EE, organizações terceirizadas e simplesmente voluntários.

Outras comunidades famosas de JUG:

  1. JUG.ru (São Petersburgo, Rússia).Realiza reuniões mensais em São Petersburgo, onde especialistas em Java dão palestras sobre os temas mais urgentes.
  2. Philly JUG (Filadélfia, EUA).Existe há mais de 15 anos e ministra cursos de treinamento avançado para programadores Java na Filadélfia.
  3. Marrocos JUG (Marrakech, Marrocos).Realiza conferências anuais e cursos de treinamento online e offline.

- Você também é membro do Java Champion. Como é a interação dele com o desenvolvedor Java, Oracle?

- Na sua essência, o Java Champions é exclusivoum grupo de líderes e comunidades entusiásticos de tecnologia promovidos pela própria comunidade. Fornecemos feedback, idéias, direção e orientação que ajudarão a Oracle a expandir a plataforma Java e geralmente promoverão o idioma em todo o mundo. O mais interessante nesse grupo é que, embora seja suportado pelo Oracle, ele próprio é completamente independente. Portanto, podemos elogiar e criticar livremente, quando apropriado.

- Qual das conferências realizadas regularmente pelos desenvolvedores Java é a mais interessante e significativa?

- Agora conferências interessantes estão sendo realizadas em todos os lugares. A maioria dos desenvolvedores pode encontrar eventos em seus locais, portanto a área de cobertura é boa e continua a crescer a cada ano. Você sempre pode confiar nas conferências JNation, jPrime ou JBCNConf, que apareceram apenas alguns anos atrás, mas que rapidamente se tornam exemplares.

jPrime- uma conferência que fala sobre Java,vários idiomas na JVM, dispositivos móveis, tecnologias da web e os melhores desenvolvimentos. O organizador é a comunidade búlgara de desenvolvedores de Java. Realizado anualmente em maio no Sofia Technopark.

JBNCConf- conferência anual sobre Java organizada porassociação sem fins lucrativos Barselona JUG, realizada em Barcelona. A conferência discute linguagens JVM (Java, Scala, Clojure, Groovy, Kotlin), programação funcional, testes, design, blockchain, aprendizado de máquina, inteligência artificial e muito mais.

— O que teve maior influência no seu desenvolvimento como profissional?

- Eu diria que as primeiras duas conferências. Isso tornou possível conhecer a incrível comunidade Java e sou grato a várias pessoas que me orientaram ou me forçaram a fazer alguma coisa. Lembro-me de reclamar que a comunidade em Portugal não é muito ativa e Adam Bean me disse: “Por que você não cria a sua própria?” Então nasceu a comunidade JUG de Coimbra. Andres Almirai e Heather Van Cuira me apresentaram ao Hackergarten, onde comecei a contribuir para projetos de código aberto. Finalmente, David Blevins foi meu mentor e me ajudou a crescer técnica e mentalmente. Mas, o mais importante, ele se esforçou para se tornar um mentor para outras pessoas. É isso que estou tentando fazer agora.

Adam Bin (Alemanha)- consultor, treinador, desenvolvedor, membro do grupo de especialistas Java Champion e muitos outros relacionados a Java.

Andres Almirey— Desenvolvedor Java/Groovy e Java Champion, mais17 anos de experiência em design e desenvolvimento de software. Ele desenvolve aplicativos web e desktop desde os primórdios do Java. Membro fundador do projeto Griffon e da comunidade Hackergarten.

Heather van cure- Presidente do JCP, organizador de conferências da comunidade Hackergarten dedicadas às tecnologias Java.

David blevins- fundador dos projetos Apache TomEE, OpenEJB e Geronimo, membro dos grupos de especialistas EJB 3.2 (JSR 345) e Java EE 7 (JSR 342), autor de materiais para desenvolvimento de software baseado em componentes.