Advanced Software Developer
WarnerMedia seeks a Development Ops Engineer I for the META IO Build-QA-DBA department. DevOps Engineers are IT professionals who collaborate with software developers, systems engineers and other IT staff members to do server configuration management and manage code releases. They cross and merge the barriers that exist between software development, testing and operations teams and keep existing networks in mind as they design, plan and test.
• DevOps Engineers must be extremely flexible, as they are responsible for multitasking and dealing with multiple urgent situations simultaneously.
• A primary goal for all DevOps Engineers is to increase automation thereby reducing or eliminating manual tasks and human interaction in order to deploy software and configuration changes more efficiently and with fewer errors or failures.
• Support the internal development teams; the Build and Release Team helps developers take their application source code from repository to deployment in a manner that is maintainable, scalable and repeatable. Application building and releasing is typically facilitated by Gradle and Jenkins. Application server configuration management and deployment is handled by Chef. This engineer will provide expertise and support for these technologies. Most applications are deployed to an internal data center managed by vSphere however AWS is being utilized more often.
• Support the systems engineering/operations teams; the Build & Release team develops tools and processes for automating the commissioning of servers (both virtual and physical) that host both internally developed and vendor-provided software with the goal of providing the capability of quickly commissioning servers that are consistently configured across the whole organization as well as applying software and configuration updates in an efficient and consistent manner. Typically, this is managed by Chef or sometimes Ansible along with a variety of internally developed scripts and utilities.
• Support and maintain internal applications that support the build and release process such as Jenkins, Chef, Gitlab, and Artifactory. Additionally, this team supports a growing list of internally written automation tools that support day to day work.
• 1-2 Years IT-Related Work Experience (e.g. system administration, software development, QA, etc.)
• 1 Year Software Development Experience
• Preferably writing system administration, configuration management, or application deployment automation code.
• Can be ''home grown'' suite of automation scripts and programs written in languages such as Perl, Python, Bash, or Powershell or code written for use with a deployment or configuration management application such as Chef or Puppet (Ruby).
• Experience working in a Linux environment and has a working knowledge of basic Linux commands/utilities
• Experience working in a Windows server environment and has a working knowledge of basic Windows server commands/utilities
• Fundamental understanding of networking concepts and knowledge of basic network-related commands/tools in either Linux or Windows environment.
• Experience accessing/querying databases via GUI clients and command-line utilities for the purposes of data analysis and troubleshooting.
• Experience writing scripts/programs that execute typical DB query and CRUD operations.
• Exposure to software tools used for automating software building/packaging and deployment.
• Experience supporting a system comprised of at least 5 integrated applications and services.
• Familiarity of VMWare or VSphere or similar technologies
• Familiar with application containerization concepts such as Docker and Kubernetes.
The Nice To Haves
• Vendor Management:
• Effective working with external vendors for product support and problem resolution.
• Communication Skills:
• Able to communicate effectively both in verbal and written form to peers, customers, leadership and external parties (e.g., vendors).
• Able to conceive and develop a presentation to a peer group that is logical, well-written, and concise.
• Software Development:
• Able to write logical, easy to understand, well-documented and efficient programs/scripts in a wide variety of languages when given clear requirements, documentation while adhering to the team's guidelines and best practices.
• Able to quickly achieve the level skill/proficiency of an unfamiliar programming or scripting language in order to read, understand, debug, and modify
• Problem Solving/Troubleshooting:
• Given a trouble-shooting SOP and/or training is able to perform root-cause analysis of and application or system issue and take corrective action personally or escalate to the appropriate individual/teams for help.
• Willing to be generous with one's time and knowledge to mentor others with the goal of spreading one's expertise across the organization.
• Receptive to seeking advice, help or feedback from other team members, technical partners, customers, and leadership.
• Able to provide constructive feedback diplomatically to other team members, technical partners, customers, and leadership.
• Receptive to matrix-reporting (i.e., Taking directives from technology partners outside of your reporting structure such as members of our infrastructure, architecture, software development, product management, or project management organizations.)
• Willing and capable of seeking resolution in the event of a disagreement with others whether in regard to professional technical issue or an interpersonal issue.
• Able to independently prioritize tasks when provided with guidance and escalating to leadership when conflicts arise.
• Receptive to requests to re-prioritize tasks on short notice