As a Software Applications Engineer, you will be responsible for designing, developing, testing, and maintaining software applications tailored to meet specific user needs or business requirements. Working collaboratively with cross-functional teams, you will create functional, user-friendly, and high-quality software solutions. Your role involves ensuring that applications are free of defects and meet high standards by performing comprehensive testing, debugging, and troubleshooting.
Key Responsibilities
- Design and implement enhancements, updates, and changes to software applications across local, networked, and Internet-based platforms.
- Analyze requirements and determine coding, programming, and integration activities needed based on the overall architecture of the product or solution.
- Investigate and resolve technical issues identified during testing or reported by users.
- Develop and execute complete testing plans, protocols, and documentation for your assigned portion of the application.
- Collaborate with product managers, designers, and quality assurance teams to deliver new features and functionalities.
- Plan and allocate resources effectively for programming projects, ensuring proper functioning of applications.
- Lead project teams, including software engineers and outsourced development partners, to deliver reliable, cost-effective, and high-quality solutions.
- Communicate project progress, design status, and issue resolution to management and cross-functional teams.
- Represent the software applications engineering team throughout all phases of complex development projects.
- Stay updated with the latest industry trends, technologies, and best practices in software development to continually improve skills and deliver cutting-edge solutions.
Education & Experience
- Bachelor’s or Master’s degree in Computer Science, Information Systems, or a related field, or equivalent work experience.
- Typically, 4-7 years of experience in application engineering, programming, or a similar role, or an advanced degree with 3-5 years of relevant experience.
Preferred Certifications
- Certification in programming languages such as C++, C#, and Windows Application Development.
Key Skills & Knowledge
- Programming Languages. C++, C#, Windows System Programming.
- Experience with Windows Development. UWP (Universal Windows Platform) and WPF (Windows Presentation Foundation).
- Windows Services & DLLs. Proficient in developing and managing Windows services and Dynamic Link Libraries (DLLs).
- Secure Software Development. Understanding of the Secure Software Development Lifecycle and secure coding practices.
- React.js. Experience in front-end development using React.js.
- Software Engineering. In-depth understanding of software development principles and methodologies, including Agile.
- Agile Methodology. Practical experience in Agile development practices and project management.
Cross-Organizational Skills
- Effective Communication. Clear and concise communication across teams and with stakeholders.
- Results Orientation. Strong focus on delivering high-quality results on time and within scope.
- Learning Agility. Ability to quickly learn new technologies and methodologies.
- Digital Fluency. Proficient with digital tools and technology to enhance productivity.
- Customer Centricity. Understanding and addressing customer needs and requirements in software development.
Impact & Scope
This role impacts multiple teams and may serve as a team or project leader. You will provide direction to team activities and facilitate decision-making processes, ensuring alignment with broader business goals.