Software Engineer

Overview

On Site
Full Time

Skills

Java
Hadoop
Big Data
Python
Spark
AWS
Kafka
Go
RESTful API
microservices
distributed systems

Job Details

JOB TITLE: Software Engineers
LOCATION: New York, NY (Hybrid)
DURATION: Permanent / Full time
MUST HAVE- Java, Microservices, Spring Boot, Kafka, Hadoop, SQL and No SQL
The Challenge:
We are looking for skilled Software Engineers to join our team, where you'll play a key role in developing and maintaining high-performance, event-driven systems for real-time applications. You'll work closely with senior engineers to implement microservices, optimize code performance, and contribute to the overall success of our technical projects.
Roles & Responsibilities:
  • Component Development: Collaborate in developing and maintaining components of high-performance, real-time systems, following the guidance of senior team members.
  • Microservices Implementation: Build microservices using Java, Python, or Go, adhering to established architectural patterns for scalability and resilience.
  • Performance Optimization: Enhance code performance by focusing on efficient memory management, concurrency, and I/O operations to meet demanding performance standards.
  • Database Management: Work with both SQL and NoSQL databases to create efficient data storage and retrieval solutions for high-volume environments.
  • Real-Time Analytics: Assist in developing real-time analytics features, contributing to the creation of insightful visualizations for stakeholders.
  • Monitoring & Alerting: Participate in developing monitoring and alerting solutions, with a focus on key performance indicators and system health metrics.
  • Infrastructure as Code (IaC): Support the implementation of IaC practices, helping to create and maintain deployment scripts for consistent and reliable deployments.
  • Container Orchestration: Contribute to container orchestration strategies, focusing on efficient resource utilization and auto-scaling.
  • Caching & Data Access: Implement and optimize caching strategies and data access patterns to improve system responsiveness.
  • Code Reviews: Engage in code reviews, offering constructive feedback and incorporating suggestions to enhance code quality.
  • Production Support: Assist in troubleshooting and resolving production issues, including participating in on-call rotations as required.
  • Technical Documentation: Contribute to technical documentation, ensuring that system designs and implementations are clearly documented.
  • Proof-of-Concept Projects: Participate in proof-of-concept initiatives, researching and implementing new technologies under the guidance of senior engineers.
  • Knowledge Sharing: Actively participate in team knowledge-sharing sessions, presenting on new technologies and best practices.
Essential Skills & Requirements:
  • Educational Background: Bachelor's degree in Computer Science or a related field.
  • Experience: A minimum of 5 years of professional software development experience.
  • Technical Proficiency: Strong skills in at least one major programming language (Java, Python, or Go), with a focus on writing clean, maintainable code.
  • Microservices & Event-Driven Systems: Experience with microservices architecture and event-driven systems.
  • Distributed Systems: Solid understanding of distributed systems concepts and associated challenges.
  • Database Skills: Practical experience working with both SQL and NoSQL databases.
  • Cloud & Containerization: Familiarity with cloud platforms (AWS, Azure, Google Cloud Platform) and containerization technologies like Docker.
  • Big Data: Basic understanding of big data technologies such as Hadoop, Spark, or Kafka.
  • Version Control & CI/CD: Experience with version control systems (preferably Git) and CI/CD pipelines.
  • Problem-Solving: Strong problem-solving abilities and experience in debugging complex issues.
  • Communication & Teamwork: Excellent communication skills and a proven ability to work effectively within a team.
  • Continuous Learning: Eagerness to learn new technologies and adapt to changing methodologies.
  • Agile Practices: Basic understanding of agile development practices.
Employers have access to artificial intelligence language tools (“AI”) that help generate and enhance job descriptions and AI may have been used to create this description. The position description has been reviewed for accuracy and Dice believes it to correctly reflect the job opportunity.