OpenText: May 2020 - August 2020
I was re-hired to work as a Software Developer at OpenText from May - August 2020. This article will review my third work term with OpenText. I will explain OpenText as a company, my job description, and my goals for the semester. Despite COVID-19 cancelling or forcing co-ops to work from home, I was still able to have a great four months back at OpenText. I worked from home.
Information about the Employer
This section is adapted from my previous work term report on OpenText.
OpenText is one of the largest software companies in Canada. OpenText was founded in 1991 by University of Waterloo professors Tim Bray, Gaston Gonnet, and Frank Tompa. They created the company after building a search index for a school project. Since then, it has become a global industry leader in Enterprise Information Management. OpenText employs approximately 14,500 people at 95 office locations across 31 countries in six continents.
Despite its size, OpenText is often unknown to the general population because its customers are typically other businesses. You may or may not know of OpenText if your job uses one of their many products. Some products are meant to be used entirely in the back end, others in the front end. OpenText manages how data is transferred, analyzed, and stored in three aspects: between customers and businesses – between employees working at one physical location, and between employees working for the same company between many different locations. OpenText can be used by almost any business, some examples are grocery stores, law offices, file sharing companies, and pharmaceutical companies.
Content Server is over 20 years old. The software is used for uploading, managing, and sharing files. It creates workspaces for individual employees and for the entire company to access. The software was built primarily with OpenText’s internal language, OScript. It is fitted with internal tools for data analysis and workflow. Content Server has a powerful search engine, capable of searching through hundreds of millions of documents quickly. It is also integrated with external tools such as SAP and Microsoft 365. Content Server can be used in ClassicUI mode or SmartUI mode. SmartUI is the newer version, which relies on the classic technology with a more modern look.
Job Description
Like last year, my job this year involved automatically installing Content Server. This year, instead of working on an internal tool for getting performance metrics, I was working on a product for the end user. I was on the Bash Team, working on our containerization and cloud deployment. We were using Docker for containerization and supported GCP, Azure, AWS, and our internal cloud software. Most of the deployment process was done with Python and bash scripts.
My supervisor had a very solid approach to onboarding. He determined that the best way to get acquainted with the entire process was to build from the ground up. I had already learned how to install Content Server on Windows very thoroughly last year, so he taught me how to install it on Linux. I started by manually installing Content Server through the Linux command line, setting up a tomcat docker image, then crudely connecting the two with docker. After I understood the basic process, he gave me access to the existing automation to see how they differed. I felt as though this gave me a solid understanding of how the technologies worked, since I had to attempt to create a basic version of the software I would be working on later. Afterwards, I went through the cloud deployment process. Containerization and cloud deployment were entirely new to me, so I had to learn—on the job—using some internal tutorials. Bash scripting and Python were not entirely new to me—I had some school and work term experience—but I had not worked with either of them to the extent I would for this work term. I was given resources to learn Python and bash scripting as I went along. As in the last term, I used many of the strategies I learned in school to pick up work term knowledge.
This work term I was in a more traditional development team. My typical workload was talking to my team and picking up a ticket from the backlog or being assigned one during a meeting. My tickets typically revolved around making changes to add new Content Server features into our automation, setting default settings, or updating the automation to use a newer version of one of the connected tools. After completing a ticket, at least one other person would test the changes on a different environment to ensure that they worked.
Summer Goals
- Depth & Breadth of Understanding: I would like to thoroughly understand our entire docker and cloud system.
- Action Plan: I will learn each aspect of the system in parts. As I learn something new, I will use knowledge of previous technologies to further understand it and talk to different people on my team that specialize in each new area.
- Measure of Success: I will know that I am successful when I am able to quickly jump into each new problem I face and quickly create potential steps for a solution.
- Reflection: I had mixed results here. It was hard to understand things when jumping into tickets. I felt good about looking for where specific things were, but was often unable to figure out the entire picture. I felt that I got better at this as the term went on and would have been very comfortable in a few more months with our automation.
- Teamwork: I would like to understand my role, and my team members’ roles in the team.
- Action Plan: Since my supervisor Greg will be away for a month near the beginning of my term, I need to learn the team structure early on. To do this, I will pay attention during our stand-ups to what each person is working on. As I learn each new aspect of the system, I will work with different people to further my understanding. By learning other people’s roles, I will be able to better fit myself into to the team.
- Measure of Success: I will know that I am successful when I am able to look at my work and know which team member’s experience and knowledge will help me moving forward. I will also help other people with their work if my skills are relevant.
- Reflection: I knew people’s roles within the team. People have clear roles and were open to discuss what they were working on. I was confident that if I needed information in any area, I could ask a team member during a meeting or send them a message privately. Because I reached out to team members for specific help, they would occasionally check in on me if they knew I was learning something new that they understood already.
- Oral Communication: I would like to communicate well over MS Teams while working from home.
- Action Plan: I will keep my mic or camera on or off when it makes sense to do so. I will use the screen share effectively while communicating to better illustrate my points. I will use specific language when making points and ask questions when I do not understand something.
- Measure of Success: I will know that I am successful when my coworkers and I can have back and forth conversations through MS Teams and end each engagement with a formal or informal goal. I will also know this has worked if my relationships with my co-workers are professional but still enjoyable.
- Reflection: This went well overall. It was typically easy to understand if people were going to have their webcams on, or screen share during meetings. I was able to tell from a meeting invite if it was more of a presentation with discussion or an overall check-in. We also had some informal meetings throughout the summer—like our weekly Happy Hour on Fridays.
Conclusions
Over Summer 2020, I learned more what is like to be on an agile team. Even though everyone was working at home, I still had a complete experience. I feel confident that I can start to figure out my role within any team—even with new people. I believe it is important to have a good picture of what type of a worker you are, so when you can get a full picture of a team, you can fill in the gaps and help each other. I had a great time returning to OpenText last summer and would enjoy seeing everyone in person again in the future!
Acknowledgments
- I would like to thank Eric and Steph Duncan for mentioning me to the R&D team in Winter 2019.
- Thank you to Jen Stanley for checking in with me bi-weekly and integrating me into the team.
- Thank you, Greg Butler, for always ensuring I was on the right track.
- Thank you to the rest of Team Bash for making me feel welcome and helping me out.
- Finally, I am very grateful that OpenText chose to bring me back for this co-op term.
Thank you all!