Senior Software Engineer

Provo, Utah

ECi Software Solutions Career
Apply for this Job
For more than 30 years, ECI Software Solutions has been providing industry-specific, cloud-based business management software and services to small and medium-sized businesses. With divisions focused on manufacturing, wholesale/retail distribution, building and construction, and field service, ECI's solutions integrate into every aspect of a customers' business to help them level the playing field, run day-to-day operations more efficiently, and free them up to focus on what matters most. It's how business gets done.

Who is ECI?

At ECI, our mission is to enable the entrepreneurial spirit of small and medium-sized business owners. But ECI doesn't simply deliver amazing software solutions; we also have an award-winning company culture.
  • We offer competitive benefits focused on employee well-being, including paid volunteer time off.
  • We have been named by Achievers on its prestigious 50 Most Engaged Companies To Work For list for the last five years.
  • We have received international recognition for our high levels of employee engagement through Certification as a Great Place to Work six years in a row.
  • Our culture of creativity, innovation, and leadership has garnered over a dozen International Business Awards (Stevie ).
Come join a worldwide team with a strong culture of inclusion, professional development, and collaboration.

To apply for this position, please attach a detailed resume that demonstrates your qualifications and skill set pertaining to this position. Applications without a resume will not be considered.

Location: Provo, Utah - Hybrid

(on-site Tuesdays/Thursdays) (MWF Remote)

We are seeking a Senior Software Engineer who has a bias for action and wants to improve their skills while contributing to our e-automate products that power businesses worldwide. You will be designing, coding, testing, and maintaining software that helps our customers and internal stakeholders thrive. You will be working with talented engineers on agile teams to deliver quality value for our customers and ECI. You will have the opportunity to mentor, collaborate with, share knowledge and eventually manage people.

Key Responsibilities
  • You will contribute to all portions of the Software Development Life Cycle (SDLC)
  • You will use the opportunities provided to you to develop and expand your skills and technical knowledge.
  • You will use your creativity and work ethic to meet or exceed performance goals.
  • You will embrace change and influence change at all levels within the organization.
  • You understand the power of retrospectives and feedback loops and are constantly using these techniques to suggest and influence change.
  • You will coach and mentor junior developers to embrace best practices and subject matter expertise.
  • You will promote knowledge sharing and help peers and other members of the team to get up to speed quickly.
  • You will proactively participate in technical and process initiatives at division and corporate levels.
  • You will participate in conversations with customers to understand and resolve customer issues.
  • You will assume a technical leadership role for one or more applications and take full ownership of the applications, APIs and SDKs being developed.
  • You will actively participate in software estimation exercises.
  • You will lead design sessions and participate in requirements refinement activities.
  • You will implement proof-of-concept / prototypes and bring them to completion as an individual or with the help of other members of the team.
  • You will actively participate in code reviews and provide proactive feedback.
Required Experience & Skills
  • Traditional Software Development
  • At least 10 years of full-stack software development experience.
  • Has a good understanding of developing multi-tenant web applications and services.
  • Has experience with designing solutions for high scalability and resilience.
  • Cloud Practices
  • Has a good understanding of designing and implementing cloud solutions across multiple platforms (AWS, Azure, Google Cloud, etc.).
  • Has awareness of cloud architecture best practices, security principles, and networking concepts.
  • Has awareness of developing for the cloud using native cloud services to enable both Software-as-a-Service (SaaS) as well as cloud hosted applications in an Infrastructure-as-a-Service (IaaS) environment.
  • Development Process
  • Have a good understanding of using software development tools like JIRA, Git, Lint, Visual Studio, Postman / Insomnia, Swagger/SwaggerHub etc.
  • Have a good understanding of CI/CD pipelines and tools like Jenkins / Azure DevOps Pipelines / GitHub Actions, and package management frameworks like NuGet.
  • Has good understanding of various testing frameworks applicable to API testing, unit testing frameworks and mocking libraries.
  • Good knowledge of database development, profiling, tuning and optimizations for highly scalable data flows.
  • Domain Practices
  • Good understanding of secure coding practices.
  • Good understanding of developing solutions for high availability.
  • Good understanding of monitoring, observability and telemetry.
  • Good understanding of developing APIs in REST documenting APIs and Developing SDKs.
  • Good understanding of Design Patterns and Software Architecture.
  • Excellent problem-solving skills and ability to troubleshoot complex issues.
  • Is a quick learner and adapts well in a fast-paced environment.
Nice-to-Have Experience
  • Have a background in developing highly scalable software solutions and / or distributed network solutions.
  • Have familiarity with refactoring monoliths.
  • Have either the experience or quickly adapt to work with the Microsoft stack.
  • Have experience developing in cloud environments like AWS and / or Microsoft Azure.
  • Management/Leadership
    • Leading or managing people.
    • Measure, review, and provide feedback to employees related to their performance, meeting role expectations, and achieving individual goals.
    • Holding employees accountable in a manner that is clear, direct, and professional.
Success Criteria:
  • You will be constantly designing incremental solutions to achieve the long-term goals.
  • You will be an enthusiastic, professional contributor to the team with a can-do attitude.
  • You will work collaboratively to meet deadlines.
  • You will embrace the company's core values.
  • You will complete projects combining self-directed work, collaboration, and teamwork.
  • You will be well organized and eager to be part of a dynamic team.
This is a great opportunity to join and contribute to a growing, global software company. Intellectual curiosity, creativity, attention to detail, research skills, and the desire to learn will provide you with a unique opportunity at a great company.

In addition to our competitive salary and award-winning culture, we offer an excellent benefit package. We even offer our employees a day off to serve their community. Our company core values are our "CODE": Crave Greatness, Own the Outcome, Deliver Awesome and Embrace Community.
Date Posted: 22 March 2025
Apply for this Job