Isobar is seeking Systems Architects who enjoy the challenge of building automated solutions for continuous delivery of large-scale, highly available enterprise applications. The ideal candidate must have experience working in a DevOps model playing an active role with software developers in building solutions. Past experience as a software developer is a plus, but not a core job responsibility. Instead, an understanding of software development processes, tools, and operations is the focus.
Expectations also include managing a team of high-performing DevOps engineers, performance and capacity monitoring, resolving trouble tickets, collaborating with and escalating issues to third-level support (development), and managing code promotion processes between environments.
Candidates should possess effective written and verbal communication skills and be willing to travel.
- Configure and manage development, QA, and staging and production environments hosted in various cloud environments (Azure, Amazon) or client hosting centers
- Architect, implement, and operate systems that leverage cloud-native platforms and capabilities, including IaaS, PaaS, and SaaS
- Manage the promotion of code, including Infrastructure as Code (IaC), between environments using current techniques and tooling for infrastructure, deployment, and test automation
- Design and implement IaC using industry-leading infrastructure automation tooling (Ansible, Chef, CloudFormation, ARM Templates, Terraform, etc.)
- Collaborate with client and internal development teams to plan and support upcoming releases, and implement operational enhancements to improve reliability and scalability
- Anticipate operational issues before code reaches production, including advising and supporting development teams with product enhancements and design changes, as well as specifying and implementing new tools and processes prior to production launches
- Advise application development team and client stakeholders on optimal cloud architectures and which services can be utilized (e.g., cloud services which allow a legacy application to support autoscaling when migrating to the cloud)
- Proactive monitoring of production system performance, uptime, and daily operations, including the configuration and use of automated, cloud-based monitoring and alerting offerings (AWS CloudWatch, Azure OMS, etc.) as well as the ability to architect systems for resiliency and self-healing
- Develop capacity plans for future infrastructure needs and scale server environments to implement those plans, including the ability to architect systems that leverage cloud technologies to auto-scale on schedule as well as in response to real-time capacity events and triggers
- Identify and implement opportunities for automating existing processes in order to streamline operations and support functions
- Manage server and application patches for routine upkeep and vulnerabilities, including the ability to architect solutions that leverage automated, managed patching and upkeep (e.g., AWS Beanstalk managed platforms)
- Stay current of trends and innovations in the virtual hosting and management space, bringing opportunities for improvement to the technical teams and leading their implementation
- Manage one or many project teams, and provide input on strategic decisions for client engagements and opportunities
- Ensure overall quality and consistency of deliverables and communications to the client
- Build strategies for deployment, load balancing, distributed computing, disaster recovery, compliance security / procedures, automation, remote monitoring, alerting, etc.
- Identify the strategy / approach / tools for the complete solution, including project plan tasks, estimates, and dependencies
- Influential communicator, able to influence client actions and decisions
- Manage overall client communications related to the execution of a project
- 8 years of experience developing web applications, or designing and administering the systems that support them
- Minimum 4 years of experience managing and administering cloud hosting environments
- Minimum 4 years of experience with infrastructure automation
- Minimum 4 years of experience scripting common languages such as Bash, Python, or Ruby
- Experience with common cloud automation scripting languages and toolsets (CloudFormation, ARM Templates, Ansible, Puppet, Chef, etc.)
- Design and implement code management and promotion practices utilizing industry standard toolsets, including source code control and continuous integration
- Expert running Linux or Unix in real-world production environments, preferably at scale
- Mastery of native-cloud application and database hosting platforms, such as Elastic Beanstalk, Azure App Service, and Amazon RDS to include capacity planning and cost estimation.
- Experience with multiple cloud platforms (AWS, Azure, GCP) and an understanding of their relative strengths and weaknesses
- Manage a team of junior resources to perform problem determination and root-cause analysis to maximize availability and meet Service Level Agreements (SLAs)
- Able to architect promotion strategies for applications between different development and production environments to maintain highest levels of quality of service
- Manage and develop needs assessments, design, application testing and integration, production cutover, change management, disaster recovery, and capacity planning
- Experience using NoSQL databases such as MongoDB, Redis, or Memcache
- Experience with identity and access management and identity federation technologies and best practices (Active Directory/ADFS, SAML, etc.)
- Software development experience
- Experience with a number of widely-available development and administrative tools, languages, databases, and frameworks such as JBoss, Tomcat, WebLogic, PingFederate, Apache, Nginx, Git, SVN, etc.
- Experience working with Serverless technologies (Lambda, Azure Functions, etc.)
- Experience with on-premise to cloud migrations