From QA Web Testing to DWH Development

By Alexandru Găvănărescu, Software Engineer, Cognizant Softvision

I began my career as a QA tester, and after some experience it was suggested that I interview for a project in the banking industry as a DWH tester. For the interview, I was asked to write some basic SQL queries, to do a couple of joins and explain my thought process that led to the script.

I didn’t feel completely prepared for the jungle ahead of me. Luckily, there were talented people who were excellent headhunters and who trusted my abilities more than I did. I was also fortunate to receive great mentoring from colleagues.

First day on the job

When I first began my journey to become a DWH tester, I knew what SQL and a left join was and how to write an INNER JOIN. I was assigned to shadow a senior colleague who had been working on the team for about five months. Together, we worked our way through the process.

My colleague and I connected quickly. It just came naturally, as great minds think alike and tend to enjoy spending time together. We found common ground in the desire to debug and investigate.

Building my confidence

As the saying goes, “fake it ’til you make it.” And that’s just what I did at the start. I’ve come to realize that I was suffering from “Impostor Syndrome.” I felt like a fraud, like I wasn’t competent enough. Imposter Syndrome, a condition when people feel they don’t deserve their accomplishments, is quite common, as it turns out, affecting up to 70% of adults in their lifetime.¹

As the days went by, I started recovering without even knowing it.

A few days into the job I told my team lead that my query ran faster than the query she emailed me when I asked for help. At this point, I felt comfortable with SQL, but had questions about what tables and columns I should use.

My query was as follows:

Select a.* from a inner join b on a.key = b.key. — ran in 3 seconds

Colleague’s query:

Select * from a where key in (select distinct key from b) — ran in 20 seconds.

I do know a lot of stuff!

Today, I can honestly say that I am the right person for the job. I used to say that IT in the banking business, well known for strict rules and rigorous ways, is chaotic. But despite the chaos, I realized that I did have a lot of knowledge to offer.

I began to overcome my Imposter Syndrome. Afterall, I started programming in Pascal when I was about 10 years old. I spent days during my high school years editing some *.mdb files in MS Access to customize a football video game. I had a passion for programming and testing, which is one of the keys to success.

A huge accomplishment leads to disappointment

One day I was testing a package from the dev team, business as usual. With some tasks we had an initial load (historical data from the beginning of time to the present day) with its dedicated code. There was another package to be integrated in the daily ETL process. One of the senior ETL experts developed an initial load which took 12 hours to execute. The incremental load took about 10 minutes to run.

My code, which I wrote aiming to return the same results as the dev’s code, took three minutes to execute, and it covered both historical and incremental with simple use of a windowing function. (Note: Always check what windowing functions are available in the system you are working on when you start a new project. Do not underestimate the power of LEAD and LAG).

I was very proud of my accomplishment, and my confidence skyrocketed further after I found a few bugs in the code and double checked with the TA. I went to the Dev and explained my idea, who simply said that he would fix the bugs but we couldn’t redesign the solution. As a junior QA, I was a bit naive and thought I could revolutionize the industry. So I went to the Dev Lead’s office and explained my idea. He agreed with me, but due to the process that needed to be strictly followed and all the potential necessary approvals from architecture, he calmly explained that the solution was not going to change. That was a harsh lesson for me. but it made me the man that I am today.

Be the last to speak

After 12 months of working on the client’s site, I started using Oracle optimizer hints to my advantage. I learned the meaning of nested loops, hash, and bitmap index, and I was continuously learning by doing.

I was the one to bring bash scripting to the QA department for checking headers on source files. I did extra work to automate some of the deployment processes we had to do on QA environments. I discovered that some enterprise versions of Oracle can actually compile Java code.

So it was time for me to step up and move to the dev team, which I did, after another six months. On my last day on the job for the QA team, I had a discussion with TA management, dev seniors and an architect, earning 15 extra man-days in an estimation for my team. I was so pumped by the idea of moving to a dev team, that I actually took the marker and started drawing on the board and talking about all the rigorous work that the QA has to do, with detailed steps, until I reached an unbelievable amount of man-days and dropped the proverbial mic.

Final thoughts

Years have passed since then and I’ve had my fair share of projects in automotive, HORECA, and tobacco industries. I have a new perspective, and believe in myself and my abilities.

You will begin to recognize your talent and abilities with every task you complete. Every project you work on will help you understand what success feels like, and a few years of experience will help you appreciate even the smallest achievements. Along the way you will meet many people with hundreds of different ways of working, and you will discover how wonderful the IT industry is. When you look back at your journey you will feel stronger and more confident.

Works Cited

1. “Imposter Syndrome,” Psychology Today

Get more insights from our engineering and design experts on our website!

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store