Career Level Manager
Senior Software Engineer, C++
application dev Lua – built in
able to write code = 80% – 90% core dev C++
backend team scripted app dev
Our core development team is small and dynamic. Every developer counts and is expected to make a difference. While your role is nominally in server-side C++ development, we expect that your knowledge and experience are substantially broader, and there will be occasions for you to demonstrate that. The word ‘senior’ in your title is not a gimmick: we expect – and will verify – that you are very knowledgeable and experienced in the art of computer programming in general and in C++ in particular. Our philosophy is simple: fundamental knowledge is never obsolete, while cool things come and go. We endorse and expect creativity and initiative. You will have a chance to use other programming languages, like C#, Lua, or Python, and, who knows, maybe even convince us we should drop C++ and use something else.
Our minimal requirements are:
You have at least a Bachelor degree. Yes, in any field, but a field traditionally associated with computer programming, such as computer science, mathematics, physics or electrical engineering, would be a distinct plus.
Fundamental knowledge of computer programming. Data structures, algorithms, concurrent programing, elements of operating systems design, that kind of stuff.
You are an advanced user of at least one modern operating system and can create application software for it. Your ability to create system software would be a distinct plus.
You are ready and willing to learn something new. For example, we did not emphasize any particular OS above, because we expect that with your fundamental knowledge, you can learn whatever OS we think we need to support tomorrow.
You have been gainfully employed in a team of software engineers for at least four continuous years (not necessarily within one company), with a significant part of your work in C++. Note “gainfully” in the previous sentence, we generally expect that your experience is more than that, but the minimal requirement is concerned with your ability to market your skills successfully. Note also “in a team”, you need to demonstrate your capacity for successful team work.
You are familiar with concepts such as networks, databases, servers, communications and information security, and you have successfully participated in software development involving at least some of that.
You are fluent in the C++ language and follow its evolution closely.
You are familiar with other programming (scripting) languages.
The modern software development cycle and tooling is just something you know, and if you have not worked with a particular platform, IDE, compiler, source control or bug tracking system, you should be able to get going with minimal babysitting.
You speak English fluently