├── README.md
└── partials
├── BOOKS.md
├── COURSES.md
├── SIDE_PROJECTS.md
├── certificates
├── KMP I.png
├── KMP II.png
├── TDD certificate - Codecademy - Walmyr Filho.png
├── bloggeek.me certificate - advanced webrtc architecture course.png
└── robot-framework-certificate-walmyr.png
└── motivation_letters
└── QA.md
/README.md:
--------------------------------------------------------------------------------
1 | # Walmyr Lima e Silva Filho
2 |
3 | ### Thought leader in QA | online instructor | YouTuber | Cypress.io Ambassador | Blogger | Podcaster | Mentor
4 |
5 | 
6 |
7 | **E-mail:** wlsf82@gmail.com
8 | **Phone:** +34 669257533
9 | **Websites:** https://walmyr.dev and https://walmyrfilho.com
10 | **Dev Community:** https://dev.to/walmyrlimaesilv
11 | **Medium:** https://medium.com/@walmyrlimaesilv
12 | **Blog:** https://talkingabouttesting.com
13 | **Codecademy:** https://www.codecademy.com/profiles/wlsf82
14 | **Location:** Barcelona, Spain
15 |
16 | I'm a software engineer who loves testing. I'm also a clean coder, entrepreneur, blogger, YouTuber, Cypress.io Ambassador, online instructor, mentor, speaker, an active member of the testing automation and JavaScript communities, and a fan of good music, tattoos, vegan food, gardening, and skateboarding.
17 |
18 | ## Education
19 | Bachelor in business management with an emphasis on system information analysis at PUCRS (2012)
20 |
21 | ## Technologies and languages
22 |
23 | * **Languages:** JavaScript, TypeScript
24 | * **Technologies:** Nodejs, React, Vercel, Heroku, VueJS, Angular, jQuery, Handlebars, Express, GraphQL, HTML5, CSS3, Styled Components, CSS Modules, Drupal, MongoDB, WebRTC, AWS, git, GitHub, GitLab, GoCD, SemaphoreCI, CircleCI, Jenkins, Docker, Selenium, Cypress, Puppeteer, Protractor, Webdriver IO, Applitools, BackstopJS, Percy, Jasmine, Mocha, Jest, Chai, Supertest, JSDOM, Tape, XCUI Test, Postman, StandardJS, ESLint, Linux, Unix
25 | * **Programing paradigms:** Object-oriented programming, functional programming
26 | * **Other:** Jira, Trello, Rally, Slack, GSuite, Zoom, Whereby, MS Teams
27 |
28 | ## Professional experience
29 |
30 | ### Online instructor and founder at [Talking About Testing school](https://www.udemy.com/user/walmyr/) (2018 - current job)
31 |
32 | In 2018, I started an online school called Talking About Testing.
33 |
34 | The school is focused on teaching all about test automation, and it has more than ten courses.
35 |
36 | Summing up the number of students on all platforms ([Coursify.me](https://talkingabouttesting.coursify.me/), [Hotmart](https://hotmart.com/pt-br/club/cypress-playground-ate-a-nuvem), and [Udemy](https://www.udemy.com/user/walmyr/)), I already have more than 24K students.
37 |
38 | Now, I'm taking the school to the next level and making it my full-time job, where I am recycling courses, launch new ones, besides other improvements here and there.
39 |
40 | ### Senior Quality Assistance Software Engineer at [Typeform](https://https://www.typeform.com) (March 2022 - January 2023)
41 |
42 | At Typeform I:
43 |
44 | - Helped teams with test automation tasks, especially with Cypress
45 | - Ran Cypress Masterclasses
46 | - Ran exploratory testing sessions
47 | - Helped with visual regression testing-related tasks
48 | - Refactored testing code
49 | - Reviewed code
50 | - Enabled teams to get better at quality and testing-related subjects
51 |
52 | Some of my achievements at Typeform were:
53 |
54 | - Cost reduction with Visual Regression Testing by replacing a costly SaaS for a cheap self-hosted open-source service
55 |
56 | ### Senior QA engineer at [QWIC](https://qwic.eu/) (September 2020 - January 2021)
57 |
58 | Some of the activities I performed at QWIC were:
59 |
60 | - End-to-end testing with Puppeteer and Jest
61 | - Migrating Puppeteer + Jest tests into Cypress tests
62 | - Increasing the test coverage
63 | - Component testing with Cypress
64 | - Code reviews
65 | - Refactoring
66 | - Triaging of service desk issues
67 | - Continuous integration, continuous deployment, and continuous delivery
68 | - Development of small features using React
69 |
70 | Some of my achievements at QWIC were:
71 |
72 | - Improvements in the test automation framework to allow for easy maintenance and readability
73 | - Improvements on git workflow to improve the overall team efficiency and productivity
74 | - Process improvements using Kanban to allow for a more steady and predictable system
75 | - Automatic version and security updates implementation using GitHub Dependabot
76 | - Allowing to test the frontend independent of the backend using Cypress
77 |
78 | ### Software Consultant at [Taller Digital Business](https://taller.net.br/en/) (July 2020 - September 2020)
79 |
80 | - Consulting in quality assurance subjects
81 | - Workshops and training in testing automation topics
82 | - 100% remote
83 |
84 | ### Senior Software Engineer in Test at [GitLab](https://gitlab.com) (March 2019 - June 2020)
85 |
86 | Some of the activities I performed as a SET at GitLab were:
87 |
88 | - Leading test automation implementation and guiding testing approaches for new feature development
89 | - Identifying test gaps and prioritizing adding coverage based on areas of risk
90 | - Providing input into testing the security and scalability of the product
91 | - Leading development of new tooling and infrastructure
92 | - Implementing new automation framework features with little guidance
93 | - Recommending new test automation tools and processes that will improve quality and velocity
94 | - Taking ownership of test failures and ensuring that the CI system is reliable
95 | - Mentoring other engineers
96 | - Independently and regularly managing project schedules, ensuring objectives are aligned with team/department goals
97 | - Working on problems of diverse scope requiring independent evaluation of identifiable factors; recommending new approaches to resolve problems
98 | - At GitLab, I worked 100% remote
99 |
100 | ### QA engineer at [Qelp](https://qelp.com) (July 2018 - February 2019)
101 |
102 | I helped define a new software development process where quality is in mind from the definition of the software requirements until the moment it is running in production.
103 |
104 | Some of the activities I performed as a QA engineer at Qelp were:
105 |
106 | - Writing automated graphical user interface functional tests
107 | - Writing automated acceptance tests
108 | - Writing automated visual regression tests
109 | - Defining and tuning continuous integration and continuous delivery/deployment pipelines
110 | - Code reviews
111 | - Extending the application to add testability to it
112 | - Writing business requirements together with the business analyst
113 | - Pair programming
114 | - Knowledge-sharing sessions
115 | - Actively participating in software architecture meetings
116 | - Actively participating in scrum meetings
117 | - Debugging and fixing bugs
118 | - Refactoring code
119 |
120 | ### Senior QA engineer at [Whereby](https://whereby.com/) (June 2016 - February 2018)
121 |
122 | I helped the team create end-to-end tests with the [Protractor](https://www.protractortest.org/#/) framework and visual regression tests with [BackstopJS](https://github.com/garris/BackstopJS) (for the web application), and UI tests with XCUI Test (for the iOS app). These tests were executed on CI/CD ([gocd](https://gocd.org)) for each pull request, providing fast feedback while changing the applications. I was also responsible for maintaining the CI/CD system and its infrastructure-as-code, with approximately 30 pipelines.
123 |
124 | Every two months, I was the on-call engineer (available 24/7 in case of production incidents). In such cases, I'd have to deal with assessing the criticality of issues, accessing Linux servers for log analysis, and working with monitoring tools like NewRelic and Graphana to understand what the issue was and fix it.
125 |
126 | I used to work remotely very often.
127 |
128 | ### Software developer and agile testing coach at [Taller Digital Business](https://taller.net.br/en/) (June 2014 – May 2016)
129 |
130 | At first, I was hired as a QA engineer to create automated acceptance tests in Gherkin format with Cucumber (in Ruby language).
131 |
132 | After some time, I helped the company in a significant transformation, where software testing was not a phase during the software development process anymore but part of it.
133 |
134 | During this transformation, I changed my position to a software developer.
135 |
136 | As a software developer, I helped the team develop features, fix bugs, write tests, and refactor code.
137 |
138 | At Taller, I also had the role of an agile testing coach. As so, I used to share knowledge about agile testing throughout the company and help the team on building a mindset where everyone is responsible for the quality of the developed software.
139 |
140 | In this position, I worked firstly using Scrum, and then we evolved to use Kanban and continuous flow.
141 |
142 | I used to work remotely occasionally.
143 |
144 | ### QA analyst at [ADP](https://www.adp.com) (April 2011 – May 2014)
145 |
146 | At APD, I worked on two different projects (both as a QA analyst).
147 |
148 | In the first project, I developed automated tests in Java (using Selenium).
149 |
150 | In the second project, I developed automated tests in VBScript (using HP Quick Test Pro).
151 |
152 | At ADP, I had my first contact with agile methodologies, such as Scrum.
153 |
154 | I was also the leader of an internal project called Tech Talks, used for internal knowledge sharing.
155 |
156 | I used to work remotely occasionally.
157 |
158 | ### Manual and automated test analyst at [Good Card](https://goodcard.com.br) (November 2009 - March 2011)
159 |
160 | In this job, I had my first contact with test automation, having to make my manager understand that test automation is not about record and playback.
161 |
162 | At Good Card, I started the creation of a test automation framework for web applications using JavaScript.
163 |
164 | Part of my job was also creating unit tests for database triggers and procedures, creating and executing manual test cases, and managing bugs.
165 |
166 | At this job, I also had a quick experience as a software developer, writing PL/SQL code.
167 |
168 | ### Other jobs as a tester/QA
169 |
170 | Before moving into test automation (between 2004 and 2009), I worked as a manual tester at Hewlett-Packard, Sicredi, Softplan, Dell Computers, and Datum TI.
171 |
172 | ## Side projects and community contribution
173 |
174 | Here's a [list of side projects](./partials/SIDE_PROJECTS.md) I work on.
175 |
176 | ## Books I read
177 |
178 | Here's a [list of some books I read](./partials/BOOKS.md) that helped me with being the professional I am today.
179 |
180 | ## Courses I took
181 |
182 | Here's a [list of courses I took](./partials/COURSES.md).
183 |
--------------------------------------------------------------------------------
/partials/BOOKS.md:
--------------------------------------------------------------------------------
1 | # Books I read
2 |
3 | - Tidy First? - A Personal Exercise in Empirical Software Design - by Kent Beck
4 | - Digital Gold - Bitcoin and the inside story of the misfits and millionaires trying to reinvent money - by Nathaniel Popper
5 | - The Pragmatic Programmer - your journey to mastery - 20th Anniversary Edition - by David Thomas and Andrew Hunt
6 | - Dynamic Flow - Applying system dynamics in the construction of digital products - by Celso Martins and Raphael Albino
7 | - The Programmer's Brain - What every programmer needs to know about cognition - by Felienne Hermans
8 | - The Coaching Habit - Say Less, Ask More & Change the Way You Lead Forever - by Michael Bungay Stanier
9 | - Talent Is Overrated - What Really Separates World-Class Performances from Everybody Else - by Geoff Colvin
10 | - A Philosophy of Software Design - by John Ousterhout
11 | - The Cathedral and the Bazaar - Musings on Linux and Open Source by an Accidental Revolutionary - by Eric S. Raymond
12 | - Kanban - Successful Evolutionary Change for Your Technology Business - by David J. Anderson
13 | - The Goal - A process of ongoing improvement - 30th-anniversary edition - by Eliyahu M. Goldratt and Jeff Cox
14 | - How to change the world - Change management 3.0 - by Jurgen Appelo
15 | - Getting Real - The smarter, faster, easier way to build a successful web application - from BaseCamp
16 | - The Lean Startup - How Constant Innovation Creates Radically Successful Businesses - by Eric Ries
17 | - Dive Into Design Patterns - by Alexander Shvets
18 | - Continuous Delivery - Reliable software releases through build, test, and deployment automation - by Jez Humble and David Farley
19 | - The Phoenix Project - A novel about IT, DevOps, and helping your business win - by Gene Kim, Kevin Behr, and George Spafford
20 | - Extreme Programming - Embrace change - by Kent Beck
21 | - Extreme Programming - Practices for day-to-day agile software development, by Daniel Wild, Dionatan Moura, Guilherme Lacerda, and Rafael Helm
22 | - Building Software Teams - Ten best practices for effective software development - by Joost Vissers
23 | - Building Maintainable Software - Ten guidelines for future-proof code - by Joost Vissers
24 | - Composing Software - An explanation of functional programming and object composition in JavaScript - by Eric Elliott
25 | - Programming JavaScript Applications - Robust web architecture with Node, HTML5, and modern JS libraries, by Eric Elliott
26 | - Clean Code - A handbook of Agile software craftsmanship - by Robert C. Martin
27 | - The Clean Coder - A code of conduct for professional programmers - by Robert C. Martin
28 | - Clean architecture - A craftsman's guide to software structure and design - by Robert C. Martin
29 | - Clean Agile - Back to Basics - by Robert C. Martin
30 | - Clean Craftsmanship - Disciplines, Standards, and Ethics - by Robert C. Martin
31 | - The Software Craftsman: Professionalism, Pragmatism, Pride - By Sandro Mancuso
32 | - The Mantra of Productivity - Improve your productivity using focus techniques and personal organization - by Dionatan Moura
33 | - To The Point - A receipt for creating lean products - by Paulo Caroli
34 | - The Flip Manifesto - 16 counterintuitive ideas about motivation, innovation, and leadership - by Daniel H. Pink
35 | - Release It - Design and deploy production-ready software - by Michael T. Nygard
36 | - The DevOps handbook - How to create world-class agility, reliability, & security in technology organizations - by Gene Kim, Jez Humble, Patrick Debois & John Willis
37 | - Refactoring - Improve the design of existing code (first and second editions) - by Martin Fowler
38 | - Agile Testing - A practical guide for testers and Agile teams - by Lisa Crispin and Janet Gregory
39 | - Pride and Paradev - A collection of agile software testing contradictions - by Alister Scott
40 | - Leading Quality - How Great Leaders Deliver High-Quality Software & Accelerate Growth - by Ronald Cummings-John & Owais Peer
41 | - The Road to Learn React - by Robin Wieruch
42 | - The Road to GraphQL - by Robin Wieruch **(in-progress)**
43 | - Lean Analytics - Use data to build a better startup faster - by Alistair Croll, and Benjamin Yoskovitz
44 | - The World is Flat - The globalized world in the twenty-first century - by Thomas L. Friedman
45 | - Hot, Flat, & Crowded - Why the world needs a green revolution - and how we can renew our global future - by Thomas L. Friedman
46 | - Sapiens - A Brief History of Humankind - by Yuval Harari
47 | - Blue Ocean Strategy - How to create uncontested market space and make competition irrelevant - by W. Chan Kim and Renée Mauborgne
48 | - How to Win Friends and Influence People - by Dale Carnegie
49 | - Outliers - The Story of Success - by Malcolm Gladwell
50 | - Emotional Intelligence - Why It Can Matter More Than IQ - by Daniel Goleman
51 |
52 | [Back to homepage](../README.md)
53 |
--------------------------------------------------------------------------------
/partials/COURSES.md:
--------------------------------------------------------------------------------
1 | # Courses I took
2 |
3 | ## [ChatGPT Prompt Engineering for Developers](https://www.deeplearning.ai/short-courses/chatgpt-prompt-engineering-for-developers/)
4 |
5 | This course covers:
6 |
7 | - Introduction
8 | - Guidelines
9 | - Iterative
10 | - Summarizing
11 | - Inferring
12 | - Transforming
13 | - Expanding
14 | - Chatbot
15 | - Conclusion
16 |
17 | ## [Advanced Cypress](https://testautomationu.applitools.com/advanced-cypress-tutorial/) - by Filip Hric
18 |
19 | This course covers:
20 |
21 | - Setup
22 | - Chaining commands
23 | - Multiple assertions
24 | - Changing the DOM
25 | - Cookies
26 | - Sending requests
27 | - Intercepting newtwork requests
28 | - Stubbing responses
29 | - Creating a custom command
30 | - Installing plugins
31 | - Running a task
32 |
33 | ## [Epic React](https://epicreact.dev) - by Kent C. Dodds (**in-progress**)
34 |
35 | This course covers:
36 |
37 | - React Fundamentals
38 | - React Hooks
39 | - Advanced React Hooks
40 | - Advanced React Patterns
41 | - React Performance
42 | - Testing React Apps
43 | - React Suspense
44 | - Build an Epic React App
45 | - Bonus Interviews with React Community Experts
46 |
47 | I've started documenting the learnings of each module, and I'll list them below, as I finish each one.
48 |
49 | - http://github.com/wlsf82/epic-react-fundamentals
50 |
51 | ## Functional Programming and SOLID - by Robert C. Martin on [Clean Coders](https://cleancoders.com/episode/clean-code-episode-58)
52 |
53 | This video talks about how SOLID principles can adhere to the functional paradigm.
54 |
55 | The five solid principles are:
56 |
57 | - SRP - The Single Responsibility Principle,
58 | - OCP - The Open-Closed Principle,
59 | - LSP - The Liskov Substitution Principle,
60 | - ISP - The Interface Segregation Principle, and
61 | - DIP - The Dependency Inversion Principle.
62 |
63 | ## [THE BADASS WORKSHOP](https://www.thebadassworkshop.com) - by Bozama Saint John
64 |
65 | This workshop covers:
66 |
67 | - Session 1: Learn to identify your unique talents and show up as your full self
68 | - Session 2: Find your voice to create the career you want... and be LOUD about it
69 | - Session 3: How to ask, get, make, and do the most
70 | - Session 4: Condition your inner BUSINESS athlete to play the long game
71 | - Session 5: Manifest the lessons in sessions 1-4 into your future self RIGHT NOW
72 |
73 | ## Contract Tests with Pact - [Test Automation University](https://testautomationu.applitools.com/pact-contract-tests/)
74 |
75 | This course covers:
76 |
77 | - Introduction to Contract Tests
78 | - Setting up Pact
79 | - Creating your first test
80 | - Publishing and Matching
81 | - Best Practices for Contract Testing
82 | - Authentication and Authorization
83 | - Common Issues and Analyzing Test Results
84 | - CI/CD Pipeline
85 |
86 | **Note:** The code created during this course can be found through the following URL https://github.com/wlsf82/tau-pact-nodejs-course.
87 |
88 | ## Functional Programming - [Eric Elliott JS](https://ericelliottjs.com/premium-content) (**in-progress**)
89 |
90 | This course covers:
91 |
92 | - Abstraction and Composition
93 | - ES6 Curry and Function Composition
94 | - How to Redux
95 | - What is a Clousure?
96 | - Pure Functions
97 |
98 | ## Introduction to Node and Express - [Eric Elliott JS](https://ericelliottjs.com/premium-content)
99 |
100 | This course covers:
101 |
102 | - A basic introcution to Node and Express
103 | - How to install Node using NVM (Node version manager)
104 | - Express installation and usage (creating a simple node server)
105 | - Working with environment variables
106 | - Testing of Express routes with Supertest and Tape
107 | - Refactoring Express routes with middleware to avoiding code duplication
108 |
109 | > The code created during this course can be found in the following repo https://github.com/wlsf82/node-and-express/.
110 |
111 | ## TDD Day - [Eric Elliott JS](https://ericelliottjs.com/premium-content)
112 |
113 | This course covers:
114 |
115 | - What is TDD?
116 | - Why TDD?
117 | - Why Test First? Q&A
118 | - Kinds of Tests
119 | - 5 Questions and RITE Way
120 | - Project - Unit Tests
121 | - What are Functional Tests
122 | - Project - Functional Testing
123 | - Mocking is a Code Smell
124 | - Mocking is a Code Smell Q&A
125 | - Project - Reducer Tests
126 |
127 | ## Exploring Service APIs through Test Automation - [Test Automation University](https://testautomationu.applitools.com/exploring-service-apis-through-test-automation/)
128 |
129 | This course covers:
130 |
131 | - What exactly is a service API, and why is it so important to make sure that they have their own thorough test cycle
132 | - Tools for API discovery and exploration
133 | - Deep dive into the Postman tools
134 | - The P.O.I.S.E.D. testing heuristic to improve and expand the testing strategy
135 | - How to use Postman to run automated tests, do data-driven testing and include tests in a continuous integration environment
136 |
137 | ## Building Interactive JavaScript Websites - [Codecademy](https://www.codecademy.com/learn/build-interactive-websites)
138 |
139 | Learn the Document Object Model, the interface between JavaScript and HTML elements, and combine HTML, CSS, and JavaScript into exciting interactive sites!
140 |
141 | ### The applications built during the course can be found through the below links:
142 |
143 | - https://chore-door.s3.eu-central-1.amazonaws.com/index.html
144 | - https://piano-player.s3.eu-central-1.amazonaws.com/index.html
145 | - https://musicon-codecademy.s3.eu-central-1.amazonaws.com/index.html
146 |
147 | ## JavaScript Errors and Debugging - [Codecademy](https://www.codecademy.com/courses/javascript-errors-debugging)
148 |
149 | Learn how to debug and handle errors in your code!
150 |
151 | ## Introduction to TypeScript 2 - [edX](https://www.edx.org/course/introduction-to-typescript-2)
152 |
153 | Learn all the basics of TypeScript to build great web applications. TypeScript is the future of web development.
154 |
155 | ## Asynchronous JavaScript - [Codecademy](https://www.codecademy.com/learn/asynchronous-javascript)
156 |
157 | Learn how to write asynchronous JavaScript using promises and async await syntax!
158 |
159 | ## Learn Node.js - [Codecademy](https://www.codecademy.com/learn/learn-node-js)
160 |
161 | Learn about the different components of a web application's back-end and explore the Node.js JavaScript runtime environment.
162 |
163 | ## Testing NuBank clone mobile app with Robot framework - [QA Ninja](https://www.qaninja.io)
164 |
165 | Learn how to create automated tests for mobile apps using the Robot framework.
166 |
167 |
168 | Click to see the certificate
169 |
170 | 
171 |
172 |
173 | ## The Whole Team Approach to Continuous Testing - [Test Automation University](https://testautomationu.applitools.com/the-whole-team-approach-to-continuous-testing/)
174 |
175 | This course covers:
176 | Continuous testing, The Whole Team Approach, How to Tackle Automation without an Expert, Working Solo, Pairing Up, The Mob Approach, and The Need to Experiment.
177 |
178 | ## Web Element Locator Strategies - [Test Automation University](https://testautomationu.applitools.com/web-element-locator-strategies/)
179 |
180 | This course covers:
181 | What's in a Web page, programming with the DOM, finding live Web elements, CSS selectors, XPaths, advanced XPaths, picking the right locator, and using locators for testing.
182 |
183 | ## Introduction to Cypress - [Test Automation University](https://testautomationu.applitools.com/cypress-tutorial/)
184 |
185 | This course covers:
186 | Setting up Cypress, writing the first test, accessing elements and interacting with them, validations, grouping tests with Mocha, Cypress CLI, Page Objects in Cypress, and visual validation.
187 |
188 | ## KMP I & KMP II - [Aspercom](https://aspercom.com.br/treinamentos/)
189 |
190 | Kanban System Design & Kanban Management Professional
191 |
192 |
193 | Click to see the certificates
194 |
195 | 
196 |
197 | 
198 |
199 |
200 | ## Learn Vue.js - [codecademy](https://www.codecademy.com/learn/learn-vue-js)
201 |
202 | Learn how to make front-end web apps with ease using Vue.js, an increasingly popular JavaScript front-end framework.
203 |
204 | ### The learnings from the course can be found through the following public project on Gitlab:
205 |
206 | - https://gitlab.com/wlsf82/learning-vuejs
207 |
208 | ## Test-Driven Rails - [Thoughtbot](https://thoughtbot.com/upcase/test-driven-rails)
209 |
210 | Learn Test-Driven Rails Development using RSpec and Capybara in this series of tutorials. As part of the course, you can follow along with Josh as he lets his test drive through each of the steps needed to build out an application.
211 |
212 | This course covers testing at all the levels of a Rails application and it helps on getting a new level of confidence in Rails apps - TDD is a great way to build robust and clean code.
213 |
214 | ## Selenium WebDriver with Ruby - [Test Automation University](https://testautomationu.applitools.com/selenium-webdriver-with-ruby/)
215 |
216 | WebDriver is a powerful framework to drive actions in the web browser. This course covers:
217 |
218 | - WebDriver basics and setting up WebDriver and Ruby
219 | - The API and common use cases/tests using WebDriver
220 |
221 | ### The learnings from the course can be found through the following public project on Github (fork from the course):
222 |
223 | - https://github.com/wlsf82/webdriver-ruby-practice
224 |
225 | ## Scaling Tests with Docker - [Test Automation University](https://testautomationu.applitools.com/scaling-tests-with-docker/)
226 |
227 | This course covers the following subjects: introduction to Docker, Docker installation and setup, scalling tests using Selenium Grid, and scalling tests using Docker Swarm.
228 |
229 | ### Some of the learnings from the course can be found through the following public project on Gitlab:
230 |
231 | - https://gitlab.com/wlsf82/scaling-tests-with-docker
232 |
233 | ## Learn Ruby on Rails - [codecademy](https://www.codecademy.com/learn/learn-rails)
234 |
235 | Learn the basics of building applications with this convenient and powerful web development framework.
236 |
237 | ### Some of the applications built during the course can be found through the following public project on Gitlab:
238 |
239 | - https://gitlab.com/wlsf82/myapp
240 | - https://gitlab.com/wlsf82/messengerapp
241 | - https://gitlab.com/wlsf82/travelapp
242 |
243 | ## Learn Ruby - [codecademy](https://www.codecademy.com/learn/learn-ruby)
244 |
245 | Learn to program in Ruby, a flexible and beginner-friendly language used to create sites like Codecademy.
246 |
247 | This course covers:
248 | Introduction to Ruby, control flow, looping, arrays and hashes, blocks and sorting, hashes and symbols, refactoring, blocks, procs, and lambas, and finally, object-oriented programming.
249 |
250 | Some of the code created based on the course can be found [here](https://github.com/wlsf82/ruby-exercises/tree/master/codecademy).
251 |
252 | ## The TDD Course for Beginners: Learn by Practicing 7 katas - [Udemy](https://www.udemy.com/draft/281018/)
253 |
254 | Learn how to do test driven development using Ruby within 4 hours.
255 |
256 | The code created based on the course can be found [here](https://github.com/wlsf82/ruby-exercises/tree/master/udemy).
257 |
258 | ## Test-Driven Development - [codecademy](https://www.codecademy.com/learn/learn-testing-for-web-development)
259 |
260 | Why test? Fundamentals of testing, full-stack test-driven development, and the development of two full-stack web applications using outside-in TDD.
261 |
262 |
263 | Click to see the certificate
264 |
265 | 
266 |
267 |
268 | ## Introduction to JavaScript - [codecademy](https://www.codecademy.com/learn/introduction-to-javascript)
269 |
270 | Introduction to JavaScript variables, control flow, functions and higher-order functions, scope, arrays, loops, iterators, objects, advanced objects, classes, browser compatibility and transpilation, intermediate JavaScript modules, promises, async-await, and finally, requests (with ES5, ES6 and ES7 syntax).
271 |
272 | ## Advanced WebRTC Architecture course - [BlogGeek.me](https://webrtccourse.com/course/webrtc-architecture/)
273 |
274 |
275 | Click to see the certificate
276 |
277 | 
278 |
279 |
280 | [Back to homepage](../README.md)
281 |
--------------------------------------------------------------------------------
/partials/SIDE_PROJECTS.md:
--------------------------------------------------------------------------------
1 | # Side projects & community contributions
2 |
3 | ## Podcast: [Talking About Testing](https://open.spotify.com/show/5HFlqWkk6qtgJquUixyuKo?si=BBc1P9VERUu6T775YcbMXg)
4 |
5 | In January of 2025, I started a podcast where I interview guests and they talk all about testing, automation, leadership, and more.
6 |
7 | ## Podcast: [Tech & Accent](https://open.spotify.com/show/1ZRRgVDduSSSkWmhwyQIIE)
8 |
9 | In December of 2023, together with Alekson Fortes, we started a podcast to talk about technology from non-native English speakers.
10 |
11 | ## Podcast: [Testando na Gringa](https://anchor.fm/testando-na-gringa)
12 |
13 | In January of 2022, together with Alekson Fortes, I started a podcast to talk about everything related to software engineering and quality.
14 |
15 | ## [Hotmart courses](https://hotmart.com/pt-br/club/talking-about-testing):
16 |
17 | - [Cypress Playground](https://go.hotmart.com/W95121620B)
18 | - [Cypress, from Zero to the Cloud](https://go.hotmart.com/Y93958150U)
19 |
20 | **Note:** The above courses are only available in Portuguese.
21 |
22 | ## Udemy courses:
23 |
24 | - [Introduction to Test Automation](https://www.udemy.com/course/introducao-aos-testes-automatizados/)
25 | - [Elements of Automated Test Design](https://www.udemy.com/course/elementos-do-design-de-testes-automatizados/?referralCode=B0794A6F214DA875349E)
26 | - [Cypress, from Zero to the Cloud - PT-BR](https://www.udemy.com/course/testes-automatizados-com-cypress-basico/)
27 | - [Cypress Intermediate](https://www.udemy.com/course/testes-automatizados-com-cypress-intermediario/)
28 | - [Cypress Advanced](https://www.udemy.com/course/testes-automatizados-com-cypress-avancado/)
29 | - [Best Practices in Testing Automation with Cypress](https://www.udemy.com/course/boas-praticas-em-automacao-de-testes-com-cypress/?referralCode=53A9772BD676F93DC8A1)
30 | - [End-to-end Testing with Cypress](https://www.udemy.com/course/testes-end-to-end-com-cypress/?referralCode=BFC58FC7B29F2F37904D)
31 | - [Cypress, from Zero to the Cloud - EN](https://www.udemy.com/course/cypress-from-zero-to-the-cloud/?referralCode=CABCDDFA5ADBB7BE2E1A)
32 | - [Cypress Playground](https://www.udemy.com/course/cypress-playground/?referralCode=56D642D77624C195062C)
33 | - [Test Automation and Generative AI](https://www.udemy.com/course/testes-automatizados-e-ia-generativa/?referralCode=779B16AF44D60BAFB846)
34 |
35 | **Note:** On Udemy, I already have more than **22K** students.
36 |
37 | **Note 2:** From all of the above courses, **Cypress, from Zero to the Cloud** is the only one available both in English in Portuguese.
38 |
39 | ## Online School: [talkingabouttesting.coursify.me](http://talkingabouttesting.coursify.me)
40 |
41 | In March 2018, I launched an online school to teach test automation to new QAs or experienced professionals.
42 |
43 | The school already has more than **2.5K** students and **seven** courses.
44 |
45 | The courses are:
46 |
47 | - [Introduction to test automation](https://talkingabouttesting.coursify.me/courses/introducao-aos-testes-automatizados)
48 | - [backtop-config mini-course](https://talkingabouttesting.coursify.me/courses/mini-curso-testes-de-regressao-visual-com-backstop-config)
49 | - [Test automation with Cypress (basic)](https://talkingabouttesting.coursify.me/courses/testes-automatizados-com-cypress-basico)
50 | - [Test automation with Cypress (intermediate)](https://talkingabouttesting.coursify.me/courses/testes-automatizados-com-cypress-intermediario)
51 | - [Visual regression testing with Cypress and Percy (basic)](https://talkingabouttesting.coursify.me/courses/testes-automatizados-com-cypress-e-percy-basico)
52 | - [Visual regression testing with BackstopJS](https://talkingabouttesting.coursify.me/courses/testes-de-regressao-visual-com-backstopjs)
53 | - [Test architecture with Protractor](https://talkingabouttesting.coursify.me/courses/arquitetura-de-testes-com-protractor)
54 |
55 | **Note:** The above courses are only available in Portuguese.
56 |
57 | ## Book: [End-to-end testing with Protractor - Lessons learned about e2e test automation](https://leanpub.com/end-to-end-testing-with-protractor)
58 |
59 | In this book, you will find a collection of practices to implement end-to-end test automation in the development process of web applications using the Protractor framework.
60 |
61 | **Note:** This book is also available in Portuguese through the following [link](http://casadocodigo.com.br/products/livro-protractor).
62 |
63 | ## YouTube channel: [Talking About Testing](https://www.youtube.com/talkingabouttesting)
64 |
65 | This project is a YouTube channel with hands-on videos about test automation, group conversations, mentoring sessions, and career-related topics.
66 |
67 | **Note:** The majority of the content is in Portuguese, but I've started an [English content playlist](https://youtube.com/playlist?list=PL-eblSNRj0QFCgBuHFSSJUeEYDm6wwvHI).
68 |
69 | ## [GitLab-Cypress](https://github.com/wlsf82/gitlab-cypress)
70 |
71 | A sample project to experiment with [Cypress](https://cypress.io) for testing a complex web application such as [GitLab](https://hub.docker.com/r/wlsf82/gitlab-ce). In the project, I share some of my ideas about testing design, best practices, optimizations, and more. This project could be used as a base for those willing to learn about web testing with Cypress.
72 |
73 | ## Node module: [@walmyr-filho/cy-press](https://www.npmjs.com/package/@walmyr-filho/cy-press)
74 |
75 | A silly Cypress `.press()` command that simulates pressing a keyboard key.
76 |
77 | ## Node module: [protractor-helper](http://npmjs.com/package/protractor-helper)
78 |
79 | This project is a library with different methods that can be used together with Protractor for creating robust and flakiness-free end-to-end tests.
80 |
81 | ## Visual regression testing with [backstop-config](https://github.com/wlsf82/backstop-config)
82 |
83 | This project has a simple implementation of BackstopJS tests that can be used by anyone who needs to run screenshot comparison tests in static web pages that have different relative URLs.
84 |
85 | [Back to homepage](../README.md)
86 |
--------------------------------------------------------------------------------
/partials/certificates/KMP I.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wlsf82/cv/f7d5f81ee0361e05ea4ab27d3e376dadde5d9aec/partials/certificates/KMP I.png
--------------------------------------------------------------------------------
/partials/certificates/KMP II.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wlsf82/cv/f7d5f81ee0361e05ea4ab27d3e376dadde5d9aec/partials/certificates/KMP II.png
--------------------------------------------------------------------------------
/partials/certificates/TDD certificate - Codecademy - Walmyr Filho.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wlsf82/cv/f7d5f81ee0361e05ea4ab27d3e376dadde5d9aec/partials/certificates/TDD certificate - Codecademy - Walmyr Filho.png
--------------------------------------------------------------------------------
/partials/certificates/bloggeek.me certificate - advanced webrtc architecture course.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wlsf82/cv/f7d5f81ee0361e05ea4ab27d3e376dadde5d9aec/partials/certificates/bloggeek.me certificate - advanced webrtc architecture course.png
--------------------------------------------------------------------------------
/partials/certificates/robot-framework-certificate-walmyr.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/wlsf82/cv/f7d5f81ee0361e05ea4ab27d3e376dadde5d9aec/partials/certificates/robot-framework-certificate-walmyr.png
--------------------------------------------------------------------------------
/partials/motivation_letters/QA.md:
--------------------------------------------------------------------------------
1 | # I'm open to new opportunities
2 |
3 | I'm looking for a challenging opportunity as a **QA Lead**, **Quality Assurance Software Engineer**, **Software Engineer in Test (SET)**, or **Software Development Engineer in Test (SDET)**.
4 |
5 | The ideal position would be in the **JavaScript/TypeScript** realm, using **React** in the frontend, **Node.js** in the backend, **Cypress** for test automation, and one of the following tools for continuous integration and delivery (**GitHub Actions**, or **SemaphoreCI**).
6 |
7 | Ideally, this position would be in the **product development** space, **100% remote**, allow for **flexible working hours** (let people work when they're productive), encourage **async communication**, and **the company's headcount should be at most 50 people**.
8 |
9 | The company must value **autonomy**, **results over worked hours**, **open-source**, **test automation**, **clean code/architecture**, **refactoring**, **code review**, **small iterations**, and **transparency**.
10 |
11 | If your company has a position that could be a good fit for my profile, I'd be happy to have a chat.
12 |
13 | You can find my updated CV at **https://github.com/wlsf82/cv#walmyr-filho**.
14 |
15 | Cheers,
16 |
17 | Walmyr
18 |
--------------------------------------------------------------------------------