The role of Senior Software Engineer is to develop and maintain the
mission-critical systems that comprise our back-end services and supporting
core technology such as billing, chat, patching, and authentication.
Candidates are expected to work independently on assigned tasks, as well as
share knowledge and experience to aid and improve the quality of code and
development process.Candidates must be comfortable with a professional
work-environment and be capable of working closely with peers, leads, and
managers in high pressure situations. Candidates are expected to have
previous experience working in a fast-paced, multi-project environment.
Responsibilities:
Design and implement our back-end services and supporting core technology
Analyze requirements and designs as requested
Implement systems in a modular, maintainable, and extensible manner
Fix implementation-level and design-level bugs in existing systems as
requested
Document systems thoroughly, both in terms of design and implementation
Lead technical design discussions on own systems
Provide reliable and accurate time estimates for tasks
Contribute to technical policy-making discussions as requested
Maintain significant familiarity with engineering domain
Perform design and code reviews as requested
Other duties and responsibilities as assigned by the manager
5+ years of professional C++ experience with strong object-oriented
programming and software engineering skills
3+ years experience developing medium to large-scale software systems
3+ years of experience with Win32 and SQL
1+ year of experience with ODBC, STL, and client/server architectures
Working knowledge of the following: COM, XML, XML-RPC, TCP, UDP
Pluses:
Experience with one or more of the following: billing systems,
multi-threaded programming, Perl, Posix/Unix, Security Protocols,
Encryption, UML, ATL,BSCS
Knowledge of MMP games