Hello, my name is Pablo and I’ve completed courses for Ruby, JAVA, Javascript, SQL, Command Line, Building APIs from scratch, and currently doing Python. I’m a QA Engineer transitioning to Software Engineering Manager and I’m here to help out people as I can. Working on a couple of ideas to engage with the community and with Alyssa to set up some Q&A sessions.
After completing one of the courses, a lot of you ask: Now what?
Well, aside from being an app developer a good option is to be a QA Engineer. But what exactly does that mean? QA -> Quality Assurance
A QA Engineer should be part of any development team, they validate the requirements from the stakeholders and maintain the quality of the product. I say should be because a lot of companies don’t see the value in having a QA resource, and expect the developer to be responsible for the quality of their own code. To an extent, that statement is correct but a QA mindset is very different than a developer mindset.
Why? We find bugs in the code by testing the functionality, manually using the app.
How? Mostly by asking “what if I do this…”, we have inquisitive minds that don’t like to do as we’re told.
-
Hey, can you test the login page?
-
Sure.
– use a good password
– use a bad password
– use a SQL statement instead of a username (anybody know little Bobby tables?)
– use a Js script instead of a username -
Found a bug.
-
Wait, what? How did you crash the system?
-
Because you didn’t sanitize your db inputs.
Developers usually only do what they’re told, unless you give them very specific instructions they don’t ask the "what if’s. QA does.
Eventually, all apps are too big to be able to execute every possible scenario manually in a reasonable timeframe (regression cycle). That’s where the Engineer part and your recently completed course come in. Instead of manually testing every flow in the app, you can automate it. Use Python, JAVA, Javascript, or any other number of languages and you can automate a piece of software.
Tired of testing the login page every single time? Write a script for it, it will execute automatically and you can worry about more critical areas of the app.
Automation can be done on the front end, the back end, on mobile apps, or the pipeline. What tools or language you use depends largely on the project at hand.
Questions, comments?
Discuss.