Location: 100% Remote (Candidates do not need to be in the USA)
We are seeking a highly skilled Senior Software Architect with extensive experience in Java and Python to lead the design and development of our platform. The ideal candidate will possess a deep understanding of software architecture principles, demonstrate proficiency in multiple programming languages, and have a proven track record of delivering scalable and efficient software solutions.
As with all positions they must satisfy the Universal Job Requirements we lay out for all positions.
For information on where to submit applications, and what to include please see our submission guidelines.
We look forward to reviewing your application and exploring the possibility of you joining our innovative and dynamic team.
Must Have:
- Senior-level experience in development and architecture, evaluated primarily based on demonstrated skills rather than years of experience—equivalent to approximately 10 years of real-world expertise.
- Advanced skills in Java and Python.
- Proficiency in Linux and Linux-based tools for day-to-day development.
- Experience with SQL/Hibernate, NoSQL, RDF/Knowledge Katabases and Graph Databases.
- Understanding of Machine Learning, Big Data, and Statistics.
- Ability to rapidly learn new technologies in a fast-paced environment, demonstrating adaptability and independent learning capabilities.
- Previous experience as in a fully remote environment, may include contributions to open-source projects (commercial experience is not mandatory).
- Comfort designing with multiple programming languages, selecting the most appropriate language to address specific problems.
- Ability to write efficient algorithms, with a solid understanding of big-O and little-O notation.
- Proficiency with GIT for version control.
- Experience with Kroki/PlantUML/Mermaid diagraming tools as well as any other text-based diagraming tools.
- Significant time working on open-source projects and has an open-source portfolio of work to share
- Ideally will be reasonably comfortable with the following languages and tools: Java, Python, GIT, and Microservice Architectures.
Responsibilities shall include (but not be limited to):
- Develop and enhance software architecture design diagrams and documentation, ensuring alignment with business objectives and scalability requirements.
- Write, edit, and improve documentation and architecture diragrams across multiple programming languages, adapting to new languages as necessary.
- Assist and mentor team members in understanding and implementing advanced software design and development concepts.
- Participate in the planning and architecture of the core platform and ancillary enterprise systems, breaking down development projects into manageable tasks.
- Overseeing the design diagrams and documents for each project.
- Engage in Agile development workflows, including daily stand-ups, sprint planning, and sprint reviews.
- Conduct peer reviews of source code to ensure quality and adherence to standards.
- Develop code to find, integrate, and transform third-party data into internal data stores.
- Collaborate with data scientists to develop semantic ontologies and reasoners.
- Stay abreast of new technologies and techniques, applying them as required to accomplish assigned tasks.
- Design for and document queries against various types of databases, including semantic (e.g., SPARQL), SQL (e.g., PostgreSQL), and NoSQL (e.g., MongoDB).