ABOUT THE ROLE
Systems Engineer incorporates aspects of software engineering and applies that to operations with a goal of creating ultra-scalable and highly reliable systems. Involved in all levels of design, development and delivery of these applications and infrastructure.
Help define the evolving standards and processes that facilitate an efficient and reliable environment, implementing immutable infrastructures within internal datacenters and external cloud providers. Manage software changes and releases and be responsible for implementation.
Responsible for providing 24x7 application and technical support to all production and test environments.
Application release and configuration management. Pinpoint areas of underdeveloped technology,
software practices, and operational procedures that pose a risk to the production environment; actively
develop technological solutions and business processes to reduce this risk.
ENGINEERING
Responsible for the automation of operations and support for trading and business systems and applications.
Assume a leadership role in the continuous improvement of Software Deployment Automation (SDA).
Research and select products to fulfill system reliability engineering requirements.
Investigate, identify, and fix application performance, systemic inadequacies, and latent reliability issues.
Troubleshoot stack-wide engineering issues related to hardware, software, network, and application layers.
Implement operational automation for monitoring, managing, deploying, and validating systems and applications.
Mentor engineers and team members on methodology, standards, and best practices.
Communicate enhancements through internal presentations, blog articles, and documentation.
CHANGE MANAGEMENT
Manage installation and configuration of application software leveraging SDA.
Manage, schedule, and track application changes and releases.
Define, test, and document installation and fallback procedures for system changes.
Assess, manage, and communicate risks prior to implementation.
Document specific procedures for implementation and error checking.
IMPLEMENTATION MANAGEMENT
Design implementation strategy and procedures.
Deploy application software and configuration changes across all production and test environments utilizing SDA and version control.
Ensure proper system and application health checks are performed and run successfully following implementation.
RELIABILITY TESTING
Create and execute operational test plans, scripts, and cases based on technical and business requirements.
Support the execution of acceptance, performance, capacity, regression, and system failover testing on back-end components using automated test procedures wherever possible.
Support scheduled weekend testing of production-level systems and applications.
APPLICATION SUPPORT
Provide Level 2 application support for test and production environments.
Troubleshoot and diagnose systems problems and make repairs in areas of responsibility.
Utilize Jira, GitHub, and ServiceNow to track and manage defects discovered during testing and application support.
Provide online and offline Level 2 support for trading systems including 24x7 on-call coverage.
Analyze root cause of production problems and develop methods for improvement.
REQUIRED SKILLS AND EXPERIENCE
Bachelors degree or equivalent knowledge and experience
Expert knowledge of Linux servers, specifically RHEL
Demonstrable knowledge of TCP/IP
Experience of high-level scripting language (Python, etc.) and software design and life cycle
Practical knowledge and use of source control systems, Preferably GIT
Experience with IT Automation Software (Puppet, Chef, SaltStack)
Knowledge of basic network administration
Operational testing, change control and implementation management experience
Practical experience with monitoring and alerting workflows and technologies
General understanding of capacity and performance management
Possess the ability to adapt and adjust to rapidly changing land-scape and priorities
Strong ability to work independently and prioritize tasks with little or no direction
Passionate lifelong learner and innovator that understands that current technologies and problems
will continue to change
Familiarity with open source software development culture, community and workflows