Summary:
ECS provides computer hardware, software, and related services to ISVs, OEMs, ODMs, and other computing technology companies, both directly and through channels. The company also supplies computer resellers with configurable servers for sale to enterprises and SMB’s for on-premises use. Equus is one of the longest-standing and leading systems and solutions integrators. Over the last 32 years, we have delivered more than 3.5 million custom-configured computers throughout the world.
The Senior Software Engineer demonstrates a deep interest and passion for software, technology, and a strong desire to build capability that solves new challenges quickly while being driven to learn. The Senior Software Engineer, (a.k.a. Linux DevOps Engineer) will design, deliver, and operate multiple solutions for manufacturing, engineering, and customers that requires knowledge and skills in Linux, automation, software development, security, and networking. This position creates, manages, and advances the configuration management, manufacturing automation, and various internal and external tools for a diverse and complex computing environment. This position focuses heavily on the automation infrastructure of the manufacturing environment and the tooling for manufacturing engineering while supporting additional capability in data collection, driver and firmware management and customer specific needs via a highly elastic back end using microservices, message queuing, databases, APIs, data mining, and digital dashboards. This position also performs software development, lifecycle management, tool and process development, and software component evolution into products and services used for remote command and control, API development, cloud-based solutions, operating system agents and services, operating system installation and management, application performance analysis, and customer applications and software configuration and installation. The Senior Software Engineer responsibilities include gathering requirements, defining system functionality, developing solutions in various languages, documenting all architectures and approaches, and solution verification and validation. This role is responsible for developing process and procedures associated with software development in ECS, including the processes, documentation, controls, and methods to ensure a mature and capable environment.
Essential Duties and Responsibilities include the following (Other duties may be assigned):
- This position requires being in the office and the candidate must be located near the City of Industry, CA. Flexible remote during the week may be possible.
- Develop, own, and improve the software capability including feature planning, development, and issues management through planning, milestone development, risk management, and communication of status and issues.
- Lead the design and development, availability, resiliency, and scalability of all solutions.
- Develop PXE boot environments for various tools and interactions with back-end systems.
- Develop the manufacturing automation environment for image deployment and hardware verification and validation. Additionally, develop and manage a scriptable back-end management supervisor to allow for configuration and burn-in tooling to be written and executed against by the Manufacturing Engineering team.
- Design and develop multiple elastic backends for data collection, component interaction, data mining, and API integration.
- Install and configure operating systems, software applications, and various software-based components to perform troubleshooting, verification, validation, and system qualification.
- Develop supporting documentation, summarize all verification and validation results, analyze, and interpolate test data, record pass/fail results, and justify conclusions reached in compliance of product requirements.
- Create and manage the software development process, ISO 9001, and other.
- Follow the engineering change management process to plan and communicate changes within the automation environment of manufacturing.
- Develop APIs to extend software agents, cloud solutions, and other software components for internal use, customers engagement, etc.
- Integrate, support, and manage vendor tools, applications, and software components into customer application stack.
- Overcome limitations and risks proactively through experimentation, investigation, and research necessary to fulfill the successful implementation and management of all customer or product needs.
- Works in collaboration with Product Management, Manufacturing Engineering, Manufacturing, Quality, and Customer Service to resolve identified issues.
- Advances skill set by staying on top of software technology trends, experiment and learn new technologies, mentor other members of the team.
- Demonstrate commitment to core values by acting and behaving in a manner consistent with the company core values; Customer Success, Embrace Innovation, Collaboration, Owners Impacting Growth, and Do the Right Thing.
Essential Education, Skills and Experience:
- BS degree or equivalent in Computer Engineering, Computer Science, or related fields or a combination of education and experience.
- 7-10 years of experience in Linux, system design, solution design, IT, Cloud computing, or related.
- 7+ years software development work experience in C, C++, node.js, Python, and related technologies including JavaScript, JSON, HTML5, etc.
- Experience with Lua and integrated scripting of a Lua architecture a plus.
- 3-5 years hands-on Linux Administration experience in a production environment.
- Experience in a manufacturing environment or product development in a technology field a plus.
- Experience designing, implementing, and automating distributed system solutions.
- Strong understanding of computer components, function, assembly, and component interaction.
- Strong working knowledge of Windows and Linux and underlying software-based applications.
- Demonstrated strong experience with Linux, PXE, networking.
- Solid foundation and understanding of relational and NoSQL database principles with experience in PostgreSQL, NoSQL and JSON.
- Ability to quickly adjust capabilities to introduce new software languages or approaches.
- Experience defining buy vs. build decisions and the holistic approach to managing those outcomes.
- Knowledgeable in system architecture including message queueing, micro-services, CI/CD solutions, and elastic compute environments.
- Experience with API development.
- Experience with Gitlab, version control, and programmatic, real-time interaction with back-end version control.
- Knowledge and experience with configuration management tools such as Puppet, Chef, Ansible.
- Experience with installing and managing virtual machines, hypervisors, and on-demand creation of resources.
- Hands-on knowledge and administration of Kubernetes, containers, container management (Docker).
- Knowledge of product lifecycle management tools (e.g., JIRA, Azure DevOps), use, administration, and ownership.
- Familiarity with ISO 9001 software process.
- Experience with configuration management and maintaining standard baselines in a production environment.
- Demonstrated experience in problem solving, analytical reasoning, and conceptual skills.
- Strong written and verbal communication skills, as well as the ability to work independently and with various non-engineering teams.
- Ability to lead process improvement activities and participate and support inter-department improvement activities that reduce time-to-market and associated development costs.
- The base pay range for this role is between $130,000 and $170,000, and your base pay will depend on your skills, qualifications, experience, and location, along with budgeted range of position.
Key Accountabilities:
- Solution requirements, design, implementation, verification, and validation (40%)
- Manufacturing engagement, integration, and support (20%)
- Planning, organizing, communicating, and documentation (20%)
- Existing program support and sustaining engineering activities (15%)
- Process development and improvements (5%)