What are the responsibilities and job description for the Software Support Engineer - REMOTE ET position at iMPact Business Group, Inc.?
Software Support EngineerLocation : Remote in Eastern or Central Time ZoneEmployment Type : Contract to Hire (Contract 4-6 months before hire)Industry : Medical Device As part of the engineering team, you will be a resource to the customer support teams as a last recourse for technical escalations. You will resolve production problems across a wide variety of technologies such as networks, databases, server virtualization, cloud deployments and others. If there is a software problem, you will partner with the development team to create a fix or implement a temporary mitigation until a permanent solution becomes available. You will also participate in special projects for customer requests for feature customization or expansion. You will be a part of a team that provides on call support to fix urgent customer issues. This position reports to the Chief Engineer, Software Engineering. Position Description (Principle Duties and Responsibilities) Lead efforts to resolve customer service outages in an expedited manner and minimize the disruptions experienced by the clinical staffRecord relevant data regarding a production issue, provide problem summary to non-subject matter expertsAnalyze problems and implement code changes or scripts to provide temporary mitigation to minimize disruption if a permanent fix is not immediately availableCollaborate with the Quality Assurance department to communicate production related problems and coordinate the associated validation prior to customer deployment; incorporating new tests into the standard validation workflowsInvestigate and solve customer infrastructure problems (, virtualization resources,authentication / security, etc) that may be indirectly causing production problems, conduct functional and performance characterization to extract evidence of root causeIdentify database underperformance issues and implement changes to resolve, make data changes to rectify incorrect input informationWork with the Edge development teams to improve quality and support of production issuesTackle engineering tasks that may not be assigned to other engineering teams due to resource issues, including product development, integration testing, performance profiling, etc.Requirements Bachelor's degree in Computer Science or related field or equivalent4-6 years of software development experience with at least 3 years' experience full-stack work and troubleshooting Excellent proficiency with Linux (Oracle, Red Hat or CentOS preferred), exposure to system administration, shell scripting, network configurations, server virtualization especially for cloud-based deployments with their respective infrastructure and services Experience with networking protocols including the ability to analyze network traffic, VLAN management and reverse engineer protocols Knowledge of databases, experience reviewing logs, pinpointing performance issues and manipulating data in the CLI Exposure to Java, Ruby or similar OOP languages, ability to follow code walkthroughs (Preferred) Exposure to IP telephony (, Freeswitch) or related technologiesKnowledge and exposure to DevOps and automation technologies such as Ansible, Containers, Kubernetes and related technologies Background in system metrics, log processing, Grafana, InfluxDB, and similar technologies Familiarity with SOLID design principals and design patterns Exposure to the following software : Tomcat, ELK Stack, Zookeeper, Openfire and Vault