Your name: Mansie Gupta
Your title: Senior Manager, Software Engineering
How long have you been at your company? 9 years
Tell us about your career journey: How did you end up working as a software engineer?
My first encounter with software engineering happened when I was doing my MBA in finance with a minor in computer science. In my final year, as part of my course curriculum, I developed a library management system for my college’s library using VC++ and Oracle, which gave me my first exposure to production-level coding. Gradually, I started enjoying coding and decided that I would pursue software engineering as my career.
After getting married in India, I moved to the U.S. with my husband, who was already a software engineer. I started learning Java and took a couple of certifications that gave me the confidence to start looking for a software engineering role. I got a job as a software developer with a top U.S. hospitality chain. Since then, developing software that delights customers has become my passion.
What attracted you to work at CapTech? How did you know it would be a good fit?
Before CapTech, I was working for an airlines fare management company as a lead software engineer. After working there for five years, I realized that I needed a change so I started talking to folks in my network about job opportunities. One of my friends was working with CapTech. He told me how much he was enjoying working there and in general about the consulting business.
In talking with him and a few of his CapTech colleagues, I learned about how CapTech prides itself in partnering with its customers and solving their most challenging technology and business problems with cutting-edge and cost-effective solutions.
My friend helped me apply for a position there. During the interview process, I came to know about the multiple business domains that they were serving, various learning opportunities, a well-defined career path, and, most importantly, the excellent work culture that respects diversity. The interview process was very well structured and smooth. Within a few days of the interview, CapTech extended me an offer for a senior consultant role that I immediately accepted.
What are you responsible for as a senior manager, software engineer at CapTech?
A senior manager is a leadership role that also requires being a hands-on individual contributor. My primary responsibility is to manage and lead the end-to-end product development of a portfolio of applications for one of the firm's clients. This entails new features development, continuous product enhancement, and the full accountability of quality of software that we deliver.
I am also responsible for coaching and mentoring junior team members and making sure that they are getting the required help for their career growth. Outside of my day-to-day client work, I am also involved in hiring great talents in order to match our fast-paced growth.
What does a normal day in your job look like?
My role requires me to wear multiple hats throughout the day and act as a servant leader for my team. My day starts with a morning huddle with my scrum team and a quick look at the progress of our current sprint. I make sure that any issues that my team raises get immediate attention; these could be related to unstable development environments, CI/CD practices, coding challenges, or integration issues. Being a part of the scrum team, I am also responsible for participating in discovery sessions, sprint planning, backlog grooming, working on the user stories/tasks, and code reviews.
I also work very closely with my account manager and the client’s leadership in order to make sure that we are totally aligned with the client’s expectations.
What are the primary technologies that you use for tooling and development?
Our software development environment is primarily based on Java. We leverage many Java-based open source code frameworks/libraries such as SpringBoot, and Apache for microservices development. Rational Application Developer (RAD) and IntelliJ are our primary coding platforms. For our CI/CD practices, we are totally dependent on Azure-based pipelines that we use for DevSecOps. Our cloud partner as infrastructure as a service (IAAS) is Azure. We use Perfecto and Postman as our testing tools. For source code control, we rely on Github, which is integrated with Nexus IQ, and for code quality we use Sonar Qube.
How is the engineering team structured?
Since we are a consulting company, our team structure is highly influenced by our clients' setup. In many cases, we are supposed to be co-located with the client team but due to the ongoing pandemic, we all are remote.
Our team structure follows agile scrum practices. A team consists of a product owner (PO), a scrum master, four developers (user interface and back end), and two testers. Outside of these scrum teams, we engage with many other teams such as architecture, data, security, middleware, and infrastructure.
What is the software development process at CapTech?
Based on my experience, most of our clients follow agile/scrum methodology for their software development processes. In some cases, CapTech also brings agile coaches to the client organization to build a solid development foundation.
We maintain a very high standard of software engineering practices. Every feature that is supposed to be deployed in production has to go through stringent code quality gates that are fully automated. Along with the code quality, our DevSecOps practices make sure that the final product is fully certified with code safety standards. We follow the industry standard DevOps practices that provide fully automated continuous integration and deployment capabilities.
What skills are essential to succeeding as an engineer at CapTech?
The main ingredients of a successful software engineer at CapTech are being extremely customer focused and highly collaborative, as well as a great communicator, problem solver, and passionate about learning and utilizing new technologies.
When we talk to candidates, we make sure that they exhibit excitement for working with a diverse set of clients and dealing with polyglot development environments and have zeal for learning.
What are you working on right now that excites or inspires you?
Right now, I am involved in a development effort for a client in which we are transforming multiple monolith applications into microservices-based architecture. This whole transformation requires me to continuously learn new business capabilities and collaborate with many different teams in order to define and develop the microservices.
What other teams or types of people do you interact with on a regular basis?
Most of the time, I interact with business teams to understand the requirements. Enterprise Architecture is another very important team that I closely collaborate with in order to make sure that our solution complies with the standard. On a regular basis, I meet with Community of Practice (COP) folks for their buy-in. Apart from that, we closely collaborate with production support, security, and monitoring teams as well.
What do you value most about CapTech’s company culture?
CapTech is an employee-focused company that considers its employees its most valuable assets. The company has created a safe environment for employees to freely express their thoughts with their management as well as with senior leadership. CapTech is very committed to work-life balance for the employees and I really appreciate all of the flexibility I have been given as an employee. CapTech also provides ample opportunities for training and development for anyone who wants to learn new technologies and develop soft skills.
CapTech promotes a diversified culture that is inclusive. We have quite a few employee resource groups (ERGs) and are in the process of adding more. The ones that I am actively involved with are Women at Captech ERG and BlackTech ERG. Every week, I come across folks from different backgrounds, cultures, and thought processes that promote a continuous learning environment.
What advice do you have for software engineers applying to jobs at CapTech?
If you are looking for a software engineering career with CapTech, show your passion for continuous learning, problem solving, and working in a highly collaborative environment. You should be able to demonstrate your programming skills via solving coding problems and must be a good communicator who can express your thoughts.