The Software Engineer IV plays a lead technical role in an Agile/Scrum based software development environment in creating robust platforms and innovative gaming products for current and emerging markets. The Software Engineer IV has a high-level of proficiency in software design producing high quality, robust, and maintainable products. This engineer has strong SDLC (Software Development Life Cycle) experience, mentors junior developers and is expected to work with little or no supervision. This role requires experience in DevOps, Operations and operationalizing automated test environments.
Job Description:
Follows a disciplined Agile/Scrum software development process in task estimation, design, development, code reviews, unit/integration testing and defect fixing of products
Assists in the overall schedule estimations of product releases
Assists other Software Engineers in the estimation of design and development tasks
Authors technical design documents for the products
Works with senior staff to design code that adheres to the written specifications
Initiates and/or participates in peer reviews of code design and written code
Documents new/modified code, and develops/automates unit and integration tests to verify the changes
Analyzes existing software to debug and troubleshoot field issues that may arise
Identifies and proposes software development process improvement initiatives for improving execution speed and quality
Assists in the technical analysis of potential tools and commercial products
Mentors junior Software Engineers in SDLC processes and design/coding patterns
Performs all other tasks as assigned
Qualifications:
Experience programming on Linux or Windows platform
Advanced working knowledge of Object Oriented Analysis and Design (OOAD)
Knowledge of design/modeling with tools such as UML
Experience in database design and development
Attention to detail
Proven analytical abilities applied to system design and software implementation
Ability to keep up with new technologies/tools, and design techniques and lead adoption of those technologies with the team
Proficient in Microsoft Office (Word, Excel, PowerPoint, etc.)
Excellent communication, planning and organizational skills
Ability to work well in a team environment
Experience with continuous integration systems
Experience in network protocols a plus
Experience in the following:
Operations – monitoring, alerting, 24x7, runbooks, ORR, etc.
Python, C#, and/or C++
Any debugger
Version control
Testing frameworks (Pytest)
CI/CD (Jenkins)