I invited on a software engineer in test to talk about both what his job is like and how to actually become one. We ended up diving into so much more - different types of testers, certifications, programming languages, testing frameworks, and of course who would even be good for this role. If you're interested in writing automated tests or are even an aspiring developer that wants to use this position as a stepping stone to becoming a traditional software engineer, this episode is for you.
James Morin (guest):
Linkedin - https://www.linkedin.com/in/jamesmmorin
---------------------------------------------------
🚀 Technical Mentorship - https://forms.gle/Ypde55JEQdtAftrBA
🎓 Webdev Career Help - https://calendly.com/donthedeveloper
Disclaimer: The following may contain product affiliate links. I may receive a commission if you make a purchase after clicking on one of these links. I will only ever provide affiliate links for apps that I've used and highly recommend.
My #1 recommended FRONTEND course (15% off):
https://v2.scrimba.com/the-frontend-developer-career-path-c0j?via=donthedeveloper
My #1 recommended BACKEND course:
boot.dev - Get 25% off your first payment with code "DONTHEDEVELOPER"
🤝 Join our junior friendly developer community:
https://discord.gg/donthedeveloper
I invited on a software engineer in test to talk about both what his job is like and how to actually become one. We ended up diving into so much more - different types of testers, certifications, programming languages, testing frameworks, and of course who would even be good for this role. If you're interested in writing automated tests or are even an aspiring developer that wants to use this position as a stepping stone to becoming a traditional software engineer, this episode is for you.
James Morin (guest):
Linkedin - https://www.linkedin.com/in/jamesmmorin
---------------------------------------------------
🚀 Technical Mentorship - https://forms.gle/Ypde55JEQdtAftrBA
🎓 Webdev Career Help - https://calendly.com/donthedeveloper
Disclaimer: The following may contain product affiliate links. I may receive a commission if you make a purchase after clicking on one of these links. I will only ever provide affiliate links for apps that I've used and highly recommend.
My #1 recommended FRONTEND course (15% off):
https://v2.scrimba.com/the-frontend-developer-career-path-c0j?via=donthedeveloper
My #1 recommended BACKEND course:
boot.dev - Get 25% off your first payment with code "DONTHEDEVELOPER"
🤝 Join our junior friendly developer community:
https://discord.gg/donthedeveloper
All right. Welcome back to podcast episode, where we're gonna be diving into, um, software engineer and test. So a lot of people can hear, they might hear traditional software engineering paths like front end and back end, especially when I talk a lot about web development, but, um, there is a position. Uh, that's essentially where software engineers will focus a little bit more on building automation, testing that not a lot of people hear about. I actually have a friend in that used to be a software engineering test and he loved it. He talked a lot about it, uh, much, much more knowledgeable and much better at writing tests than I was. Um, so I learned quite a bit from him, but yeah, we're gonna be diving into it. We're gonna talk about, you know, what's it like what's the day to day, like. And how do you get into it? So I invited on a software engineering test has, uh, quite a bit of experience in it. Uh, James, thanks so much for coming
James Morin:on. Hey, it's my pleasure. Thanks for inviting me, Don.
Don Hansen:Absolutely. I'm looking forward to this episode. So let's kind of do just a little bit of an intro. Um, who are you? What are you doing right now?
James Morin:So I've been working as an Ste for the last six years. Um, my, the first four years of experience that I had was writing automated tests using Java and selenium, which is, uh, historically, um, Selenium has kind of been the king of the automated testing frameworks. And, uh, it has libraries and all the big languages, um, Java C sharp, you know, all the, um, all the big ones you could even use selenium with like Java script though. Java script has a lot of its own automated testing frameworks. Um, in the last couple years, I've, uh, migrated over to using Cypress, which is a JavaScript framework. Uh, really wasn't on purpose. One of my clients that had hired me, um, to write Java selenium, um, they decided at the last minute to use Cypress. So, um, I just started that con it was a year contract and I started that contract learning Cypress, and I really enjoyed it. Um, so yeah, the, the last six years I've been all doing automated testing and. It's been fun.
Don Hansen:Okay. Well, glad I'm glad. It's fun. I hate when people get stuck into things they don't enjoy. So, um, what's it like what makes it fun? What's your day to day? Like.
James Morin:Yeah. It's, uh, people ask me what I do. And I usually just say I'm a software developer, cuz people don't understand the difference. Right. If I run into an actual software developer, then, oh, I'm an S and they're like, oh, okay. It's kinda like a water down software developer. Um, you can get into it a lot of different ways. Um, I, I went directly from a coding boot camp into an ed role. Um, but it's very common to go from a manual tester role into an ed role and pick up automated testing that way. And I've trained, you know, when working with different clients, I've trained a number of, um, manual testers to become it's, it's very. Uh, the day to day is, is kind of like everything else actually, before
Don Hansen:you jump into that manual testers, is that like a QA position or is there official title for it?
James Morin:Sure. Uh, just kind of the, the industry jargon as would use. A manual tester is someone who doesn't write automated testing code and just tests manually, you know, logs in types, in the types, in the stuff all manually clicks. Make sure that all of that operates. If they're doing API testing, they'd copy base code and do an, uh, something like Appium, sorry. Excuse me. Not Appium, but something like postman generally. What
Don Hansen:would those titles look. Uh,
James Morin:QA, uh, QA tester. You'll see a lot of, um, roles like QA tester or even manual tester. Um, six years ago, manual tester. At least I saw that role a lot more common QA tester. I see very commonly nowadays and in the, and in the testing world, the jargon can get somewhat confusing because there are, um, There's manual testers, you know, QA testers, and then there's automated QA. And then there's Ste and most organizations kind of use them interchangeably, um, automated, QA, and Ste, and some insist on not using them interchangeably. um, so kind of, kind of the general definition you were say an, an automated QA, um, is a tester that writes automated tests. And generally speaking, an Ste a software development engineering tests is kind of the guy who writes the framework and provides automated tools for the automated QA to write his automated tests, almost like a test architect role. Okay. And so, like I said, those are kind of the, the buzz words for the different roles. Uh, it, in my contracts that I've done a little bit of all of it in my contracts and I've been called all of 'em. Okay. Good to know. So you'll see, you'll see automated QA, and you'll see Ste often use interchangeably. To make, to, to make a, a long answer short
Don Hansen:Yeah. And I think that just kind of gives people a little bit more of searchable terms when they wanna look up YouTubers that hold those positions and do that kind of stuff. And, sure. Um, so yeah. What's your
James Morin:day to day? Like, uh, like anybody else, usually it starts at least sometime early in the morning, um, with your stand. Hey, what I do yesterday, what am I doing today? Any blockers. Um, and you'll have your normal scrum meetings, you know, during your, um, backlog grooming, you'll define what stories you're going to going to be doing. And, um, when you're sprint planning, you'll assign yourself different stories. So, uh, during the day I'll, I'll. Um, log into my computer. I'll look at what stories I have to automate, and I'll start writing automation. Obviously a lot can go into that cuz when you're writing automation, um, and as you know, a general sprint is two weeks. Most companies use agile nowadays and most of them run on two week cycles. Some I I've had some run on a week cycle and I've had some run on a month cycle. Uh, but generally speaking you're on a two week cycle and uh, There can be lots of conversations about when you write your automated tests, because the developers are developing during that two week cycle and you are writing your automated tests. Um, so you're doing it concurrently. And with the knowledge that usually you will finish your automated test before the developers finish developing, um, So you you're with the understanding that your automated test, when you finish writing is going to fail. And this is a, this is like a, this is how it's supposed to go. Um, you'll write your automated test. It fails. And the developers they finish developing. So your automated test passes
Don Hansen:that can almost get frustrating. Well, I could see that getting frustrating if the requirements aren't well established in the beginning,
James Morin:it. The, uh, uh, a well run team, um, a well defined process, um, can alleviate a lot of the stress. And I've worked for clients that don't have well defined processes, and I didn't work for them for long. And I've worked for clients that had well defined processes, and I was sad to go, uh, cuz that, that makes a lot of difference. And yeah, it's, it's always, and I, I had a recent client similarly there. Uh, they wanted to amp up their automated testing processes. Because, you know, once, once you start getting a lot of, or your application becomes start, starts to become a lot more mature and you start to have a lot more tests building up your release process can really become a bear. And you're spending F 50 plus hours manually testing stuff. If you're pulling in the developers to manually test stuff, you're put in product people to manually test stuff, because you don't have enough manually testers, manual testers, excuse me, to manually test everything for the release. And so, um, People realize, oh, if we could just press a button and run all these automated tests and it would do it for us while we're sleeping, that would be great. And so they bring in guys like us to write the automated tests and they usually do it after the application's already mature. That's it just, it's just how it is. Everyone always waits to start QA, but, um, so they, they bring you in, you start writing the automated tests. Um, and we had the client, I had a, a previous client, a recent client, um, who wanted to, to do this, to improve their automated testing process. Um, but when I sat down with them and said, this is what the changes that you have to make in order to have, you know, an effective, automated testing process, they weren't ready to make those type of changes. So that contract quickly ended. Okay. They were like, whoa, like we didn't realize that it was. Like this big of a change and it can be for those, um, for those organizations that don't have their process in place. Yeah.
Don Hansen:Yeah. That makes sense. Um, I mean, I've been at different companies that have definitely prioritized automated testing and some have not prioritized it. Um, and sometimes it's a little bit more reliant on developers writing a lot of automation testing, and sometimes it's not, I would say in my experience, I've worked at three developer companies. Um, I was essentially on QA to write a lot of the automated tests for, well, one company. Um, QA, did it second company just manual testing. QA was definitely frustrated. I think they wanted a little bit more room to be able to build automated tests. Sure. And then, um, like, um, another company was. Um, essentially the developers wrote all the automated testing. I didn't spend a whole lot of time with Cypress because of essentially a lot of the features that they wanted to get out and how quickly they wanted to get it out. And that's another thing that's also. Uh, first of all, I appreciate people like you. I appreciate QA because I can tell you I've been on like almost all my teams. I've definitely had a lot of pressure that like deadlines are definitely something that developers feel tons of pressure with. And then a lot of times you can really test a process of a company. When you do get a new client, it needs to get done at a certain date. And then you essentially watch your entire process get executed. And a lot of times everyone's overbooked and quite frankly, testing it, doesn't go out the window completely, but sometimes it's looked over, um, and it causes way more issues in the long run.
James Morin:Yeah. It's kind of like the forgotten stepchild of the development process. Like everyone wants. One day someone's gonna have like an automated test suite. That's like AI driven and it can be, um, it can be effectively run by manual testers and whoever, whoever ends up designed and that's gonna make Buco box and I wanna work for them. Okay. Um, okay. That's an idea when, uh, I, there's a number of companies out there that are trying it. I just, I just haven't seen, uh, I haven't seen the solution yet. They all have their shortcoming still, but one day, like I said, someone's gonna have the golden ticket. And when that happens, guys like us will disappear. Okay. Because it's, it's, like I said, testing is just not giving, generally speaking testing is not given as much importance in the development process as actual development is. Yeah,
Don Hansen:that's true. Um, , you know, I've just worked in the startup world. I wonder if larger companies do have that issue as well. Do wait, actually, do you think you'll see more software engineer test positions at like much larger companies. Mid-size companies,
James Morin:startups I've seen, I've seen lots of Ste positions. Like I said, once companies, the smart ones, when they start up, they wanna integrate the QA process right away. Um, so that's good. Um, but you see lots of mid-size and larger organizations trying to play the catch up game. And, and that's where you often run into issues between testing and development, because testing hasn't been, um, Par the course from day one. And so development kind of feels like they have more being foisted upon than like, oh, and now we gotta make sure that these random dudes think are, who have no real code and experience like, think our, our code is okay. And like, it's, it can create some tension. Um, even though in agile, you're supposed to EV it's all part of the development process. You know, you're all part of the development team, but it's, it, it still can create tension. Oftentimes in those situations, it's hard to get buy in from the development team. And I've seen that stop automated testing, you know, at, at different clients I've been at. Okay, well,
Don Hansen:what could, I guess we can kind of dive into getting into automated testing and I wanna start with this question. What could aspiring people do to. Make sure that the company does take testing. Seriously. Are there any questions they can ask in the interview? Do they, um, yeah. What, what, how could they figure that out?
James Morin:Uh, what I was asked about is their process, like, what's your testing process, like, and I'll, I'll dive into it, you know, like go. How many automated QA do you have versus developers? You know, is it like you have nine developers, so one automated QA, or one QA tester. Um, like what's your release cycle? Like, you know, what is your C I C D platform? You know, how are you, how often are you, um, you running your regression tests, et cetera, et cetera, and often are, you know, are you using all your regression tests as part of your release? You know, We I'll ask those process questions. Cause I wanna see if they have a well defined testing process and oftentimes they don't, but oftentimes companies that don't realize that and they're like, that's why we're hiring you guys. Like we want your input when we want, um, to improve our process. Okay.
Don Hansen:What can you go over the different types of tests that are run and
James Morin:written? Sure. So you have, um, you know, most, most people know unit tests, you know, from development developers, write through unit tests and react at least know has a very, um, full fleded unit testing suite, um, where they can kind of write pseudo automated tests. And I've I had a client, uh, who was going to try writing cuz then your next kind of level you, you step up to is unit automated tests. For example, say you have a story in JIRA, cuz JIRA is a very popular content management system. Um, you have a story in something like JIRA, um, that says, you know, we're creating a login page, so you're going to have. Log in widget here on the page. And it's gonna say username can say password. You'll click in the box into username and password. When you hit log in, it will take you to the homepage. And so you would kind of your, your unit level tests you would write, like, is this widget, you know, do we, can we navigate successfully to this login page? Is the widget there? Does it exist? Does it say login? Does it say password? Does the login box in the password box exist? If we click on this. Can we enter our username? Can we enter our password? Can we, you know, it's, you're testing, uh, each of the, each of the units that the developers have written in their code and making sure that that they're and they operate properly. And then you kind of have functional tests or what's often called end to end tests that, um, I U I like to call them, uh, user story tests. They kind of mimic. Um, a user, um, as they're trying to use the application that just it's, it's not so much testing each individual unit on the page, but kind of how the function of the application works. So like I'm going to navigate to this page into my user password, hit login and make sure that I'm on the right page. Like it's not hitting every single unit on the page. And so those are often, um, given higher priority with things like releases. like if I run these in prod, um, and these tests mimic kind of like an, an end user, one of our, um, you know, one of our clients that's going to be using this application, um, will they find anything that breaks and they're all, they're all important. All important types of tests, they're just, they have, uh, different purposes, different uses, I guess you would say. okay. I appreciate that. And so, and, and oftentimes something like unit tests, the developers would, would think like, well, you know, I unit test my own stuff. Like yeah. But you don't unit test it when it's all put together, like on the page and reacts testing suite supposed is, is able to do that to a better extent. Um, I haven't, I, I haven't seen it done yet, so I really can't comment on it, but. okay. And you have lots of different types of other tests. You talk about black box testing, um, white box testing, you know, like black box testing, like, uh, It's uh, it's it's, you know, you, you can control the, you know, like you have, you don't know what the inputs are going in, but you're expecting a certain type of output in white box texts and you have control of the inputs. And these are, these are common tests that those automated testers and manual testers would do. And then if you're, you're moving onto like types of testing. So we, we talked about types of tests, but there's also types of testing where you could discuss, like, for example, most of my testing is on the UI. Like I mostly a UI automated tester where I test the website and then there's API testing. Um, well, you you'll be testing the API and then you have mobile testing and you have, um, Uh, performance testing and you have, you know, security testing. So there's lots of different types of testing that you can get into using automation as well as manual testing.
Don Hansen:Love that. Definitely a lot of options. I never heard about the black box and white box
James Morin:testing, and they're just common. You'll see.'em a lot on like applications. And if you take like the asst QB or the IST QB, if you're international, um, what those exactly. Uh, the American software testing, ASD, uh, testing qualifications board, I think is what it stands for. So an organization, um, you can take their tests kind of like as a, Hey, I passed like the entry level, um, asst QB tests. So I understand, you know, like it's kind of just, it's just an entry level certification for testing and ass. C Q B is a, um, a. Testing certification company and some organizations place more importance on that than others do. I've never really had, I've never worked for an organization that required any of those. So,
Don Hansen:so, but those would you advise international, uh, people that are trying to get into the United States or work in the United States to take that?
James Morin:You know, I, I work for a company, um, They were, uh, they would farm us out to different clients to do automated testing. And we had to have at least the entry level, um, AST QB test passed. Um, and that was just kind of, so they could put it on their website. All of our tests are AST QB certified. It's. It has value in my, in my mind, at least, and maybe other people would disagree, but in my mind it has value in the fact that you learn some of the common industry jargon when it comes to testing like black box and white box testing. Um, none of my clients have ever asked for me to perform. Black box and white box testing. Like it's just, it's just kind of, part of the testing that you do in automation, part of your unit testing, part of your, um, functional testing part. It just, it becomes part of it. You never really use the terms white box in black box on the job site to use air quotes, but those terms do exist in the industry and you will sometimes see them on job applications. It has experience with white box testing and black box testing. Okay. So it, it has, its it has its value in, in that way kind of helps you learn some of the jargon. But like I said, I I've never really used. I've never really used it aside from that. I don't even think it's listed on my resume.
Don Hansen:do you think it's relevant for people that live within the United States or any certifications?
James Morin:I have seen its relevance with manual testers. Um, For, for some reason, um, I've had a number of manual. This company I worked at, we had, there were lots of manual testers and, um, their clients seemed to like that they had a lot of manual testing certifications. So I have seen that a little bit, those requirements, a little more heavily involved on the manual testing side. Whereas in the automation testing side, they're more worried about your ability to write automated code. Got it. Because in the, on the, on the manual side, um, that sort of stuff really helps with the process of testing. Like we want to make sure that they know how to go and properly test a website manually. Okay.
Don Hansen:All right. That's, that's good to know a lot of, a lot of things that I definitely didn't know. Um, It, it almost sounds like it's automated testing sounds actually fairly accessible at the entry level. You had mentioned that you probably see like a lot of manual QA testers that will move into automated testing. Um, it's
James Morin:true. The, the development chops needed to do automated testing is not as extensive as a development as a developer. It's just not, I'm not as good at coding as a developer. And all my clients know it. I tell my clients when to hire me and there's been jobs that I don't get because they know that I'm not as good a coder as developers. And it, this always seems weird to me, but when I'm interviewing, they say something like, we're really just looking for a developer that loves testing and wants to, and I'm like, well, if he's a developer, why would he take a pay cut and become a tester? like, it, it, it always didn't make, it never made any sense to me. So
Don Hansen:it, I don't think I'm for a testing position, but they wanna develop. Oh,
James Morin:wow. And it's usually it comes from the business side of people who really don't understand the difference. Like, like no, if a dude is a really good developer, like he's gonna be paid to be a really good developer. Like he's gonna stay as a developer. He's not gonna take like a step down in his career path and become an automated tester. Um, it's uh, and there, there are positions where, uh, like test architect, for example, if you're going for a large, you know, I worked at, um, a and blue cross blue shield, one of my clients, um, we had like 20 ASTE, um, and a massive test framework over 2000 regression tests. And so our tests, architects, they were, they really knew their stuff. You know, they had some really serious development chops, um, and. For that kind of position, they needed it. So it was, it was a really massive behemoth of a framework and for a very large organization and yeah, they, they were quote unquote Ste, but, um, in those type of situations there, they were basically developers. Okay. But your, your general ASTE yeah. You, you kinda have your manual QA, and then you can step up into automation, which you need to learn some code to do. And then it's common like that. What's some code,
Don Hansen:like what, to what extent?
James Morin:Sure. So my first four years is Java selenium. Um, I'm decent with Java. Um, you know, I can. Do anything I need to with Java, but I I've never like developed applications for my clients in Java. I've never worked as a Java developer. Um, if you have a really strong grasp of core Java, you can work effectively as an Ste. Um, doing Java selenium. like you're writing Java selenium. I mean, OB obviously the more, you know, the better understanding object oriented programming, you you'd be better at designing, you know, frameworks and tests and stuff. However, like just if you're, if you're new into automation and this is how we would teach new assets, if you're new into automation, you can effectively knock out automated tests in Java. Salinium just having a strong understanding of core Java. wow.
Don Hansen:Okay. What, oh, go ahead.
James Morin:You know, that's pre object oriented programming. Okay. So, you know, if statements, you know, et cetera, et cetera, and we would, and this is how we, I would commonly train us assets. We, we had, uh, the company I worked through, we had a program where we would hire people without development skills and we would teach them. Uh, we would teach them Java and selenium over the course of three months. And by the end, they would, they would have to graduate taking what we call the test, um, where they would write their own framework, Java of selenium framework. And they would have to test a website with it. We'd give them criteria that they'd have the test. It was actually quite a difficult test and they had a week to do it. Um, most people finished in three or four days, but they had five days. Um, and so it, it was actually a really good program. I really enjoyed being involved with it. Um, I would usually teach them all the core Java portions and the selenium portions and other people would teach them. You would have manual testers, teaching them testing processes. Um, some of the developer guys would teach them like C I C D platform stuff. And, um, but it was, it was a cool program. And when you learn core Java, to that extent, you can't help, but pick up the basics of object oriented programming. Um, but. Like they, they didn't get heavily into it, like designing, um, like web applications.
Don Hansen:So that definitely gives me a picture for the Java track. If someone was very comfortable with JavaScript, what, what would they probably have to learn to be able to get an automated position
James Morin:with that? If you're comfortable with JavaScript picking up a language like selenium, I mean, excuse me, not Selen Cypress super easy. Cypress itself is a super easy, uh, language to test with. Uh, JavaScript itself has a lot of different testing libraries, things like MOCA and Chi. Um, and there. There's handfuls of them out there. Uh, Cypress, uh, it's, it's a really well designed, uh, testing library. At least I think it's very lightweight, uh, very easy to approach. Uh, documentation is excellent and it's all written in JavaScript. So if you're good with JavaScript, you won't have any problems picking up Cypress. I could take a guy who's good with JavaScript. And in a day he'd be writing automated Cypress tests. so it
Don Hansen:sounds like Java and potentially JavaScript are pretty good languages to learn for automated testing. Can you think of any others that are
James Morin:competitive? You know, um, when it comes to something like selenium, any of the big languages have libraries and selenium. So I see, I see lots of C sharp, for example, um, C sharp selenium, uh, lots of Python testing. I shouldn't say lots. Uh, you'll see, uh, Python used a lot with API testing, um, and some database testing, cuz Python's used a lot with big data. So you'll see more like database and API testing Python. Um, not as much front end testing using Python though. I have seen a few roles, you know, things with, uh, obviously Java and Java script, um, would do mobile testing as well for Android apps and then swift. If you want to get into, um, apple products, you know, testing, uh, testing, mobile, apple, apple applications, but yeah, the two, uh, for me, at least I started, I, I went to a coding boot camp and I learned Java, um, and I, I really wasn't aware that ASTE, you know, at that time, I, I just knew that I didn't know anything. Um, and I had applied just applying for jobs and I got hired at a place where their main bread and butter was automated testing. And so that's what I started doing. And so that's really what started my career path into automated testing. Interesting. Well, so we had, depending your language, it.. Yeah, it's, it's, it's not so much the language. It's more like the framework that you're looking at learning. Um, selenium, like I said, has been king, um, for many years and all of the big languages have, have selenium libraries. Um, but Cypress is really up, is really coming up really fast. It's becoming very popular. We use Cypress
Don Hansen:at my, um, my last company I worked at.
James Morin:It's cool. I really enjoy it.
Don Hansen:Yeah. Um, now I'm gonna be honest. I did not, but I also don't enjoy writing tons of automated testing. If I got into that, I think I heard a lot of good things about Cyprus and I even heard other developers on the team that did seem to enjoy it, actually old boss of mine, um, talked really highly of it. So
James Morin:yeah. You know, uh, the selenium has its shortcomings. It, it has really heavy overhead. Um, you know, when you're working. When you're working with a selenium project, you're get a dude called the architect. And his job is just to keep the lights on just to keep the framework running. Um, you got, you got a lot of a big, heavy framework. They usually use a page object model. Um, it's it's. It has a lot of overhead Cypress doesn't, it's very lightweight. It's very fast. And especially when Cyprus first came out, there was things you could do in selenium that you couldn't do in Cypress because selenium, um, is native in the browser. It runs a native JavaScript in the browser. Very fast, very lightweight selenium. Excuse me. Cypress is native in the browser where a selenium in my mind, at least more mimics a user testing with. Because you can, you can, um, kind of force things using selenium, cuz you're kind of coming from the outside in using a language like Java or C sharp, where you can use selenium to kind of force the browser to do things that you can't with Cypress. I should say that you couldn't, um, Cypress has made a lot of changes and they're constantly updating and improving it. So lots of the things that you couldn't do when I started using Cypress, you can do now.
Don Hansen:That, that was super helpful. That was very helpful. And I think a lot of people are gonna appreciate that. Um, just even trying to understand different technologies. Once we start getting into these, um, alternative positions to traditional software engineering, there, aren't a lot of there aren't a lot of courses there. Aren't a lot of people that are willing to create content and like talk about this in debt depth. You know, I.
James Morin:Um, learning Cypress was easy for me to pick up. I, I never was awesome at JavaScript and the Java, most of the JavaScript I know has come from learning Cypress and I realized that's a shortcoming of mine. So I've been taking, um, I've been putting myself in my free time through this JavaScript course that I found to be excellent. Uh, learn javascript.online. Okay. Um, it's an amazing, very well designed. It costs like a hundred bucks for the entire thing, but amazing JavaScript course. Um, and if you know, JavaScript, like you won't have any problems with Cypress. Okay. So if you want, if you want to get into Cypress testing, learn JavaScript. If you want to get into selenium testing, learn something like Java or C sharp, cuz those are the two most popular selenium libraries.
Don Hansen:That's good to know. Damn. Yeah, that's really good to know. And it sounds like, you know, so you mentioned you went from a coding boot camp, you got the, the job, it sounds like it is pretty accessible to the entry level. Um, why'd you decide not to do traditional software
James Morin:engineering, you know, it was, it really wasn't like I am doing Ste work and I'm not doing traditional software engineering. Um, it was just, I was looking for a job and that was the first good one that was offered to me. Um, When I graduated college, I graduated the month. The financial crisis started and, you know, through years of unemployment and underemployment, um, I ran across coding boot camp. and, um, where I was living, I just entered into Google coding, boot camps near me. And there was one that had just opened, um, and it was called the software Guild. And this, this was, you know, six plus years ago at the time. Um, I had an excellent experience with them. I, I have no idea if they've changed or, or what's changed, but I had an excellent experience. I thought they were very well organized. Um, went through the three month experience with them, um, and then got a job. Um, working app, having not been in the, in the software world before, um, and going through the bootcamp, I just realized that there was so much that I didn't know. And so I had applied to some organizations, got one job offer that I just didn't feel comfortable about. Um, kept looking and three months after graduating with the bootcamp, I got job offer, um, where I ended up moving to Nebraska and working as an and it was, it was great. Like, I, I couldn't have I, yeah. I had no complaints about it. And there was guys, there was about seven of us in that first cohort. Um, and we all got jobs working as you know, I was an Ste. Many of them worked, you know, as junior developers. Um, one guy was a salesman. And so, um, he was just taking it to kind of increase his knowledge and kind of make himself a better salesman. But the, the, all the other six of us got jobs in the software world, either ASTE or developers. And so, like I said, I, I just went down the Ste path and yeah, it's, it's fit me to a T so far. Yeah. You haven't switched out of it. I haven't, uh, I realize that the option is there. Um, and it's, it's something I considered, um, said I've, I've seen lots of, of QA manual QA. So also if you're kinda like, uh, I'm not sure if I, you know, it's, it's a lot of work to become a developer, you know, there's, there's a lot of work involved and it's hard. Um, and I won't like, it's not as hard to become an ENT. Um, It doesn't take quite as much development chops. If you wanna be really at the top of your game as an ASTE like test architect level, you gotta get up there. So hence why I'm, I'm putting my self through that JavaScript course. I realize like one of the things like those guys have that I don't is really good Javas of script knowledge. I'm working on fixing that. Um, but you can start, you know, like, Hey, I can, you know, if you wanna learn Java, go to programming by doing.com, it's completely free teach you core Java. You can buy his book after that to learn object oriented, Java, the best resource out there to learn Java. And then you can get a Java as a manual. Desker start working Java, selenium, you know, however you want. Or you could learn Java script and, and go to the Cypress.
Don Hansen:I appreciate the, the recommendations for learning resources too. That's something a lot
James Morin:of people struggle with. I've trained a lot of, a lot of stets in Java and that's always what I've used programming by doing. He's got some great projects. And so I would, I would run people through all of his basic skills like this, you know, take these 20 different. Uh, little projects that you have to do to learn four loops and then, you know, learn, do Wells and then, you know, learn if statements, you know, et cetera, et cetera. Um, and then, and then he's got projects. You can take those in a blind to projects. It's it's very well done. Okay. And so, like I said, I, I highly recommend it. That's how, that's how I learned Java and that's how I used. That's how I taught all of my, um, all of my students using air quotes here to learn Java. And I haven't really found a better. A better, um, way to learn basic Java, the books that I've looked at really jump into object oriented program too fast. Um, but before I found that my students had a grasp of the basics and I enjoy that he really walks you through, um, and really hammers the basics of, um, core Java before he gives you the opportunity to buy his object or into programming book. Okay.
Don Hansen:Thinking back to, um, thinking back to the actual position software engineering test, who would even like that type of position,
James Morin:you know, um, who would like it? Lots of people are interested in software development because, um, eh, I can tell you why I love my, uh, I, I love the career, uh, low barriers to entry, high pay, high demand. Um, Great work life balance. I mean, most of us work from home, so it's, I'm a contractor. I usually work for someone for six months to a year, and I usually never have any problems finding another contract after that. So the, the demand is just, the demand is high and the pay is good. And so it's, it's an attractive field. Um, however it can seem intimidating, um, to jump right into software development. And there's nothing wrong with jumping right into software development. You know, if, if you want to do that more power to you, I think that's great. Um, but oftentimes it can be very intimidating. It's kind of getting in through the testing route can kind of be more of a way to like, Test out the waters you could say before jumping into something like development full-fledged you could even start out as a manual tester, you know, study for something like the, as T Q B entry level apply. Find yourself a manual testing position. And if you, uh, show interest and automation, lots of organizations will train you as an automated tester. Get a few years under your belt of automated testing, and you can just naturally pick up development that way. Hmm. It's a, it's a much it's, I shouldn't say much easier, but it's a, it's a natural leap doing something like manual testing to Ste and then Ste to developer, kind of like a, an easy way to progress your skills.
Don Hansen:I like it. So I'm a big, so I used to, well, first of all, I always have a problem when coding bootcamps will give this statistic because 99% of people that go into a coding bootcamp, they want software engineering position. They want a traditional development position and they give this statistic, you know, um, 80, 90% of people, um, landing a job right after I quit bootcamp. The problem is, um, a portion of that maybe like 10 to 15% even, um, are nontraditional software engineering positions, like software engineering test, um, and kind of like maybe developer advocate roles. And there are a couple of others that I see are just like tech positions in general. So the problem I, I have with coding boot camps is they sell the statistic when they know. 99% of people are aiming for software engineers, but I wish Cody bootcamps could just be a little bit more transparent and open and just say, Hey, um, all these people are, or some of these people are also getting these other tech roles that are high paying. It's like, most people just want a career transition. Right? Yeah. And they find what they love. Um, so I I'm kind of conflicted. I, I like that Ko boot camps are pushing people into. Different roles like testing. I just wish they were more transparent about it.
James Morin:Yeah. First I, I, I completely agree. And I throw out there as well. There's other roles as well. Let's say, um, you know, I've worked with some older people. Like I've worked with some older people who are great coders. Don't get me wrong, but I've worked with a lot more older people who weren't and really just didn't have the jobs to do it. I say, you know what? You'd make a great manual tester. You'd make a great PO a product owner you'd make a great scrum master. Like you'd make a great BA or business analyst. Like there's lots of business roles as well. That support technology that are needed on scrum teams. And you can get really good paying jobs, doing those roles, um, as well with coding boot camps. Yeah, you just gotta understand. That's how they roll. Um, when I talked with the software Guild, I was like, tell me the real numbers. And they were like, yeah, these are them. And they were like, you're actually gonna make this much between 40 and 60. And we, they actually did 99%, you know, 95 or 98% of people who graduated do get a job. And the, and. Tech field somewhere. And I think I remember them saying not all our software developers, but that's, it's marketing. Right. And they all market, they all use that. And starting at 90,000, which is complete BS, unless you're living in California, which you can barely live on 90,008. Exactly. But most of it's B. And like the numbers are inflated because they're including the cost of benefits and stuff like that for, you know, the coding BA bootcamp, like, well, the entire package is worth like 90,000, like yeah. But that's misleading if you go into it, understanding that. And I just ask like, yeah, cut through the BS. Like what's my actual starting salary gonna be. And they just straight up told me it'll be between 40 and 60,000, depending on where you are in the country. Okay. Oh, excellent. And when it comes to coding boot camps, there's a lot of bad ones up. Yeah, you, you really gotta do your research. And I just happened to hit a good one at, you know, when I went, I thought they were great. Um, but do your research, um, make sure that you're not being taught by students who graduated from the last cohort. Um, you want your instructors to have, you know, five or 10 years of industry experience. You wanna make sure that they have a hiring manager? Um, that was the best part of the bootcamp that I found when I graduated. Um, Guy. What was his last name was Knight Dave, I can't remember his first name. Um, and his job was to help us find a job. Um, and you know, everybody says, you know, the old saying, um, it's a full-time job, finding a job. Finding a job was a full-time job and he taught us how to find jobs. Like he sat down with, you went over your resume, um, made sure it was excellent. And he sat down with you, like you're going to apply to at least two, you know, new jobs every single day. And this is what an application actually looks like. You have to call somebody to talk with them over the phone. Um, just sending out your resume doesn't count. And he would follow us up with us a couple times during the week, he'd call us random, like, Hey, I found this great job. Like you need to apply. And I talked with a recruiter there. He's expecting your call and like, Sent it out and rode us really hard until we got a job like, and he was excellent. And that was my favorite service that the coding bootcamp provided, um, was at job placement through, I think his name was David Knight. I can't remember. He set up like a, uh, speed dating, um, kind of like round table speed dating, where he pulled in like 20 companies from the area and had all these little tables and we would spend like five minutes and then we would, we would rotate to each table. We spent like an hour or a couple hours in there talk with each organization for like five minutes and you would give them our resume. And a couple of guys from our core had got hired from that. And so that was, that was really cool. And so you wanna look for services like that, that the coding bootcamp offers, like don't just go to some crappy coding boot camp. Cause there's a lot of'em out there nowadays. Yep.
Don Hansen:yep. And they continue to flood the market quite frankly. um, people that probably wouldn't even qualify for software engineering tests. There are a lot of very bad boot camps out
James Morin:there. Yeah. Um, I, wasn't an amazing coder when I came outta the boot camp, but I, I could quickly learn, um, our, our instructor went to MIT, um, and we asked her like, how does it compare? She's like, I knew the theory a lot better than you guys she's like, but you guys can code better than I could when I graduated. Hmm. Okay. So, and some of the guys coming out the bootcamp were really good. I just, I just thought I was kind of middle of the back, but
Don Hansen:that's fair. I kind of thought I was middle of the pack as well. I ended up getting a position pretty quickly.
James Morin:Yeah. I got a job. Um, honestly I think it would've been harder for me as a, as a, a developer, um, than it was as an upper developer, as an , you know, an engineering test. And so I'm glad where I, where I landed. And now that I've been doing for so long, the thought comes like maybe I wanna step up into development, start filling some, these gaps. Like my Java is script knowledge. You know, I
Don Hansen:like it. Maybe you end up getting that architect position, but,
James Morin:um, maybe NGO it's it's, like I said, it's kind of, it's almost kind of like a soft entry into the development world. Understandably your pay is a little bit lower. Kinda like if you're, if you're looking at like pay tiers where developers would be at the top of the tier, the next step down would be like an Ste. And then the next step down would be a manual tester or a QA. All of them, all of them pay decently. It'll get me wrong, but you're gonna make more money. Doing automated testing than manual testing. And you're gonna make more money doing development than you would automated testing. I mean,
Don Hansen:that's good to know. It's realistic. And I mean, like I said, most people are just trying to get paid a little bit more. A lot of people getting a detect that are in non-tech positions, usually they're bumping up their salary,
James Morin:you know, it's, uh, it's not that you get paid back. I've more than doubled my salary over the course of six years from when I started. And that's, it's not me. It's just, that's just what the market's like. So. Um, get in somewhere, get started. Um, and if it's a, as a manual tester, that's great. It's a good role. It'll, it'll really teach you the ins and outs of, um, the software world. You'll be part of a scrum team. You'll learn all the scrum practices, you know, you'll learn process, which is really important. Um, and you'll learn how to test an application manually. And then when you start doing work, it was kind of come naturally. You just have to pick up some. Okay.
Don Hansen:I like it. Um, I feel like we went over quite a bit. I do appreciate, I mean, even just going over the different stacks to technologies and you're clearly pretty knowledgeable around just testing in general and just different pathways into it and what it could extend to.
James Morin:Um, no, I've had a unique experience of training, lots of people from zero to hero. Mm. You know, getting into testing. So. that's
Don Hansen:where it comes from. I like it. I mean, this is all really good stuff, uh, before I just wanna, you know, be cautious of your time before we wrap it up. Is there anything else you
James Morin:wanna add? Uh, yeah, not, not really. Um, A plug for asset work. I enjoy it. I think it's a great realm. Um, like I said, one day someone will come up with that AI tool that replaces us, but I don't think it's gonna be anytime soon. Well,
Don Hansen:okay. Let me challenge you with this. I mean, a lot of software engineers are. Deathly afraid of no code and low code movement. Right. It's it's progressing. I mean, quite frankly, like you build landing pages with it, you can build a lot of integrations and automations between different business applications. So yeah, I get where their fear comes from. Um, but in the testing world, do you think that fear is warranted?
James Morin:I've I've done lots of POCs of lots of different products. And I just haven't seen something that compares with a good automated test sheet yet. Like I said, I think one day it'll come along. I mean, I mean, look at wissy wigs. They haven't put software developers out of, out of jobs yet because you can drive and drop and build nowadays using like Ws or, um, you know, what are some of the other ones that are really good? I only say Wix, cuz I have a small website with them. Squarespace, I think is their competitor where? Yeah. Squarespace is a big competitor. Both of them. You can build amazing websites, just drag and drop and stuff. It hasn't put developers out of jobs yet. Um, listen, we're in the technology business, it changes so fast. Like I can spend all day every day studying and I still won't keep up on it. Um, it's just, things are gonna change. Like don't be afraid of it, embrace it. And if things change, find a different angle. I like it. So that's, that's what you should be more focused on instead of being afraid of losing your job. Like how can I make myself more employable? Yeah.
Don Hansen:I mean, and yeah, I, I think even recently, I mean, I have this belief job security is an illusion way too many people put too much emphasis on that, but I mean, industry security and keeping up with technology is your security, right? Yeah.
James Morin:So yeah, if you're good at your job, people will come knocking on your door.
Don Hansen:exactly. I like it. Um, let's go ahead and wrap it up there. Uh, James, I do appreciate you doing this and you know, any one of the comments, um, let us know what you thought for the YouTube video. If you, if you're thinking about software engineering tests, if you wanna use that as a stepping stone, or you just really enjoy writing tests, and this is what you wanna focus on, let us know. But, um, James, if people wanted to reach out to you and anything else you wanna share, uh, what would you like to.
James Morin:Yeah. If, if people wanna reach out to me, I guess the best way would be through, through, uh, LinkedIn.
Don Hansen:Okay. All right. I'll go ahead. Do you mind if I tag your LinkedIn in the description?
James Morin:Yeah, go ahead.
Don Hansen:Okay. Cool. That's it? I do appreciate you coming on. Um, yeah, let us know what you thought, but James seriously has stick around for a couple minutes, but thanks
James Morin:so much now we just appreciate it.