Engineer III, Software will apply principles and techniques of computer science, engineering and mathematical analysis to design, develop, document, test, debug and support new and existing software systems and solutions which solve business problems and support the goals of the company.
Essential Duties of the Position:
- Development and Design:
- Design, develop/build and test applications, integrations, scripts, automations and other software solutions that meet business objects and requirements, while adhering to the SDLC, security standards, development guidelines and best practices.
- Define system performance standards and KPI’s.
- Properly and accurately estimate, track and document all development efforts to all departmental and team standards and specification requirements.
- This might include, but is not limited to, detailed LOE estimates, technical specifications, flowcharts, architectural diagrams, administration instructions and end-user manuals.
- Collaborate, as needed, with project managers, business analysts and other developers as well as other project resources during the scoping, requirements gathering and design phases of projects.
- Comply with all project plans throughout development process.
- Operational Support:
- Provide exceptional customer, end-user and stakeholder support at all times.
- Troubleshoot and debug solutions to resolve incidents and ongoing problems.
- Monitor systems performance and identify areas of improvement.
- Upgrade, reconfigure and improve solutions, as needed, to achieve high usability, reliability, availability, accuracy and performance and either reduce or eliminate technical debt.
Focus of the Backend and Integration Software Engineer:
- Backend and Integration Software Engineers are responsible for design, implementation, test and support of software development with focus on backend Integration development.
- Strong experience in such domain is required.
- Extensive knowledge and expertise with modern large-scale, complex integration environments using multiple languages, multiple web frameworks and multiple data formats such as JSON and XML, modern RESTful micro-services and legacy SOAP based services.
- Comfortable building new systems and integrations according to modern enterprise integrations patterns such as data streaming, micro-services, dynamic scaling, and blue-green deployments while integrating with and supporting legacy systems and integrations that use classical enterprise integration patterns.
- Familiarity and experience in telecommunications including the following OSS and BSS concepts; customer relationship management, order management, provisioning, logical and physical inventory management, trouble management, billing and invoicing.
Knowledge, Skills and Abilities:
- Apply Engineering principles and techniques of Computer Science, Engineering, and mathematical analysis.
- Ability to work with other developers and inter-disciplinary teams collaboratively and professionally.
- Follow and enforce established procedures.
- Research new configuration tools and methodologies.
- Research new software development tools and methodologies, evaluating opportunities for efficiency or quality gains.
Knowledge of and experience in:
- Software languages and platforms particularly needed for troubleshooting modern development platforms and frameworks.
- Enterprise level integration technologies, tools, and patterns including but not limited to: J2EE application servers, Webservers, RESTful web services, ActiveMQ, Camel, etc.
- Applications and Service Monitoring and Telemetry such as Splunk, ELK (Elasticsearch / Logstash / Kibana), Prometheus, Grafana, Monit, etc.
- Database solutions such as MySQL, MongoDB, Oracle, MS SQL, NoSQL, etc.
- Operating systems such as Windows, UNIX, Linux, etc.
- Configuration management, Agile processes, Continuous Integration, Continuous Delivery and build procedures, including source control and build tools such as SVN, Artifactory, GIT, Bamboo, Chef, Jenkins, etc.
- Understanding of:
- TCP/IP and higher level networking protocols such as HTTP, FTP.
- Telecom and OSS concepts including order management, provisioning, service assurance, trouble management, billing and invoicing.
- Database concepts.
- Enterprise software concepts such as transactional processing, clustering, high availability and redundancy.
- Software functionality and performance testing.
- Create clear and easily understood written documentation for a variety of audiences, including, business analysts and end users.
- Use a blend of written communication techniques, including software diagramming such as UML.
- Take initiative to communicate amongst teams, including remote team members.
People and Self-Management Skills:
- Build and maintain effective working relationships with leadership, peers, customers and vendors.
- Work to resolve problem relationships directly.
- Take initiative and seek out opportunities. Assess and accept risks and learn from mistakes.
Customer Service Skills:
- Provide a professional level of service to internal customers.
- Take ownership and accountability of problems and facilitate finding a solution, involving other groups as necessary.
Additional Job Requirements: This is a mid-level position within the Software Engineering discipline. Must have a comprehensive understanding of operations and functions; receives work at a higher level under general guidance with periodic review and direction of the supervisor. Requires ability to make and implement routine operational decisions and participate in in larger project and be counted on to complete tasks on time and within scope and budget.
- Minimum six years in a software development, configuration management, or similar technical role, to include
- Experience with multiple OS scripting languages and Web based scripting technology is required. Experience within a telecommunications industry preferred.
- High school diploma or equivalent.
- Bachelor’s degree in Computer Science or related field required.
- Or a combination of relevant work and/or education sufficient to perform the duties of the job may be substituted for the degree on a year for year basis.