Senior Software Engineer (Windows Application Development)
19 days ago
Austin
Job DescriptionDescription: Department: Engineering/Technology Reports To: Sr. Manager of Engineering Job Overview: The Senior Software Engineer (Windows Application Development) is responsible for designing, developing, and maintaining high-quality Windows desktop applications using technologies such as .NET, C#, WPF, and C++. This role requires a deep understanding of Windows application architecture, UI/UX design principles, and the ability to work effectively in a collaborative, agile environment. The Senior Software Engineer will lead technical efforts for new feature development, optimize existing features, and ensure that the applications meet performance, quality, security, and scalability requirements. This role also demands proficiency in SQL/DB management, communication protocols, REST/COM interfaces, .NET Core, client-server architecture, video/streaming technologies, and camera profile knowledge. Key Responsibilities: Windows Application Development: • Design, develop, and maintain robust Windows desktop applications using modern .NET, C#, WPF, and/or C++., • Implement and optimize user interfaces with a focus on usability, responsiveness, maintainability, and performance., • Develop and integrate software modules that interface with hardware components, video/streaming systems, and other software systems., • Leverage SQL/DB management, communications protocols (TCP, etc.), REST/COM interfaces, and client-server architecture to enhance application functionality., • Mentor and guide junior engineers, fostering a culture of technical excellence and continuous improvement., • Lead code reviews, ensuring adherence to design patterns, coding standards, and maintainability best practices., • Collaborate with cross-functional teams to define, design, and deliver new features and enhancements., • Champion a sense of ownership and responsibility within the team, taking the lead in critical technical decisions., • Design and implement software architectures that support complex application features, scalability, and maintainability., • Create detailed design documents, technical specifications, and other documentation to ensure proper implementation and maintainability of solutions., • Evaluate and recommend new tools, technologies, and methodologies to improve the development process., • Identify and resolve application performance bottlenecks to ensure efficient operation across various hardware configurations., • Utilize profiling and diagnostic tools to monitor and optimize application performance, including memory usage, CPU efficiency, and load times., • Write and maintain unit tests, integration tests, and automated UI tests to ensure application reliability., • Collaborate closely with QA engineers to identify, debug, and resolve defects., • Collaborate with product managers, designers, and other stakeholders to gather and refine requirements., • Translate business requirements into technical specifications and user stories., • Actively participate in agile ceremonies, such as sprint planning, daily standups, and retrospectives., • Implement security best practices to protect applications from vulnerabilities and threats. Education: • 5+ years of experience in Windows application development using modern .NET, C#, WPF, and/or C++., • Expert-level proficiency in modern programming languages (.NET, .Net Core, C#, WPF, C++)., • Strong understanding of SQL/DB management, communications protocols (TCP, etc.), REST/COM interfaces, and client-server architecture., • Experience with video/streaming technologies, including camera profile management., • Deep understanding of Windows application architecture, threading models, and asynchronous programming., • Experience with UI/UX design principles and implementing rich user interfaces., • Strong problem-solving and analytical skills., • Excellent communication and collaboration abilities, with experience working in cross-functional teams., • Technical Excellence: Deep expertise in Windows application development and related technologies., • Leadership: Ability to mentor and guide junior engineers while driving technical projects to completion., • Innovation: Ability to innovate and introduce new solutions to improve the development process and application performance., • Successful delivery of high-quality Windows applications on time and within scope., • Application performance metrics, including responsiveness, memory usage, CPU efficiency, and video/streaming performance., • Code quality and maintainability, as evidenced by code reviews and technical debt management., • Stakeholder satisfaction and alignment with business goals. Additional Requirements Candidates will be subject to a background check in accordance with federal and state regulations. Benefits Employee benefits include: • Competitive Medical Benefits, • Employer-sponsored Life Insurance, AD&D, Short-Term and Long-Term Disability Insurance, • Voluntary Dental & Vision, • 401(k) plan This policy applies to all employment practices within our organization, including hiring, recruiting, promotion, termination, layoff, recall, leave of absence, compensation, benefits, training, and transfer. Salient Systems makes hiring decisions based solely on qualifications, merit, and business needs at the time.