Develops new and enhances or maintains existing software components.
• Serves as an expert in object-oriented and component-based development, patterns and design for reuse; applies test driven design and works towards automating and standardizing practices.
• Builds and maintain a suite of native apps.
• Eliminates impediments and performs design and code reviews.
• Builds intermediate to highly complex, high quality software components by analyzing, creating, designing and coding, troubleshooting and unit testing for new products.
• Designs new features and enhancements for existing products.
• Delivers high quality software components with minimal defects; identifies and resolves errors and related software problems.
• Creates and documents component specifications and detailed designs by working with Architects to implement specific system architecture; analyzes customer and internal requirements and specifications, and translates into the software design.
• Identifies and resolves potential risks and issues; works in teams to implement mitigation plans and processes.
• Builds and delivers phase exit review items; works with team members to follow company processes and practices for project delivery.
• Participates in Agile development practices.
• Ability to architect and create enterprise level applications on a Windows platform
• Demonstrated in-depth understanding of the software delivery life cycle
• Strong ability to perform and utilize testing techniques to troubleshoot hardware and software configuration issues; good debugging skills
• Demonstrated ability to conduct testing, including end-to-end and user acceptance testing phases, using best practices in software testing agile methodologies
• Adept at profiling and tuning applications for CPU/memory use
• Understanding of video and audio processing
• Understanding of COM/DCOM technologies
• Understanding of the .Net Framework and web services
• Can increase the maintainability of codebase by writing future-proof code with an emphasis on extensibility and reusability
• Detail oriented with excellent verbal and written skills; ability to communicate at detailed technical level as well as to distill advanced concepts into fundamental principles for teammates
• Can deliver creative technical solutions that are scalable
• Strong skills in multi-tasking day-to-day activities and effectively identifying issues in a variety of hardware and software environments
• Able to work individually and within a team
• 5+ years’ experience developing enterprise-level software applications in a Windows environment.
• 3+ years’ experience developing WCF-based web services
• 3+ years’ experience Developing COM/DCOM based software
• Developing video or graphics related software
• B.S. in Computer Science, Electrical Engineering, IS Engineering, or related field
• None required