Java Architect

  • Raleigh, NC, USA
  • Employees can work remotely
  • Full-time

Company Description

Insightsoftware is a growing, dynamic computer software company that helps businesses achieve greater levels of financial intelligence across their organization with our world-class financial reporting solutions. At Insightsoftware, you will learn and grow in a fast-paced, supportive environment that will take your career to the next level. We are looking for future Insighters who can demonstrate teamwork, results orientation, a growth mindset, disciplined execution, and a winning attitude to join our growing team!

Job Description

We are looking for an architect to be a key part of the core engineering team, to own and drive architecture of our multi-dimensional planning platform. In this role, you’ll work on all aspects of an analytic query processor, including APIs and language, query planning optimization, execution, scaling and overall platform performance. You will design and write both code and tests.  You will help review and refine your teammates’ work, and they’ll help you with yours. You’ll collaborate with Product Management to shape conceptual ideas into effective product features. You will also be part of the total architectural team to brainstorm new designs and solutions.

Qualifications

  • 10+ years as a Java developer
  • Enthusiastic developer of designs and code - the right set of challenges get you out of bed in the morning
  • Highly pragmatic, able to balance ideal design with practical implementation
  • Strong understanding of and real experience language- and metadata-driven query processing and plan generation. Prior work on the internals of a database system such as a SQL engine, graph or OLAP database is desired.
  • Demonstrable depth in multidimensional modeling (e.g. with OLAP or planning systems such as TM/1, MSAS, Adaytum)
  • Experience with distributed system design
  • Fluent in the behavior of the JVM: memory, threading, reflection
  • Strong understanding of SQL (it’s part of the system, not the focus). Bonus for familiarity with Postgres
  • Professional pride in ensuring quality via testing and design
  • Eager to learn and to share what you know and discover, collaborative in your work

Key Responsibilities

  • Architect, design and implement computation system features
  • Translate requirements into high-performance, maintainable services and systems
  • Provide estimates to assist in product roadmap planning
  • Write good documentation for designs and code
  • Support and mentor other engineers by providing code reviews and design guidance
  • Evaluate and recommend best practices, tools and techniques

Additional Information

All your information will be kept confidential according to EEO guidelines.