Senior Software Engineer
Required to handle all facets of the system development and support for Algoteq proprietary and Clients’ products including but not limited to:
- High-performance system design and architecture
- Requirement analysis and specifications
- Software product implementation employing Agile methodologies and other best development practices in Java, C/C++, Python, JavaScript, Perl, Unix Shell Scripting and other languages as required.
- Automatic unit, integration, performance testing and statistics gathering
- Detailed technical documentation
- Product training and mentoring
- Regular status reporting to the immediate line manager, Algoteq management and nominated Client contacts
- Research and innovation
- Along with the primary development team, design, build and maintain Algoteq technology and software development infrastructure.
- Actively collaborate with all members of the immediate development and wider Algoteq team and contribute to their growth and professional development of their members.
We are looking for a smart, creative and passionate individual who is keen to push the boundaries, has a vision and skills to build awesome cutting-edge systems and help our clients grow.
The position is based in Sydney, Australia. It is a Senior Software Engineer role with very good growth prospects.
The candidate is expected to have sound knowledge of Java in the following areas: JVM ergonomics, JVM design, GC, JIT, interfaces and classes, closures, exception handling, serialisation, multi-threading, Reflection API, etc.
We expect deep understanding of and experience in the software design and architecture, the GoF, multi-threading patterns, networking patterns, HA patterns, distributed computing, algorithms and complexity. Experience in writing languages (general purpose and DSL), implementing interpreters, compilers, VM’s, operating systems and device drivers is a major plus.
We expect advanced knowledge of concurrency and multi-threading that stretches beyond Java. The candidate should be capable of implementing a bespoke multi-tasking solution (e.g. an OS scheduler) supporting cooperative, preemptive multi-tasking or a combination of both.
Understanding of fast IPC patterns and hands-on experience are greatly appreciated.
Strong knowledge of other programming languages such as C/C++, Assembler, C#, Rust, Go, Objective C, Scala would improve the candidate’s chances of getting the job. We always welcome experience in a wide range of scripting languages (e.g. Perl, Lua, Groovy, JavaScript, Python, Shell Scripts).
Extensive experience in Linux/Unix OS is essential.
The candidate is expected to demonstrate knowledge in financial mathematics, experience in the financial markets, problem solving abilities and excellent communication skills.
Contact Us