Embracing Challenges and Driving Quality: Introduction
In this article, I aim to share my experience at each step of the journey. So, whether you are a new graduate ready to embark on this exciting adventure or are still considering joining the nFocus team. My hope is that I can inspire and equip you to embark on your own rewarding career in this ever-evolving field, crammed with moments of growth, insight and transformation.
Understanding the SDET role
If you already know what an SDET is, great! But if like myself when first starting out, your knowledge of an SDET is limited and confined to a few google searches, let me explain. A Software Development Engineer in Test (SDET) is a unique blend of a Software Developer and Tester – combining the skills of a Software Developer with the mindset of a Tester. We are essentially Technical Testers, with a fondness for automating repetitive and time-consuming tasks.
Of course, an SDETs role extends far beyond automation. We play a pivotal role in ensuring high quality and reliability of software. In the fast-paced world of software development, this goal is of paramount importance. In all Software Development Life Cycles (SDLC), an SDETs presence is valuable, particularly in agile environments. Through continuous testing and validation, SDETs instil confidence in the development process, allowing for more frequent releases without sacrificing quality.
As the software development industry continues to evolve, so too does the role of an SDET. We embrace emerging technologies and innovative ways to enhance our methodologies and processes, keeping up with the latest trends in the software testing community.
Embarking on the Journey: From Academy to SDET Consultant
1. Onboarding at nFocus: A Unique Selection Process
The interview process at nFocus distinguishes itself from traditional technology companies by replacing boring exams with valuable psychometric tests and engaging group meetups that encourage out-of-the-box thinking and collaboration among candidates.
Personally, I was part of cohort two and was invited to Birmingham to participate in a group interview. The interview consisted of fun group-based problems to solve, as well as some quick-fire mini-interviews and finally a test. There was a varied range of people in attendance, all with their own experiences and skills.
Several respected nFocus representatives observed the entire process, taking notes during each interaction, with emphasis placed on ensuring all selected candidates are a good fit for the team, rather than solely selecting people based on technical skill.
After some time, a meeting was scheduled to conclude whether I had made it into the academy. I was thrilled to have passed and granted a position, all be it sat on the floor bloody, injured and still wearing scruffs. Okay, some quick context, I broke multiple bones in my arm and hand just in time for my meeting. Clearly a little shocked but also empathetic at my state, the team sent their congratulations and regards but in all honesty, I was too psyched to care about my injuries.
2. The nFocus Academy: Becoming a Fully Equipped Graduate SDET
Making it into the academy was a significant achievement. The academy structure continuously changes to reflect suggestions and feedback from prior intakes. So, I will not attempt to detail the exact structure but rather just outline some key aspects from my experience.
Virtual and In-Person Courses
Numerous courses approximating at about a week each, acting not only to teach specific topics but also as a chance for all the new and nervous graduates to settle in. The courses are light-hearted, fun and balanced with a nice mix of theory and practical activities.
I genuinely hate tests but after undergoing the courses and with the support of the mentors, for once I felt prepared and ready to ace them! There is room for error here in the form of retries and tailor-made feedback on your results – which arguably takes some weight off your shoulders.
These short projects introduced popular testing tools and essential coding skills.
A chance to consolidate all the skills and knowledge gathered so far in the form of a project automating some end-to-end tests on a live test application. The project gracefully emulated working on a real application for a real client and was used to entice prospective clients to pick me.
An opportunity to platform our creations and give clients a sense of our testing capability, project understanding and even personality.
Arguably, there is a lot do cover in a short time but it is all essential and arms you with the skills, confidence, and foundational knowledge to become a top tier SDET.
3. Interviewing for and Joining Clients: A New Home
Interviews can be daunting but fortunately, nFocus are pulling some preparatory strings in the background during the academy:
- Specially curating clients so that not only the client will value, but the SDETs that go there will be looked after and improve too.
- Observing SDET academy progress, to understand the SDETs needs and wants from a client like extra support, progression, morals, and values.
- Securing as many job placements as possible for soon to graduate SDETs.
- Ensuring clients have an appropriate support network in place.
Skills, interests and experiences are just a few of many factors in deciding which client would be a good fit. Some people have an interview with one client and some have many. Most graduates on my cohort had several interviews in the space of a couple days. Once complete, clients can choose which SDETs they want to work with.
Here enters my client, who had made a special request for a proof of concept (PoC). Very little automation was in place and so the goal of the PoC was to provide some insight into an SDETs possible value. The remaining idle graduates and I got to work, presenting the findings two weeks later. In essence, the PoC was a massive success.
Obviously, I did not follow the standard interview process per se. But regardless of your own client onboarding process, I have no doubt you will be joining a respected company from an ever-growing catalogue of clients eager to embrace your skills.
4. Common Day-to-Day Activities: The Day of an SDET
To provide some context, my client had no test automation codebase or team in place when I joined, presenting unique challenges for a first timer. Fortunately, nFocus ensured I had a well experienced inhouse mentor to support me, helping set up the project and answer any queries I had until I became more independent.
The first few months working with my client was mainly focused on:
- Learning new tools chosen from the PoC.
- Establishing a solid automation foundation and framework.
- Enhancing web-based testing expertise.
- Attending code reviews, walkthroughs, meetings.
- Setting up necessary tools and mandatory security training.
- Building a trusting relationship with my client.
The perks of being the first SDET for my client is that whilst this is a new experience for me, it's also a new experience for them. A mutual partnership has been forged through working together and helping each other learn from our mistakes and triumphs.
As of writing this article, I have been with my client for just under a year. Excitingly, I have just completed another PoC and have begun work on automating desktop applications.
For those interested, below is a summary of some of my day-to-day tasks. This is true to what I tend to do most frequently:
- Creating and managing estimations.
- Automating new tests.
- Helping rewrite tests and regression plans.
- Learning new tools and skills.
- Attending code reviews, walkthroughs, meetings etc.
- Refactoring automation code - improving and annotating code, bug fixes etc.
- Helping train testers to use the automation project and tools.
I use NodeJS and Playwright with Typescript to automate web-based applications and use Ranorex with C# to automate desktop-based applications.
Important Lessons Learned
Some personal lessons I have learned during my time at nFocus, that I think are valuable to keep in mind:
1. Asking for help at the right times
This one may seem obvious but it’s something I am actively trying to master - asking for help when you need it or are unsure, collaboration is key after all. You don’t want to produce work blindly built on loose assumptions. Be proactive and reach out to get the information you need to be sure. That does go to say, don’t ask for help with every little problem, researching is a crucial skill that can only be developed by doing it.
2. Avoiding bottlenecks and excessive task backlogs
It can be tempting to push tasks to the side or even forget about them if you’re working on many things at once. You want to avoid creating bottlenecks of ‘irrelevant’ tasks, especially if you have pressing deadlines. Creating an excessive backlog of tasks is another common trap that is easy to fall into and has potential to interrupt workflow.
3. Embracing feedback
Uplifting feedback is always gentle on the ears but it’s just as important to take on board and appreciate any negative feedback and critiques. By pointing out potential weak areas, feedback can be seen as opportunities for growth and improvement. Seek feedback as often as you can and ensure you understand the reasonings behind each point.
Milestones and Achievements
To think I have only been with nFocus for just over a year is crazy, it feels like it has been much longer. During that time, there have been several milestones and achievements I am proud of:
- Completely automated manual regression tests for three different applications and began work on a fourth.
- Created a comprehensive automation framework and code base from scratch, with the help of a mentor. I’ve watched it go from a tiny project to a fully-fledged automation project spanning several applications and thousands of tests.
- Contributed to the widely popular open-source testing tool, Playwright, via creation of a GitHub Issue containing steps to reproduce a bug I had discovered. After back-and-forth collaboration, the bug was fixed in an upcoming release and I was super proud to have contributed to such a respected testing tool.
The Impact of Employing an SDET
The addition of an SDET to my client’s team has already yielded significant benefits in less than a year. Test regression plans that used to take days to complete now take hours if not minutes and can be run overnight with beautiful reports ready by morning.
No one wants to do the same repetitive tests repeatedly - with automation, the manual testers have more time to focus on other tasks, without sacrificing any confidence in the quality of the software. Everyone is thrilled with the status of the automation and keen to get trained to use it. No pesky manual tests again!
In conclusion, my journey as a Graduate SDET Consultant at nFocus has been a whirlwind of learning, growth and accomplishment. From the refreshingly unique onboarding experience to where I am now, I have found myself surrounded by and working with supportive and genuine people. There are plenty of regular virtual and in-person activities to let off some steam and chill with your colleagues. It doesn’t take long to understand why everyone at nFocus is proud and thrilled to be a part of the team.
As I reflect on my time, I can’t help but be grateful for all the opportunities I’ve had to make a real impact and all the people I’ve had the pleasure of meeting. Every day is rich with challenges, triumphs and opportunities. I find it amazing to know something I have created will be used by many for years to come and could even outlive me…
My role as an SDET has not just enriched my own skillset but it has left a lasting impression on my client and their new outlook on testing. The transition from manual to automated testing has been a gradual yet valuable process.
Thank you for joining me and taking the time to read, I wish you all the best as you embark on your own adventures in the world of technology. I hope you’ve found some value in this article. Remember that every challenge presents an opportunity to learn and every setback is a step closer to success. I am excited to see what lies ahead, my journey has only just started.