Chennai, Tamil Nadu
Software Engineer #1065703Position Description:
- Employees in this job function are responsible for designing, developing, testing and maintaining software applications and products to meet customer needs.
- They are involved in the entire software development lifecycle including designing software architecture, writing code, testing for quality and deploying the software to meet customer requirements.
- Full-stack software engineering roles, who can develop all components of software including user interface and server side also fall within this job function.
- Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions
- Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies
- Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc.
- Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application
- Collaborate with cross functional teams like product owners, designers, architects etc.
- Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices.
- Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency
- Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery
- Support security practices to safeguard user data including encryption and anonymization.
- Create user-friendly and interactive interfaces
- Develop and maintain back-end applications like APIs and microservices using server-side languages
- Evaluate and incorporate emerging technologies and capabilities to deliver their solutions, and are monitoring and participating in solutions for new stack layers, often involving industry collaboration
- C#
- C++
- VB.NET
- Python
- GCP
- Engineer Exp: Prac. In 2 coding lang. or adv. Prac. in 1 lang.
- 6+ years in IT
- 4+ years in development
Primary Skill Sets (MUST HAVE)
- Modern .NET & Desktop Architecture: Strong knowledge of .NET 8+ / .NET Framework and advanced Windows desktop development using WPF and the MVVM/MVC pattern.
- Core Languages: Mastery of C#/C++/VB.Net and modern JavaScript / TypeScript for hybrid desktop layouts.
- AI-Augmented Development: Utilize GitHub Copilot and similar generative AI toolsets daily to maximize developer productivity.
- Automated Testing & QA: Strong test-driven development (TDD) mindset with hands-on experience in Unit Testing frameworks (xUnit, NUnit).
- System Integration & CI/CD: Proven experience mapping upstream/downstream dependencies and building deployment pipelines.
- System Design: Advanced architectural patterns (Micro-frontends, Event-driven architecture, Domain-Driven Design).
- SAFe Agile Mastery: Active participation in SAFe Agile frameworks (Scrum/Kanban) with an emphasis on continuous delivery.
- Business Analysis & Product Thinking: Ability to translate abstract business rules into concrete technical specifications.
- 3D Visualization & Graphics: Hands-on experience or familiarity with OpenGL or VTK (Visualization Toolkit) for rendering complex 3D graphics, data visualizations, or spatial models within desktop interfaces.
- Bachelor's Degree
- part of development team