Senior Software Engineer – Site Reliability
Bethesda Softworks @ Rockville, MD, US
Are you interested in high-load systems? Are you someone who can see a technical solution and clearly state all the Good, Bad and Ugly in the design and suggest ways to make it more balanced? Do you want to contribute to the future of a platform driving many popular games? Do you have strong development background and have decent understanding of Cloud infrastructure? Did you coach junior staff? Can you work and be efficient with minimal supervision? Is your current employer too formal and all corporate? You can join our team. We are SRE in Bethesda.net at Bethesda Softworks.
- At least 5 years of experience as a software engineer.
- Understanding of Agile SDLC, and roles and functions of different team members in a SCRUM team.
- Real life professional experience with unit testing and ideally with other types of testing.
- Problem solving, demonstrated ability to identify a problematic component or code in a system.
- Familiarity with git, and preferably other VCSs, and an understanding of various branching strategies along with their benefits and risks.
- Professional experience with any of the following: GoLang, Python, NodeJS, C#, C++.
- Confident Linux user or any other UNIX-like system, including shell scripting.
- Professional experience with NewRelic and/or Splunk.
- Professional experience with AWS, Azure, Google Cloud or any other SaaS, IaaS, PaaS.
- Experience with SQL and NoSQL databases.
- Understanding docker (or other container systems), preferably experience with a container orchestration software.
- Knowledge of algorithms and data structures, more specifically using O() notation, recommending specific implementation path for the software, or detecting hot sections.
- Experience with large-scale systems, public facing systems, high load, or big data systems.
- Professional experience with build/deploy systems, preferably CI/CD.
- Professional experience troubleshooting live environments.
- Bottleneck detection and platform optimization.
- Develop components, automating infrastructure and development activities.
- Manage expectations (feasibility, size, risks) for the stories assigned to you.
- Mentor more junior engineers on development best practices, assist with system design and technologies.
- Analyze existing and new software components, identify bottlenecks, and recommend ways to improve software performance.
- Review and contribute to code written in Python, GoLang, Java, NodeJS.
- Build tools for production teams for platform, code, and test management.
- Troubleshoot system defects and drive short, mid, and long-term solutions.
- Participate in on-call rotation with the rest of the engineering team to provide escalated support.
- Tune and automate AWS-based platform.
- Actively participate in daily huddles and weekly SCRUM/Kanban rituals.
- Actively participate in design sessions with other engineers and team leads.