Senior Site Reliability Engineer

Job Description

Basic Responsibilities Include:

  • Modify and/or create applications, system, vendor supplied utilities or packages from detailed specifications.
  • Program software that improves efficiency of business operations, applications and/or operating systems.
  • Code, review, prepare test data, test and debug application software, vendor-supplied utilities and packages and/or operating systems software.
  • May maintain necessary program and/or user documentation.

Experience:

  • At least 2-3 years of experience- ideally 5+ years.
  • Experience/knowledge with Azure is a must have
  • Experience with Windows is a must have 
  • Experience using Powershell or experience in a scripting language like Python.
  • Experience with AWS is a nice to have
  • Can understand a certain workload/process well enough that they can identify what level of cloud/ network/ storage space it’ll need within the environment
  • Can assess their current work environments and make suggestions on how to optimize both immediately and long term
  • Candidates with experience with Ansible, Terraform, Chef or Puppet will translate well into this role.
  • Understanding of how to automate tools/processes/systems
  • Experience building a CI/CD pipeline using Jenkins
  • At least an understanding of containerization and Kubernetes and a willingness to learn it as it will be a part of this role down the road.

Qualifications:

  • Bachelor degree in discipline related to functional work or role with 5 years of relevant work experience OR
  • Demonstrated ability to meet the job requirements through a comparable number of years of applicable work experience.
  • Advanced experience with multiple tech skills/languages and apply them in a broader scale.
  • Able to lead feasibility studies that produce useful recommendations.

Responsibilities:
Work is typically performed under no supervision, with only guidance about overall goals and objectives. Usually receive minimal to no guidance about how to complete work objectives. Must be able to demonstrate advanced skills and knowledge at the depth and scope required for the position. Able to apply functional experience and knowledge within and outside the department or division to meet business objectives and achieve results. Excellent understanding of how work impacts overall business and how decisions may have a cascading effect in to other areas. Ability to manage non-routing and diverse assignments that are typically more complex.

  • Coding: Independently develop code, test, debug, maintain, modify, and install complex software programs. Develops, maintains, and applies structured programming techniques and adhere to coding standards. Use extensive knowledge of available utilities to simplify tasks. Apply structured programming techniques and adheres to coding standards, although some deviation from the standards is expected for particularly complex development efforts. Conducts and participates in code walkthroughs.
  • Testing: Plans, coordinates, and develops unit test and test scripts; performs unit, regression, conversion and parallel tests; develops system test data and performs system tests. Performs and coordinates and conduct system stress tests on software. Assists quality assurance testing teams with testing plans. Makes recommendations to improve performance based on stress testing results.
  • Analysis/Design: Design the scope of complex projects using a broad knowledge of the business, existing systems and available technologies. Analyze complex technical requirements and make determinations for modifications of existing computer programs/modules or if new programs/modules need to be developed for a specific application, system, and/or database. Independently analyze and document test results to ensure that programs are meeting the technical requirements. Partner with designers to update technical requirements documentation and make recommendations for re-design and/or re-coding of programs that do meet desired specifications.
  • Technical Support: Research and resolve complex programming issues and implement longer term solutions to frequently occurring issues.
  • Planning/Process Management: Function as technical leader through full project life cycle.
  • Documentation: Develop program specifications and flowcharts, (dataflows, jobflows, etc.), for stand-alone programs or systems. Prepare concise internal program documentation on program development and revisions. Prepare on-line help, FAQs, user guides and operational instruction manuals.
  • Communication: Conveys problems, solutions, updates and project status to peers, customers and management. Develops and maintains program, systems and user documentation.
  • Planning: Prepare time estimates for assigned tasks. Attends post-implementation reviews.
  • Mentoring: Team Lead/Subject Matter Expert (SME). Takes responsibility for personal technical and professional growth. Assist junior level team members with simple and complex department procedures, environment, tools, utilities and standards. Is considered the team lead and a subject matter expert in area of expertise. Performs other related duties and participates in special projects as assigned.
  • Performs other related duties and participates in special projects as assigned.