Job Openings Java Developer

About the job Java Developer

Senior Software Developer

This is a unique and exciting opportunity for you to join a small team within an established, profitable company developing a state-of-the-art platform for financial transaction processing (the next generation of a successful existing product). Youll be contributing to the design of the platform and developing primarily with the latest versions of Java and PostgreSQL running on Linux on the server side. (We also have some existing Kotlin and Scala code on the server side and are working with C#/.NET Core on the client side.) Youll be helping to analyze, design, develop, test, and support complex application software as you work directly with the Senior Director of Software Development and our development team.

Your responsibilities will include:

  • Being a key member of a small but strong, carefully chosen team working on the companys core applications.
  • Participating in design reviews to ensure a given release does not compromise the integrity or quality of the product.
  • Understanding and enforcing all parts of the development lifecycle; including design, development, documentation, and testing.
  • Digging deep into technical details to troubleshoot, optimize, and design and implement innovative software solutions.
  • Solving tough technical challenges in a startup-like atmosphere with a highly collaborative team.
  • Proactively eliminating roadblocks and successfully handling multiple competing priorities in a fast-paced environment

Required qualifications and skills:

  • Masters or bachelors degree in Computer Science or related field and 5+ years relevant work experience OR 7+ years relevant work experience (including 3+ years solid work experience in Java).
  • Server-side expertise in modern Java on Linux.
  • Strong knowledge of and experience with SQL, ideally PostgreSQL. Ability to build instances and database objects including the creation of tables, indexes, views, and stored procedures. Ability to access, query, and manipulate databases programmatically using Java.
  • Strong understanding of and experience with various methods for IPC. Familiarity with gRPC a plus.
  • Experience with and understanding of parallel programming/concurrency.
  • Familiarity and experience with SCCS and best practices, preferably with Git.
  • Devotion to quality, supportability, extensibility, and simple design.
  • Proven experience working with multiple stakeholders including but not limited to business leaders and customers along with marketing, development, quality assurance, and documentation teams.
  • Experience working with Agile methodologies.
  • Strong verbal, written, communication, and time management skills.
  • Be self-driven and able to deliver high quality results in a timely fashion. (Obviously from these requirements, the ability to multitask is essential!)
  • Have a creative approach to problem-solving and be resourceful and tenacious enough to find a solution when nothing seems to work.
  • Strong leadership and the ability to mentor other engineers.

Desired qualifications and skills (plus):

  • Ability to maintain, install, troubleshoot, and configure Linux (CentOS, Amazon Linux).
  • Knowledge of the functional programming paradigm, especially as applied to Java.
  • Experience with Reactive Programming.
  • Experience with Kafka.
  • Experience with accounting systems.