├── 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 | ![qrcode 70528238](https://github.com/user-attachments/assets/0d655ebb-1f73-4ba2-82e3-35e746ea890f) 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 | ![Image of certificate](./certificates/robot-framework-certificate-walmyr.png) 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 | ![Image of certificate](./certificates/KMP%20I.png) 196 | 197 | ![Image of certificate](./certificates/KMP%20II.png) 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 | ![Image of certificate](./certificates/TDD%20certificate%20-%20Codecademy%20-%20Walmyr%20Filho.png) 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 | ![Image of certificate](./certificates/bloggeek.me%20certificate%20-%20advanced%20webrtc%20architecture%20course.png) 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 | --------------------------------------------------------------------------------