Software Developer
Software Developer Job Description:
Seeking a strong software developer whose focus is to ensure that new and existing features of our products are developed, released and maintained with the highest quality. The Software Developer will work closely with cross functional teams, QA teams and other development teams to ensure a timely and high-quality delivery. This is a position that requires an individual with an analytical mind, a proactive work ethic, and a persevering attitude.
Requirements:
• A minimum of 4 years’ experience working as a software developer with C# as the primary programming language with 5-7 years total programming experience.
• Experience with the .NET framework v. 4.5 or later
• Experience developing user interface using .NET Framework (especially WPF/XAML, with some WinForms)
• Object oriented design
• Some Javascript experience
• Excellent written and verbal communication skills
• Source Control, preferably Git
• Multi-threaded programming
• Asynchronous programming
• Familiarity with unit testing, Inversion of Control(IOC), Dependency Injection(DI)
Desired:
• Writing, and maintaining Microsoft Office add-ins using .NET, ExcelDNA, NetOffice
• Calling RESTful Web Services
• Knowledge of JSON, XML, HTML
• Experience with AdvancedInstaller (or similar installer tool)
• Experience with DevExpress
• Experience with proxy servers and proxy scripts
• Experience and comfort working with off-shore developers and QA
• Working in an Agile environment.
Responsibilities:
• Create, develop and maintain the software code base of Morningstar’s Excel Add-In product.
• Communicate with the product manager (and team members) about assigned tasks and ensure applications under development meet the defined requirements and pass the user acceptance testing prior to its release.
• Provide high-level estimates for long term planning, and detailed estimates for work in the current sprint.
• Analyze and reviews system requirements. Use requirement and other design documents to gain overall understanding of the functionality of the new or enhanced application.
• Participate actively in the design and build phases, to aim at producing high quality deliverables.
• Provide recommendations on product and development environment improvements.
Education:
• BS in Computer Science or equivalent related experience.