Job Title: Java and Node.Js
Location: Dallas downtown , TX - 4 days in office (Locals Only)
Duration: 3- 6 months contract
Job Summary:
Qualifications:
Along with a Bachelor's or Master's degree in computer science, Information Systems, or a related field, the candidate should have at least 8 years of experience in the relevant field of developing microservice technologies, possessing the following knowledge.
• Strong proficiency in Java and Node.js and experience building scalable, maintainable microservices architectures.
• Hands-on experience with real-time event streaming platforms, such as Apache Kafka, for high-throughput data processing.
• Solid understanding of messaging systems and asynchronous communication patterns.
• Experience working with public cloud platforms, preferably Microsoft Azure, including compute, storage, and networking services.
• Proficient with in-memory data stores like Redis for caching and fast data retrieval.
• Experience with SQL (e.g., Oracle, MySQL etc.) and NoSQL databases (e.g., MongoDB, Cassandra), including schema design and query optimization.
• Familiarity with time-series databases and event stores (e.g., ClickHouse) for efficient storage and querying of event-driven data.
• Strong skills in designing and integrating RESTful APIs and third-party API services.
• Experience in unit and functional test automation frameworks to ensure code quality and reliability.
• Familiarity with DevOps practices and tools, including CI/CD pipelines, containerization (Docker), and infrastructure as code (IaC).
• Proven ability to solve complex problems efficiently in a fast-paced, dynamic environment.
• Strong architecture and design skills with the ability to contribute to system design discussions and decisions.
• Excellent communication and collaboration skills to work effectively with cross-functional teams and stakeholders.
• Solid understanding of software development best practices, including version control (Git), automated testing, and code reviews.
• Strong Node.js proficiency: Deep knowledge of Building Java microservices, Node.js runtime and ecosystem, including frameworks such as Express.js, NestJS, or Koa, which are widely used for developing scalable and maintainable microservices architectures. Experience with asynchronous programming, event-driven design, and inter-service communication to ensure seamless integration within a microservices cluster.
• Knowledge of Java proficiency is a plus: Deep knowledge of Java SE and Java EE, including frameworks like Spring Boot and Spring Cloud, which are widely used for building microservices.
• Microservices Architecture: Experience designing and implementing microservices, understanding principles like service decomposition, API gateway, service discovery, fault tolerance, and scalability.
• RESTful APIs: Expertise in designing and consuming RESTful services, including JSON/XML handling and API versioning.
• DevOps mindset: Familiarity with CI/CD pipelines, infrastructure as code (IaC), and automated testing.
• Containerization and Orchestration:
- Docker: For packaging microservices into containers.
- Kubernetes: For orchestration, scaling, and management of containerized applications.
• Messaging and Streaming:
- Apache Kafka: For event-driven architecture, asynchronous communication, and real-time data streaming between microservices.
• Configuration and Service Discovery:
- Spring Cloud Config: Centralized configuration management.
- Eureka, Consul, or Zookeeper: For service discovery and registration.
• API Gateways:
- Zuul, Spring Cloud Gateway, or Kong: To route, secure, and monitor API traffic.
• Build and CI/CD Tools:
- Jenkins, GitLab CI/CD, or CircleCI: Automate build, test, and deployment processes.
- Maven or Gradle: Build automation tools for Java projects.
• Monitoring and Logging:
- Prometheus & Grafana: Metrics collection and visualization.
- ELK stack (Elasticsearch, Logstash, Kibana) or Splunk: For centralized logging and analysis.
• Testing Frameworks:
- JUnit, Mockito: Unit and integration testing.
- Postman or REST Assured: API testing.
• Version Control:
- Git: Source code management.
• Additional Qualifications such as,
- Cloud Platforms: Experience with AWS, Azure, or Google Cloud Platform, especially in deploying and managing microservices.
- Security: Knowledge of OAuth2, JWT, TLS, and best practices for securing microservices.
- Database knowledge: Both relational (PostgreSQL, MySQL) and NoSQL (MongoDB, Cassandra).
- Problem-solving and debugging: Ability to troubleshoot distributed systems issues.
- Collaboration: Strong communication skills to work with cross-functional teams.
- Agile methodologies: Experience working in Scrum or Kanban teams.
Job Responsibilities:
• Design, develop, and maintain scalable Node.js microservices supporting real-time, event-driven architectures.
• Implement and optimize real-time event streaming solutions using Kafka or similar platforms to handle high-volume data streams.
• Develop and maintain messaging systems enabling asynchronous communication between services.
• Deploy and manage applications on Azure cloud services, ensuring scalability, security, and high availability.
• Utilize Redis, NoSQL databases, and time-series/event store databases (e.g., ClickHouse) to optimize data access, storage, and querying for performance-sensitive applications.
• Integrate with internal and external APIs to support business workflows and feature development.
• Develop and maintain unit and functional automated tests to ensure software quality and reduce regression risks.
• Collaborate with DevOps to build and maintain automated CI/CD pipelines, container orchestration, and infrastructure automation.
• Participate in architecture and design discussions, contributing to scalable and maintainable system solutions.
• Troubleshoot and resolve performance, scalability, and reliability issues in production environments.
• Demonstrate strong problem-solving skills to address complex technical challenges quickly and effectively.
• Communicate clearly and work collaboratively with product managers, architects, QA, and other engineering teams.
• Adapt and thrive in a fast-paced, agile environment, managing multiple priorities effectively.
• Participate in code reviews, continuous improvement initiatives, and knowledge sharing to maintain high engineering standards.