Introduction
Last udpate / commit: 2023-02-07 06:50:59 -0300 / 7e12379
PDF: https://paulojeronimo.com/docs-as-code-sample/README.pdf
1. How many years of experience do you have for each technology/tool listed below?
1.1. Java programming language
24 years (from 1998 to 2021). My first official Job programming Java was in 1998 when I worked for a company called Politec in Brasília, where I live with my wife since 1997.
In 2003 I left Brasil Telecom because I partnered with Helder da Rocha from Argo Navis to teach his Java and XML courses in various places in Brazil. In this way, I taught many of the training listed in the delivered courses section of my CV for several Brazilian companies. In March of 2007, we both started to work on a project for Sun Microsystems. This project and my partnership with Argo Navis lasted until the end of 2007. After that, as a consultant, I started teaching JBoss official courses (from RedHat). At the beginning of 2008, one customer of this course offered me a more stable position as an employee in a middleware specialist role. So, I accepted this job (Ambima).
Since then, I have gone through several other jobs where I developed my skills as a programmer, middleware specialist (JBoss, WebSphere, GlassFish, etc.) or software architect focusing on this language.
In 2011, I was so involved with GlassFish, Java EE, and IDEs for Java that Arun Gupta invited me to talk at the Oracle Technology Network Developer Day 2011. I found a citation for my talk by searching for it on Google. You can see many other posts related to this period of my life by accessing the blog Lado Servidor where some friends like Bruno Borges and Marcelo Ancelmo also wrote some articles for it.
I had the opportunity to participate in many Java events. One of my last presential events related to Java was JavaOne 2017 in San Francisco. That time was the launch of the Java 9 version. Even without being a speaker, I enjoyed the event because I saw some Java Rockstars friends with whom I learned a lot. Some of them worked with me on past projects. Here are some of the pictures I took at this JavaOne: 1 ← Bruno Borges and Michael Nascimento, 2 ← Rafael Benevides and Edson Yanaga, 3 ← Bruno Souza and Venkat Subramanian, and 4 ← books that I bought.
Before my last job with Java, I worked with it in many other opportunities, including one outside Brazil in 2018, working for Thales in Lisbon programming with the Spring stack. In 2020 I also build some Java programs using Quarkus.
My last job with Java was at Fóton Informática in 2021. But, I was working with ancient and outdated versions of Java in this position. So, I chose not to evolve in this work in August 2021 because I was frustrated with this situation. After this job, I decided to look for jobs more focused on other programming languages (like JavaScript, TypeScript, and Solidity) because this was more aligned with the necessary skills that I wanted to acquire.
I’ve been watching many videos related to the evolution of the Java language (from version 9 to 19) to update my knowledge about this language. But currently (and since 2021), I am more fluent in solving problems using the programming languages I mentioned.
1.2. Java Virtual Machine (Java VM), covering its strengths and weaknesses
14 years (from 2008 to 2021). I was responsible, in many cases, for investigating problems like memory leaks in JVM applications developed for customers in several areas. Working for RedHat, and even much before this, I used tools provided by the JVM to analyze memory consumption, performance, and so on.
In 2008, working for Ambima, I was responsible for doing many tasks in the production environment for the Central Bank of Brazil's critical applications (SELIC and Ofpub). Since that, and for some other customers (Algar, IBM, Mais2x), I have done the same task related to tuning and troubleshooting of JVM for some applications in these customers.
1.3. Blockchain technologies and what are they
6 years (from 2017 to Today). Since 2017, when I had some Bitcoins in my wallet, which I put to good use. I sold it at a good moment to buy an apartment for my daughter, who recently got married.
Since this year, I have been very involved with Blockchain doing severeal related things.
In 2017 I recorded in this repository a playlist of videos (in Brazilian Portuguese - see the link above) derived from the work done by Anders Brownworth.
That same year I developed my skills with Ethereum and got involved with its blockchain to understand more deeply how it worked.
I also aggregate many things in the link Ethereum on my website. I mentored about it in a Hackathon offered by a startup accelerator in Brasilia when I was already living in Lisbon. At that time (2018), I created my first video playlist about Ethereum.
In this year I also participated in a Hackathon promoted by Mercedes Benz in Lisbon (I was working for Thales at this time), and with an excellent team, I won a prize of 2000 euros for having placed third.
When I returned from Portugal to Brazil in 2019, I created a startup called Finisher.Tech. There I was focused on developing Web3 ideas and projects for the wellness area. Some of these were published in the links inside Finisher.Tech.
TODO
1.4. Distributed applications
21 years (from 2002 to Today) My specialization at the University of Brasília, in 2002, was on "Distributed Systems and Object Orientation". At that time I started to get involved a lot with middleware like Tomcat and JBoss.
Starting in 2014, when I spoke at a Red Hat event about Docker, I also started following projects that were emerging like OpenShift, an implementation of Kubernetes.
I also worked with the development of microservices using Cloud Foundry. In the Cloud Computing world, distributed systems are the law and some of my experiences with AWS, Azure and GCP have reinforced my view.
Again, check the links above. In there I give some details of my using of these technologies. |
2. Do you have experience performing the following roles/activities? Please provide details
2.1. Application development
Yes, in the languages below and many years ago, at the beginning of my career as a programmer, in languages such as COBOL (in 1993), Pascal, C, and C++ (from 1993 to 2001).
Please, access these links: Bash, Groovy, Java, JavaScript, Kotlin, Python, Rust, Solidity, TypeScript.
In there I point you some of the projects that I have published (using those languages) on my GitHub account.
2.2. Developing simple, modular, testable, and high-quality code
I like the concept of Java 9 Modules and I presented it in a live video recorded for DFJUG, in 2017.
Also, I like the concept of ES6 modules and the way that NPM packages works. I found this out when I learned about creating my own packages in JavaScript.
I’m Test Infected since I met the JUnit creators (Kent Beck), in person, when he comes to the event Extreme Programming Brasil, in 2002 (see some links about this on my HOME page).
I delivered many courses about this Testing in Java (using TDD or BDD), for many companies in Brazil. So, I have experience in Unit Testing, Integration Testing, Acceptance Testing, and Performance Testing (with JMeter, ab, etc.).
2.3. Familiarity with security principles, cryptographic tools and libraries
TODO
2.4. Familiarity with test-driven software development processes and continuous integration tools and systems
Regarding to testing, I believe that I already give a response to this question.
My first contact with a continuous integration (CI) tool was when working for Ambima (in 2008). Today I have worked with projects running in a lot of CI tools like Jenkins, GitLab CI/CD, Travis CI, CircleCI, GitHub Actions, and AWS CodePipeline. I’m also capable to install and configure pipelines on many of this tools.
2.5. Developing libraries and platforms for use and deployment by application developers
For many companies that I worked for, since I my first jobs which Java, I had to create libraries and frameworks to facilitate the live of other developers. Unfortunately, I can’t prove this with code that I have published on my GitHub account because my work on this subject was did in private repositories of source code in that companies.
2.6. Systems programming experience including providing services to other software (e.g. operating systems, computational science applications, industrial automation, and SaaS applications)
My main areas of work in the development area were for large companies in the banking or telecommunications area. Due to the speed requirements necessary for the functionalities offered by applications in these areas, I got very involved with code optimization and the application’s relationship with the operating system’s resources.
I participated in the maintenance and production of B2B applications, with a lot of integration between systems through market standards.
3. Important questions from the Client. Please provide details
3.1. Are you a builder or a glue developer? A builder is someone who builds applications from scratch
TODO
3.2. Are you usually the brain in development?
TODO
3.3. Are you confident with your knowledge on Computer Science fundamentals?
TODO
4. List down 2 to 3 specific project/s you’ve done related to this job. Kindly, include URLs if applicable
TODO
5. What is your minimum desired hourly pay rate for this role?
The version of this document (public) does not gives you right to see this information!
Let’s schedule a chat if you think I can help you with your projects!
People mentioned in this document
-
Arun Gupta - https://www.linkedin.com/in/arunpgupta/
-
Bruno Borges - https://www.linkedin.com/in/brunocborges/
-
Bruno Souza - https://www.linkedin.com/in/brjavaman/
-
Edson Yanaga - https://www.linkedin.com/in/yanaga/
-
Helder da Rocha - https://www.linkedin.com/in/helderdarocha/
-
Marcelo Ancelmo - https://www.linkedin.com/in/marceloancelmo/
-
Michael Nascimento - https://www.linkedin.com/in/michaelnascimento/
-
Rafael Benevides - https://www.linkedin.com/in/rafabene/
-
Venkat Subramanian - https://www.linkedin.com/in/vsubramaniam/