Your name: Mansie gupta
Your title: Senior Manager, Software Engineering
How long have you been in your business? 9 years
Tell us about your professional background: How did you come to work as a software engineer?
My first encounter with software engineering occurred while I was doing my MBA in finance with a minor in computer science. In my final year, as part of my course program, I developed a library management system for my college library using VC ++ and Oracle, which gave me my first exposure to coding production level. Gradually I started to like coding and decided to pursue my career in software engineering.
After getting married in India, I moved to the United States with my husband, who was already a software engineer. I started learning Java and got a few certifications which gave me the confidence to start looking for a software engineer job. I got a job as a software developer in a large American hotel chain. Since then, developing software that delight customers has become my passion.
What attracted you to CapTech? How did you know it would be a good fit?
Before CapTech, I worked for an airline fare management company as a senior software engineer. After working there for five years, I realized I needed a change so I started talking to people in my network about job opportunities. A friend of mine worked with CapTech. He told me how much he enjoyed working there and in general about the consulting business.
From chatting with him and a few of his colleagues at CapTech, I learned how proud CapTech is to partner with its clients and solve their toughest technology and business problems with cutting edge, cost effective solutions.
My friend helped me apply for a position there. During the interview process, I discovered the multiple fields of activity they served, 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 fluid. A few days after the interview, CapTech offered me a senior consultant position which I immediately accepted.
What are you responsible for as a senior manager, software engineer at CapTech?
A senior executive is a leadership role that also requires being a practical individual contributor. My primary responsibility is to manage and lead the end-to-end product development of an application portfolio for one of the firm’s clients. This involves the development of new features, continuous product improvement and full responsibility for the quality of the software we deliver.
I am also responsible for coaching and mentoring junior team members and ensuring they receive the necessary support for their career development. Apart from my daily client work, I am also involved in hiring great talent to meet our rapid growth.
What does a normal day look like at your job?
My role requires me to wear multiple hats throughout the day and act as a servant leader for my team. My day begins with a morning meeting with my Scrum team and a quick overview of the progress of our current sprint. I make sure that any issues my team raises receive immediate attention; these can be related to unstable development environments, CI / CD practices, coding issues, or integration issues. As part of the Scrum team, I am also responsible for participating in discovery sessions, sprint planning, backlog cleanup, user story / task work and code reviews.
I also work closely with my account manager and client management to ensure that we are fully aligned with client expectations.
What are the main technologies you use for tooling and development?
Our software development environment is mainly based on Java. We leverage many Java based open source code libraries / frameworks 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 the Azure pipelines that we use for DevSecOps. Our cloud as an infrastructure as a service (IAAS) partner is Azure. We use Perfecto and Postman as testing tools. For source code control we rely on Github, which is built into Nexus IQ, and for code quality we use Sonar Qube.
How is the engineering team structured?
Since we are a consulting company, the structure of our team is strongly influenced by the configuration of our clients. In many cases, we are meant to be co-located with the customer team, but due to the ongoing pandemic we are all far apart.
Our team structure follows Scrum Agile practices. A team consists of a Product Owner (PO), a Scrum Master, four developers (user interface and back-end) and two testers. Apart from these Scrum teams, we collaborate with many other teams such as architecture, data, security, middleware and infrastructure.
What is the software development process at CapTech?
In my experience, most of our clients follow an 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 base.
We maintain a very high standard of software engineering practices. Every feature that is supposed to be deployed in production has to go through strict code quality gates that are fully automated. In addition to code quality, our DevSecOps practices ensure that the end product is fully certified with code security standards. We follow industry standard DevOps practices that provide fully automated continuous integration and deployment capabilities.
What are the essential skills to succeed 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 an excellent communicator, problem solver and passionate about learning and using new technologies.
When we talk to candidates, we make sure they are excited to work with a diverse set of clients, deal with multilingual development environments, and have a zeal for learning.
What are you working on right now that excites or inspires you?
Right now, I’m involved in a development effort for a client where we’re turning multiple monolithic applications into a microservices-based architecture. All of this transformation requires me to continuously learn new business capabilities and to collaborate with many different teams to define and develop microservices.
What other teams or types of people do you interact with on a regular basis?
Most of the time, I interact with the sales teams to understand the requirements. Enterprise Architecture is another very important team that I work closely with to make sure our solution is up to standard. I regularly meet with members of the Community of Practice (COP) to gain membership. Apart from that, we also work closely with the production support, security and surveillance teams.
What do you value most about CapTech’s corporate culture?
CapTech is an employee-centric company that considers its people to be 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 management. CapTech is very committed to work-life balance for employees and I really appreciate all the flexibility that has been given to me as an employee. CapTech also offers plenty of training and development opportunities for anyone interested in learning new technologies and developing soft skills.
CapTech promotes a diverse and inclusive culture. We have several Employee Resource Groups (ERGs) and are in the process of adding more. The ones I’m actively involved with are Women at Captech ERG and BlackTech ERG. Each week I meet people from different backgrounds, cultures and thought processes who foster a continuous learning environment.
What advice do you have for software engineers applying for jobs at CapTech?
If you are looking for a software engineering career at CapTech, show your passion for lifelong learning, problem solving and working in a highly collaborative environment. You must be able to demonstrate your programming skills by solving coding problems and must be a good communicator able to express your thoughts.