Senior Software Engineer

Cambium Learning Group   •  

Ann Arbor, MI

Industry: Media

  •  

8 - 10 years

Posted 32 days ago

Description:

Cambium Learning® Group is an award-winning educational technology solutions leader dedicated to helping all students reach their potential through individualized and differentiated instruction. Using a research-based, personalized approach, Cambium Learning Group delivers SaaS resources and instructional products that engage students and support teachers in fun, positive, safe and scalable environments. These solutions are provided through Learning A-Z® (online differentiated instruction for elementary school reading, writing and science), ExploreLearning® (online interactive math and science simulations and a math fact fluency solution), Voyager Sopris Learning® (blended solutions that accelerate struggling learners to achieve in literacy and math and professional development for teachers), and VKidz Learning (online comprehensive homeschool education and programs for literacy and science). We believe that every student has unlimited potential, that teachers matter, and that data, instruction, and practice are the keys to success in the classroom and beyond.

A Senior Windows Software Engineer will design and deliver high-quality, web-enabled, Windows software using C++, VB.NET, C#.NET, and/or custom frameworks. Careful attention to the Windows user experience is key to our success and we look to the engineering team to create it. We deliver our products using a fast-paced iterative development process. Our products deliver curriculum materials to teachers and students pre-K through adult. This lets us help build better readers, writers, scientists, and eventually more engineers.

Essential Job Functions:

  • Architects, designs, and/or implements applications that conform to a business need. Maintains a business perspective in terms of understanding / affecting how systems are implemented to satisfy user goals
  • Is responsible for the entire life cycle of a system or feature. An SSE reviews requirements, generates designs, provides rough order of magnitude estimates, implements, and performs unit testing
  • Should feel that the quality of his/her work is a direct result of his/her own testing. An SSE should be able to handle assignments where no formal QA occurs. Systems developed should behave to a high standard of quality
  • Proposes, develops, reviews, and revises new procedures as needed for the continuing development of high quality systems
  • Works on multiple projects at one time, balancing needs and deadlines. An SSE is expected to progress on the project without much guidance from management. In addition, an SSE proposes new projects that will satisfy business needs
  • Can troubleshoot problems of a complex nature. Shall support systems that he/she has not implemented
  • Provides technical guidance and training to other team members
  • Shares architecture formally and informally with the team and stakeholders
  • Keeps informed of technical advances. Proposes changes based on newer technology
  • May be asked to research or investigate business opportunities that have no clear direction
  • May be involved in testing beyond unit testing (e.g. integration testing with a remote location, capacity testing)

Required Skills and Abilities

  • Passion for developing and delivering great Windows applications
  • Minimum Bachelor’s degree in Computer Science or Engineering. Masters preferred
  • Minimum 8 years of software development experience, 10 years preferred
  • Clear understanding and mastery of traditional as well as new product development processes
  • Proven ability to build clean, crisp, highly usable Windows applications
  • Strong knowledge of troubleshooting and debugging applications on Windows
  • Prior experience in other platforms (Mac, Linux) and other programming languages like Objective C or Java a plus

Required Technical Skills:

  • .Net experience (VB and C#) for desktop (win forms specifically) and web service applications
  • C++ experience, including STL
  • COM experience
  • Web Service exposure
  • Some scripting exposure (Perl, PowerShell, Windows batch, Linux Bash shell scripting)
  • Asynchronous application development exposure
  • An understanding that this will be legacy code development
  • Java / PHP / JavaScript exposure