Software Engineer II (Product Development)

Job Summary

The Software Engineer II (SE) will apply strong engineering skills as part of an agile development team to design and develop software platforms for complex, distributed Manufacturing Systems. In addition to designing and creating software, the SE will use their coding skills, do front-end development, look at problem of various size and determine a solution.

Essential Functions

  • Work on Savigent’s existing software to correct errors and/or improve overall performance
  • Analyze, develop, and integrate changes into existing applications
  • Follow a test-first development approach where automation testing your development is a priority
  • Participate in code reviews and collaborate with team members
  • Ensure a solid understanding of Savigent’s products in order to develop solutions for customers
  • Assist with project deliverables and ensure they are aligned to Savigent’s “Definition of Done” (pass all acceptance criteria, validated by automated regression, and be performant, stable, tested and standards compliant).”
  • Participate in customer and stakeholder meetings to ensure one’s understanding of the requirements to be developed
  • Follow Savigent’s Agile Product Development practices and help optimize our processes through feedback
  • Participate in building an industry-leading, IIOT platform
  • Actively assist in the development of systems that improve quality, delivery performance, and increase efficiency
  • Work on small to medium size projects that are critical to Savigent’s product roadmap, working to meet deadlines and deliverables
  • Creates and protects Savigent’s intellectual property
  • Strictly adheres to Savigent’s policies surrounding confidential and privacy issues of Savigent and its customers
  • Design and develop systems that improve quality, delivery performance, and increase efficiency.
  • Work with CTO and company leadership to understand the product roadmap
  • Key focus development areas include the support of:
    • Development and design of the application’s data structure (structured and unstructured data)
    • Development of the core C# desktop and web-based application
    • Development of the application’s UI/UX
    • Development of add-ins for Microsoft Office and other third-party applications
    • Development of a multi-tenant hosting environment for SaaS application
    • Development of documentation as necessary
  • Research new tools and technologies and analyze current processes for efficiencies
  • Influence design and development of new solutions that enhance the overall delivery and user experience of Savigent products.
  • Recognize, articulate and mentor peers on the use of, and implement patterns and best practices in accordance with industry standards.
  • Actively share knowledge, mentor and assist other team members.
  • Participate in troubleshooting and resolution of customer related issues.
  • Delivers quality products by applying patterns, best practices, industry standards; unit testing; creating innovative solutions; fixing bugs; and supporting released products
  • Packages and delivers enterprise applications in accordance with industry trends.

Minimum Requirements

  • BS in Computer Science, IT, Engineering. MS preferred
  • 5+ years in demonstrated software development experience
  • Experience with medium to large sized projects
  • Strong understanding of the .Net framework, C#, threading, WCF Service
  • Proficiency in web services design and implementation.
  • Proficiency in relevant programming languages and technologies, e.g., ASP.Net, SQL Server
  • Experience with real-time and device communication and/or Web and Azure cloud is a plus
  • Experience with Test-Driven Development and Agile methodologies
  • Strong analytical and problem-solving skills
  • Ability to work independently but with a collaborative team
  • Strong oral and written communication skills
  • A strong interest in working with and learning about, all parts of the product development life cycle