Code Synthesis is a systems software development company with a focus on automated object persistence, domain-specific languages (DSL) and their mappings, compiler design, code generation, and source-to-source translation.
Our products cater for a broad, embedded-to-server class of applications and are used in a wide range of industries, including aerospace, defense, telecommunications, finance, high-performance computing, biotech, and integrated circuit design. Teams at world-leading technology companies rely on our development tools and expertise to invent and build the future's most ambitious software systems, such as satellite navigation, high-energy physics experiments, warfare operation support, and DNA sequencing. All our products are open source software and we encourage you to download and try them out.
We invite you to join Code Synthesis and help us envision, design, and implement the next generation of systems software and tools that will help engineers around the world with even more ambitious projects. We currently have the following open positions.
C++ Software Engineer, Cape Town, South Africa
We are looking for a software engineer with a strong C++ background who genuinely enjoys writing systems software and has a get things done attitude; someone who has successfully implemented complex systems in C++ and prefers to work in small, micro-management-free and highly productive teams.
Do you appreciate working on fully open source software stacks because any problem can be fixed instead of worked around? Do you prefer working on and perfecting the same product instead of making things good enough and moving on? Do you think about your code evolving in the future instead of just making sure things are working today? If so, then you could be the one we are looking for.
- Good sense of design
- Modern C++ (OO design, STL, templates, exceptions)
- GNU/Linux or UNIX operating systems
- Experience developing C++ software on GNU/Linux or UNIX
Nice to have skills
- Template meta-programming
- Networking/distributed systems
- Good written communications skills (documentation, mailing lists)
Areas that you will be exposed to
- Advanced C++, including C++11, template meta-programming, etc
- Open source software development (with your name in the source code)
- Cross-platform software development (GNU/Linux, various UNIX'es, Mac OS X, Windows)
- Compiler design
- Distributed systems design
- Concurrent software design
- Speed/size optimizations, including CPU-specific optimizations
- Embedded and mobile systems (Linux, VxWorks, LynxOS, QNX, WinCE, iPhone OS, Android)
- RDBMS, ORM, and related technologies
- XML and related technologies
- Build systems
- Version control
- Shell programming
What we offer
- Having fun working on hard, challenging problems with smart colleagues
- Making history by creating open source software with your name on it
- Being part of the product decision making
- If desired, exposure to the business side of the company (marketing, sales, negotiations)
- Latest gear and fully open source software stack (OS, tools/compilers, and products)
- Office, furniture, and equipment that inspire you to create beautiful things
- Great programming and business books to read
- Flexible work hours
- Great espresso (we have a Jura espresso machine)
If you are interested and possess the essential skills listed above, please send a few lines about yourself as well as about interesting software you have built in the past to firstname.lastname@example.org.