I began my journey into the world of technology at one of the most iconic and longest standing tech companies, IBM. I found myself at big blue on a four-month co-op work term. I worked on the Integrations Quality Assurance team. My work focused primarily on creating a new automated test framework that supported testing the QRadar SIEM platform with the WinCollect event collection software.
It’s an understatement to say that I learned a lot in my first four months at IBM, but I feel anyone can probably say that about their first tech job. The first few days were long, setting up accounts for a dozen different team collaboration tools I had vaguely heard about but never used before, sitting through hours of training sessions about the product learning the intended use cases, and on top of that I was surrounded by one hundred new faces who all had more experience than me. After about a week or two, I adjusted. The team collaboration tools I was learning were already paying off. I was starting to understand the software I was working with and asking questions about different use cases that might be missing. Most importantly, I realized the hundred other more experienced employees are just one hundred teachers waiting to help me, or any of our co-workers, build my skills so the whole company can succeed.
So what did I find myself doing on the day to day? My responsibility was to assist a Senior QA Engineer in building a new automated framework capable of testing the integration between QRadar and WinCollect. QRadar is a Linux based SIEM, and WinCollect is a windows based event collector that sends events to QRadar. The integration tests for these two pieces of software get quite complex when you start to unravel the details like synchronously installing two individual pieces of software that run on different operating systems. Or the fact that each product has multiple supported versions that should all work with each other. Oh, did I mention it should be able to do all of those tests every day to make sure that dev builds aren’t breaking existing functionality? No? Well, it should.
Once I finally realized the complexity of the project, I knew I was in for a fun four months. I got exposure to a wide variety of technologies. I primarily worked with Java and selenium to control UI elements in the QRadar, Bash/PowerShell scripts to install and configure QRadar and WinCollect, and PHP and MySQL to control test execution and logging.
In addition to immersing myself into a whole host of technologies, I also found myself immersed in team collaboration tools like Git, Confluence, Rational Team Concert, Rational Quality Manager, and proprietary internal tools. I immediately saw great value in these tools and still, to this day, believe that properly configured team collaboration software is one of the most critical elements to running an efficient business.
I also got my first practical exposure to agile development practices, another critical cog in the software development machine. As I joined IBM, they were quickly adopting agile practices. I worked on one of the first teams to fully embrace agile. We would follow regular Scrum meetings such as sprint planning, daily standups, and showcases. Participating in agile processes helped me gain an appreciation for how difficult it is to manage technical projects, and the wide variety of tasks that are part of any development project (Planning, Testing, Documenting, etc.)
I can summarize my first work experience as eye-opening. I learned about a wide variety of technical tools, how to use them, and when to use them. I learned about all of the different team collaboration software that giants like IBM rely on to keep their people aligned and productive. I gained a respect for the art of agile development practices and an appreciation for the complexity that is inherently present in the technology world. Finally, I learned how valuable soft skills are in the workplace and gained an interest in leveraging my existing teamwork, communication, and leadership skills for the rest of my career.