Job Description: C++ Architect
Overview
We are seeking an experienced and proficient C++ Enterprise Architect to oversee all phases of software architectural work, including planning, designing, and supervising the development process. The successful candidate will be involved in creating new software systems, extending existing systems, and implementing innovative solutions from the initial stages through to project completion. The primary objective is to align with clients' requirements and deliver sustainable, scalable, functional, and high-performance software designs.
Responsibilities
· Lead and oversee enterprise software architectural projects from inception to delivery.
· Engage with stakeholders to understand their business requirements and devise architectural solutions that align with their strategic objectives.
· Prepare comprehensive architectural blueprints, models, and specifications.
· Ensure strict adherence to all relevant industry standards, protocols, and regulations.
· Coordinate with engineering and development teams to facilitate seamless integration and execution of the architecture in projects.
· Supervise the development lifecycle to ensure timely, within-budget, and high-quality project completion.
· Evaluate existing systems and provide recommendations to meet organizational requirements.
· Provide technical leadership and mentorship to junior architects and development teams.
· Conduct code reviews and architectural evaluations to monitor progress and address technical challenges.
· Stay informed on the latest trends, technologies, and best practices in enterprise software development.
Requirements
· Bachelor's or Master's degree in Computer Science, Engineering, Information Technology, or a related field.
· Extensive experience as an Enterprise, Technical, or Software Architect, or in a related role, with over 12 years (M Level) to 15+ years (SM Level) of experience in C++ 11 or later.
· Strong proficiency in C++ 11/C++14/C++17/C++20 or later, with excellent design and visualization skills, and familiarity with relevant software tools.
· In-depth knowledge of software development methodologies, standards, and best practices, with the ability to develop high-quality software that meets requirements and facilitates ease of support.
· Strong project management and organizational skills, and the ability to work collaboratively in a team environment.
· Excellent communication and interpersonal skills, with a creative and innovative mindset.
· Ability to diagnose, isolate, and implement remedies for system failures caused by errors in software code, and develop software for complex, performance-intensive programs in resource-scarce environments.
· Utilize software-based system maintenance and tracking tools, and provide input and technical content for technical documentation, user help materials, and customer training.
· Conduct unit tests, track problems, and implement changes to ensure adherence to test plans and functional/non-functional requirements.
· Analyze, design, and implement software mechanisms to improve code stability, performance, and reusability; participate in and lead code review sessions.
· Create high-fidelity estimates of work efforts, assist others in estimating task effort and dependencies, and be responsible for team commitments within the Sprint.
· Lead and advise other Engineering resources as part of project activities and be recognized as subject matter experts in their chosen field.
· Stay current with technology and industry trends, disseminate knowledge to team members, and establish best practices through participation in industry groups.
· Communicate effectively with Management, Stakeholders, and other internal teams, and participate in cross-functional collaboration within the organization.
Must Have Skills
· In-depth knowledge of Object-Oriented Programming, Algorithmic skills, and Design Patterns.
· Proficiency in Data Structures such as Vector, List, Map, Hash Map, etc.
· Expertise in Templates, Casting, Inheritance.
· Experience with Multi-threading and Socket Programming using TCP, UDP, SSL etc.
· Ability to design a Class Model, Data Model for given requirements.
· Strong debugging skills, experience with Memory Leaks, Profiling, Crashes, blue screen issues.
· Hands-on experience with C++11 or later, C++ GNU Toolchain (gcc, g++, gdb etc.), cross-compiler toolchains, Linux OS, Kernel programming or Visual C++ using Microsoft Visual Studio, DLL development.
· Hands-on with build tools like make, CMake, Static analyzers, code checkers, etc.
· Knowledge of common C++ tools & libraries including STL, HTTP libraries, xml, QT framework.
· Proficiency in scripting languages like Bash shell scripts and Python3.
· Experience with version control tools like GIT, Gerrit, GitHub, Bitbucket.
· Experience with bug trackers and agile development tools like Jira.
· Deep understanding of Software Development and Quality Assurance best practices.
· Strong teamwork and collaboration abilities, along with proficient written and verbal communication skills.
· Experience operating in an Agile environment, with a deep understanding of agile development principles.
· Experience with Jenkins or Ansible, CI/CD pipeline, Dockers, Kubernetes, Azure/GCP, and Gen AI, code companion tools like Microsoft co-pilot is preferred.
If you are a passionate and talented C++ Software Architect ready to undertake challenging projects and make a lasting impact, we would be delighted to hear from you. Apply today and join our team of dedicated professionals in creating innovative and high-performance software solutions.
What we offer
- The chance to work with impact. Here, you’re empowered to bring your biggest thinking to help our company and clients improve everyday life.
- Ownership over your career. Stay at the top of your game through our award-winning learning and development ecosystem. And when your ambitions change or we offer new opportunities, we help you pivot by providing reskilling, on-the-job learning and guidance to find new roles that might be a better fit.
- The opportunity to thrive on a high caliber team with heart. We celebrate each other’s experiences and perspectives and promote a sense of belonging through our affinity groups and diversity and inclusion initiatives.
- A comprehensive total rewards package, including a competitive salary and pension plan with matching contributions.
- Flexible health and financial benefits to support you and your eligible dependents—from day one.
- True work-life balance. Be at your best through paid time off, flexible work arrangements, volunteering opportunities, social events, and so much more.
Cognizant is an equal opportunity employer. Your application and candidacy will not be considered based on race, color, sex, religion, creed, sexual orientation, gender identity, national origin, disability, genetic information, pregnancy, veteran status or any other characteristic protected by federal, state or local laws.
If you have a disability that requires reasonable accommodation to search for a job opening or submit an application, please email [email protected] with your request and contact information.
While our system allows application in all languages, job required language(s) and proficiency level(s) vary. However, basic English proficiency is required for Company-wide communications purposes.
About us
Cognizant is one of the world's leading professional services companies, transforming clients' business, operating, and technology models for the digital era. Our unique industry-based, consultative approach helps clients envision, build, and run more innovative and efficient businesses. Headquartered in the U.S., Cognizant (a member of the NASDAQ-100 and one of Forbes World’s Best Employers 2024) is consistently listed among the most admired companies in the world. Learn how Cognizant helps clients lead with digital at www.cognizant.com.