Job Description
We are seeking a Mid-Level Software Engineer to work on a platform that integrates data from various systems to ensure the completeness, accuracy, and accessibility of datasets. The role focuses on building and improving data connections, maintaining a core product that collects metadata, and implementing new features that enhance the platform’s capabilities.
This position involves working with large datasets, API integrations, and data processing systems, requiring a strong backend focus and familiarity with data management technologies.
Candidates must be willing to work U.S. standard business hours in EST, CST, MST, or PST time zone.
Key Responsibilities:
- Build and maintain data connections between existing data sources, making them available for analysis in graphing systems.
- Contribute to the refactoring of the data bus and enhance resource graphing capabilities.
- Work on feature requests to improve the completeness and accuracy of collected data.
- Collaborate closely with teams to integrate APIs and ensure seamless data flow.
- Implement and maintain scalable solutions using Kotlin, Java, and GraphQL for backend systems.
- Support API integrations using gRPC and Kafka, and work on data processing with Spark and Kubernetes.
- Use React IFL and TypeScript for frontend tasks related to the platform.
Qualifications
Required Skills and Experience:
- 3-5 years of experience as a Software Engineer with a strong focus on backend development.
- Proficient in Kotlin and Java, with experience in policy Java code development.
- Familiarity with GraphQL, Kafka, and gRPC for API integrations.
- Experience with data processing using Apache Spark and container orchestration with Kubernetes.
- Frontend development experience using TypeScript and React IFL.
- Strong experience in API Integration for seamless data flow across systems.
- Proficiency in Git and version control systems like GitHub, GitLab, or Bitbucket for collaboration and code management.
- Knowledge of ElasticSearch, MongoDB, and SQL for database management and data querying.
Additional Skills (Nice to Have):
- Familiarity with CI/CD pipelines using tools like Jenkins, CircleCI, or GitLab CI for automating the software delivery process.
- Experience with cloud platforms such as AWS, Azure, or Google Cloud for deploying applications and managing infrastructure.
- Understanding of containerization with Docker and Kubernetes for scalable deployment across environments.
- Proficiency in testing and debugging tools such as JUnit, Jest, Cypress, Selenium, and Postman for unit, integration, and end-to-end testing.
- Knowledge of database scalability techniques such as replication, sharding, and partitioning (nice to have).