Software Engineer II
Role details
Job location
Tech stack
Job description
In this Software Engineer II role, you will be responsible for contributing to the design, development, and ongoing maintenance of production software systems. With a high degree of autonomy, you will own moderately complex technical tasks, and collaborate closely with the Lead Engineer and broader engineering team to deliver stable, scalable, and maintainable solutions.
As a reliable individual contributor who understands client-server architectures, you will work effectively within established systems, and demonstrate strong organizational and problem-solving skills. This role participates in an on-call rotation to support live systems and is expected to respond to production issues as needed.
YOUR RESONSIBILITIES
- Design, implement, and maintain software components and services within existing systems
- Contribute to architectural discussions and technical decision-making under the guidance of the Lead Engineer
- Develop and maintain code using languages and frameworks appropriate to the project, including compiled and managed languages
- Work effectively with client-server workflows and networked systems
- Diagnose, troubleshoot, and resolve defects and production issues, including participation in an on-call rotation
- Maintain and improve legacy systems while contributing to new development
- Write clear, maintainable, and well-documented code following established standards
- Participate in code reviews, testing, and quality assurance processes
- Manage assigned work independently, balancing priorities and meeting deadlines
Technical Ownership Expectations
- Take ownership of assigned systems, features, or technical areas, including operational stability
- Communicate clearly and proactively with the Lead Engineer and teammates, especially during incidents
- Demonstrate sound judgment when responding to live production issues
- Model strong engineering discipline, including testing, documentation, and thoughtful code changes
- Provide constructive feedback during code reviews and technical discussions
- Identify risks, technical debt, or improvement opportunities and surface them appropriately
- Operate with professionalism and accountability in a live service environment
Requirements
- 3-5 years of professional software development experience
- Strong proficiency in C, C++, C#, or similar languages
- Strong experience working in Linux-based environments
- Solid understanding of client-server architectures and networked applications
- Experience with version control systems (e.g., Git)
- Strong organizational skills with the ability to manage multiple tasks and priorities
- Self-starter with the ability to work independently and take ownership of assigned work
- Strong problem-solving, debugging, and analytical skills
- Effective written and verbal communication skills
Nice-to-have
- Experience in the online gaming industry or other live service environments
- Familiarity with ASP.NET and related web technologies
- Working knowledge of SQL and relational databases
- Experience with AWS or other cloud platforms
- Exposure to DevOps practices, monitoring, logging, or deployment pipelines