Lead the architectural design, development, and evolution of scalable and robust application frameworks and common software components.
Drive the adoption of best practices in object-oriented design, design patterns, and software architecture.
Translate complex business requirements into clear, actionable technical specifications and architectural blueprints.
Conduct thorough design reviews and code reviews, ensuring high quality, performance, and maintainability across the team's output.
Hands-on Development:
Actively contribute to the design, implementation, testing, and documentation of core framework functionalities and common components, primarily using C++.
Develop and maintain custom user interface wrapper layers and components that meet varied and custom demands for different product groups, ensuring a best-in-class user experience.
Leverage scripting skills (e.g., Python) to expose C++ code for internal application development and external client customization.
Debug complex issues, determine root causes, and implement effective fixes.
Team Leadership & Mentorship:
Embrace a culture of technical excellence, collaboration, and continuous improvement.
Provide guidance, direction, and feedback to junior staff, helping them grow their skills and meet agreed-upon objectives.
Foster a collaborative environment, actively working with cross-functional and cross-geographical development teams to understand project scope and integrate framework solutions.
Project & Process Management:
Manage multiple projects simultaneously, ensuring timely delivery, effective prioritization, and clear communication of progress and challenges.
Champion and implement Agile practices and Scrum methodology within the team.
Develop and implement systems, procedures, and tools that enhance departmental efficiency and software development lifecycle.
Participate in product roadmap discussions and long-term planning, contributing the framework perspective.
Quality & Standards:
Ensure all developed software adheres to coding standards, guidelines, and maintains a consistent look and feel across product lines where applicable.
Remain well-informed of industry methodologies, trends, and emerging technologies to ensure our frameworks remain cutting-edge.
Requirements
Bachelor’s degree in Computer Science or a related technical field.
At least 5 years of progressive experience working through the design, development, and release cycle, delivering software products to market.
A proven record of successful delivery of software applications as an individual contributor, team leader, and/or development lead.
Good understanding of the software development lifecycle, object-oriented design, and design patterns.
Deep hands-on C++ development experience in a large-scale application development environment.
Proficiency in scripting languages, particularly Python, with experience in exposing C++ code to scripting environments for application development and client customization.
Proficiency with modern version control systems (e.g., Git) and best practices for branch management and collaborative development.
Exceptional leadership, project management, time management, and problem-solving skills.
Proven ability to understand and translate complex business requirements into technical specifications.
Experience with Scrum methodology and Agile practices.
High command of verbal and written English.
Willingness to dive into complex software environments and technical issues.
Ability to work effectively in a fast-paced, customer-focused environment that embraces new requirements and features.
Team player capable of collaborating effectively with remote and multidisciplinary teams.
Desired Qualifications (Nice-to-Have):
Knowledge/familiarity with common application framework development principles.
Familiarity with Qt.
Key Requirements & Skills
Bachelor’s degree in Computer Science or a related technical field.
At least 5 years of progressive experience working through the design, development, and release cycle, delivering software products to market.
A proven record of successful delivery of software applications as an individual contributor, team leader, and/or development lead.
Good understanding of the software development lifecycle, object-oriented design, and design patterns.
Deep hands-on C++ development experience in a large-scale application development environment.
Proficiency in scripting languages, particularly Python, with experience in exposing C++ code to scripting environments for application development and client customization.
Proficiency with modern version control systems (e.g., Git) and best practices for branch management and collaborative development.
Exceptional leadership, project management, time management, and problem-solving skills.
Proven ability to understand and translate complex business requirements into technical specifications.
Experience with Scrum methodology and Agile practices.
High command of verbal and written English.
Willingness to dive into complex software environments and technical issues.
Ability to work effectively in a fast-paced, customer-focused environment that embraces new requirements and features.
Team player capable of collaborating effectively with remote and multidisciplinary teams.
Frequently Asked Questions
How to apply for Senior Software Developer_(SA2121) at nCircle Tech?
Click the "Apply on Company Website" button on this page to submit your application directly on the employer's official portal.
What is the salary for this role?
Salary details will be discussed during the interview.
What experience is required?
5+ years of experience is required.
Is this position still open?
Yes, currently active and accepting applications.
Similar Openings
Explore related active roles in software_engineering