I'm Angie Jones. Senior Developer Advocate. Ask me Anything! 👋
I'm Angie Jones - a Senior Developer Advocate who specializes in test automation strategies and techniques. I share my wealth of knowledge by speaking and teaching at software conferences all over the world, writing tutorials and technical articles on angiejones.tech, and leading the online learning platform, Test Automation University.
As a Master Inventor, I'm known for my innovative and out-of-the-box thinking style which has resulted in more than 25 patented inventions in the US and China. In my spare time, I volunteer with Black Girls Code to teach coding workshops to young girls in an effort to attract more women and minorities to tech.
Let's talk about:
- Test Automation
- Visual Testing
- Test Automation University
- Automation Cookbook
- Patents Invention
- Developer Advocacy
- Speaking at tech conferences
I will start answering your questions live on Friday, 15th May, 06:00 PM GMT.
Learn Something New Everyday,
Connect With The Best Developers!
Hi Angie, thanks for this AMA.
Your innovative and out-of-the-box thinking style has resulted in more than 25 patented inventions in the US and China. I've heard the word "patent" several times but only have a blurred understanding of it and I'm sure some others do also. What does patent inventions actually mean?
Also, how did you go about getting a patent?
Lastly, what inspired all 25 patents you got?
A patent is basically an exclusive right, granted by a country, to make, use, and sell an invention.
I got into patenting while working for IBM, who has a very extensive IP catalog.
My inventions are on things like collaborative software, virtual worlds, smarter planets, and software development enhancements.
You can see them all here
I'll also be giving a talk on the Patent Process including how to come up with ideas at In Streaming Color. Tune in!
Hi Angie, is there a demand for Java in 2020? If yes, are these demand related to newer projects or legacy projects like in corporates? Should a beginner developer learn Java in 2020?
Good question! Yes, Java is still very much in demand.
It's being used for new projects as well as legacy ones. This CodeNewbie podcast by Peggy Fisher covers What is Java good for and why is it still one of the most popular coding languages
If you're interested in backend or mobile development, then Java is a solid choice to learn in 2020. I highly recommend (lol) my FREE Java course. It's really the best for learning core Java.
What is the best advice someone has given you that has helped you in your career that you can also give to me?
Don't be afraid to ask for help. We work in a field where mostly everyone is smart. The work is also very challenging. It can be intimidating, and lead to imposter syndrome, when we struggle.
Be sure to clearly describe the problem, list what you have tried, and then seek assistance on what you are stuck on.
Could you please explain how to learn unit testing, security testing/penetration testing and whitebox testing. Please share if any resources to learn them
How has quarantined life changed the way you used to work? Are you more productive now or less?
You're an advocate for automated visual testing Angie and I see that this new approach, as opposed to manual testing, automates the process of detecting and reviewing visual UI changes with visual evidence that our application looks and behaves as we intend it too.
Why do you think I should consider this approach and how do you think the developer ecosystem is embracing it.
In general, how can I get started and what resources can you recommend, please?
Visual testing is AMAZING! Traditional testing tools work with the DOM to determine the state of the application. But just because something exists in the DOM doesn't mean it is presented correctly on the screen. It could be covered by another element, it could be bleeding off the edge of the page, it could be the same color of the page!
Visual testing helps us better test our applications by testing the screen, which is what our users see and interact with.
Developers are really wowed by how visual testing helps them remove their blind spots
Hi Angie, What is for you the best way to manage test automation data? Do you think that manage your test data in files, databases or API are good options?
Angie Jones Thanks a lot!
I like the approach of create and delete the data, but in the company where I work, everyone wants to run the tests with their custom data. How do you share your automated tests and their data for technical and non thecnincal people can run the tests?
Hi Angie, I love how you represent the underrepresented community in tech and I'm happy for all your successes.
I'm one of the underrepresented ones and from a developing country coupled with the fact that I'm 17.
In what ways do you think I can maximize my chances of getting good internships to grow and connect?
If in school, reach out to the Career Center and express interest in obtaining internships.
With COVID-19, it may be hard to get internships and apprenticeships right now. A good way to gain experience from home would be to contribute to open source projects. Not like one typo issue, but really become a part of the project.
Check out the responses to this tweet to find beginner-friendly OS projects to contribute to:
How is Applitools solving the visual testing automation problem as opposed to platforms using snapshot testing like Selenium Webdriver, Cypress, or WebdriverIO?
Is Applitools cost-effective for small projects?
Many tools have screenshot capabilities but do not analyze those screenshots for bugs.
Applitools provides visual testing by using AI to mimic the human brain and eye and detect visual differences within your application.
Applitools offers a forever-free account, which contains all of the features needed for small teams and is perfect if you only need to do a hundred or so checks a month.
Also, for qualifying open source projects, the upgraded account is available free of charge.
How did you get into public speaking Angie, what advice do you have for a beginner like me?
I started with blogging first. It helped me gain experience and confidence with explaining technical topics.
Next, look into speaking internally at work. Lunch and learn type of vibe where maybe you explain some new tool or technique.
Local meetups are also a great way to begin public speaking. Not as scary as a conference. Record this if you can.
Once you've done these things, you have some experience and hopefully video showing that you're a speaker. This will help when applying to speak at conferences.
I’m an automation developer working primarily with Ruby, Cucumber, and Selenium. I really enjoy test automation and I’m wondering what you would recommend learning for automated mobile testing and why?
Also, what are your favorite tools to work with in testing?
Btw I really enjoy your tech articles.
I'm a beginner in software development, currently learning HTML and CSS.
What skills would you advice I learn that would be relevant this period and would get me job opportunities too.
1 - Do you conduct paid mock interviews for testers/QA ? It would be nice to have a platform like career cup (mock interviews) and leet code (with testing problems) for QAs :)
2 - How can one practice testing without a job & maybe showcase testing skills ? i.e. like newbie front end devs make N websites in N days to showcase their skills.
3 - What is the bare minimum data structures & algorithms automation engineers might need on their jobs ?
How to keep your self motivated with among the growing tech developer competition, (imposter syndrome) also how to pick a path in the industry domain that will be having a promising path post-COVID
Can you recommend any resources on how to write and apply for a patent? Is there any tips on selecting patent attorneys/someone to assist in the process?
How can someone move from a developer role to a developer advocate role?
As a developer advocate, what kind of impact do you have inside your organization? Do you contribute to the codebase or do have more of a non-development impact?
For patents, I'll be giving a talk @ In Streaming Color, so check it out.
To move into Developer Advocacy, you should have a real passion for helping other developers. You can demonstrate this now by writing blog posts, giving talks, making videos, etc.
Once you have this portfolio of content, you can apply for DevRel roles just like you would any other developer job.
Why are junior developers considered a burden in their first year in any organization?
This makes me sad. I'm so sorry you're treated this way.
One thing that companies must realize is that they need to have the support to bring juniors on so that they are guided and mentored.
If you are not finding that within your company, try linking with external developer communities for support.
What are the few things a programmer should analyze before starting to code? Especially when they have an opportunity to build a project from scratch.
Angie, nice to meet you! 👋 What, according to you, are the best programming languages to learn in 2020?
Depends on what you want to do.
Java is still in high demand for services and backend roles.
Python is great for big data and ML.
The thing about programming is that you can pick up just about any language once you learn the fundamentals of programming in general. So, variables, objects, data structures, decision structures, loops, etc.
Hi Angie, what motivated you to speak publicly? When was your first stage appearance and how did it go?
Applitools provides software testing tools for visual testing such as the Eyes API and the Ultrafast Grid.
I have written about how cool visual testing is...to not only find visual bugs but also as a superset of functional testing.
In a nutshell, take this example. Typical testing tools would verify that all of this text is present. The tests would pass and this would be pushed to prod. Applitools looks at the actual screen to determine if it looks the way it's intended to.