Software Engineer
Harvey Nash - new york city, NY
Apply NowJob Description
Job Title: Principallead Software Engineer & Software engineerLocation: New York NY 10175 (1 day on-site, On site once a week)FTE Role Why Are They Hiring- Just acquired new company and team. Need 3 more people to help rearchitect applications they acquired to their standard tech stack Location- NYC, 1 day on-site, On site once a week1 Principal position- Expectations are high on the architecture and design piece. SQL experience and NOSQL exposure are big plusses. Should have worked with distributed systems and largebig data sets. Would love to see Spark or HadoopSoftware Engineer- Should have hands on Java coding, AWS cloud, and data base work with SQL. Back end focused.Job summaryDoesn't need a specific front end, NodeJS needed This is 8020 back end to Front end - Full stack work so front end is a solid plus. This is all API, back end big data processing work. Snowflake isn't necessary, he would rather have any SQL data base, postgreSQL is good. AWS is preferred but can be azure or google. Job DescriptionPrincipal Engineer (Lead Engineer) (10+ years of experience)ResponsibilitiesArchitect and implement high-performance, low-latency event-driven systems for real-time applications, with a focus on scalability and fault tolerance.Design and optimize distributed architectures for complex event processing, ensuring sub-millisecond response times and high throughput.Lead the development of scalable microservices, integrating event sourcing and other patterns for data consistency and system resilience.Optimize runtime performance, including memory management, concurrency, and IO operations, to meet stringent performance requirements.Design polyglot persistence solutions, balancing SQL and NoSQL technologies for efficient data storage and retrieval in high-volume environments.Implement real-time analytics and reporting systems, focusing on meaningful insights for business stakeholders and operational teams.Architect and develop machine learning pipelines for predictive algorithms, integrating them into real-time data flows.Design multi-region, globally distributed systems that ensure data consistency and low latency across geographies.Develop advanced monitoring, alerting, and observability solutions focusing on key performance indicators and business metrics.Architect data lake and data warehouse solutions for large-scale analytics on historical data, balancing performance, and cost-effectiveness.Lead the design and implementation of Infrastructure as Code practices, ensuring consistent and repeatable deployments across environments.Implement and optimize container orchestration strategies, ensuring efficient resource utilization and auto-scaling based on demand.Design and implement robust data governance and compliance solutions, addressing regulatory requirements in data-intensive systems.Develop advanced caching and data access strategies to minimize latency and improve system responsiveness.Conduct system design reviews and performance audits, providing actionable recommendations for improving scalability and efficiency.Mentor senior engineers and architects on advanced topics in distributed systems, event-driven architectures, and real-time data processing.Spearhead proof-of-concept projects for emerging technologies that could provide competitive advantages.Collaborate with product management to define the technical roadmap, aligning technology investments with business goals.Lead cross-functional efforts to continuously improve system reliability, including chaos engineering practices and disaster recovery simulations. RequirementsDegree in Computer Science or related field, with 10+ years of software development experience, including 3+ years in architect-level roles.Strong command over at least one of Java, Python, or Go, with the ability to write high-performance, production-grade code.Proven expertise in designing and implementing large-scale, distributed event-driven systems with a focus on high performance and low latency.Extensive experience with real-time data processing, streaming architectures, and microservices design patterns.Strong background in database technologies (both SQL and NoSQL) and data modeling for high-volume, real-time applications.Demonstrated ability to architect and optimize globally distributed systems, including multi-region deployments and data consistency strategies.Proficiency in cloud technologies (such as AWS, Azure, or GCP) and experience with Big Data technologies (e.g., Hadoop ecosystem, Spark, Kafka).Strong leadership skills with a track record of mentoring senior engineers and driving technical vision for complex projects.******************************************************Software Engineer (5+ years of experience)ResponsibilitiesDevelop and maintain components of high-performance, event-driven systems for real-time applications under the guidance of senior team members.Implement microservices using Java, Python, or Go, following established architectural patterns and best practices for scalability and resilience.Optimize code performance, focusing on efficient memory management, concurrency, and IO operations to meet performance requirements.Work with both SQL and NoSQL databases to implement data storage and retrieval solutions for high-volume environments.Assist in the development of real-time analytics and reporting features, creating meaningful visualizations for stakeholders.Participate in the development of monitoring and alerting solutions, focusing on key performance indicators and system health metrics.Assist in implementing Infrastructure as Code practices, creating and maintaining scripts for consistent deployments.Contribute to container orchestration strategies, helping to implement efficient resource utilization and auto-scaling mechanisms.Implement caching strategies and optimize data access patterns to improve system responsiveness.Participate in code reviews, providing constructive feedback to peers and incorporating feedback to improve code quality.Assist in troubleshooting and resolving production issues, participating in on-call rotations as needed.Contribute to technical documentation, ensuring that system designs and implementations are well-documented.Participate in proof-of-concept projects, researching and implementing new technologies under guidance.Actively engage in team knowledge sharing sessions, presenting on learned topics and technologies.RequirementsDegree in Computer Science or related field.5+ years of professional software development experience.Strong proficiency in at least one of Java, Python, or Go, with a focus on writing clean, maintainable code.Experience with microservices architecture and event-driven systems.Solid understanding of distributed systems concepts and challenges.Practical experience with both SQL and NoSQL databases.Familiarity with cloud platforms (AWS, Azure, or GCP) and containerization technologies (e.g., Docker).Basic understanding of big data technologies (e.g., Hadoop, Spark, or Kafka).Experience with version control systems (preferably Git) and CICD pipelines.Good problem-solving skills and ability to debug complex issues.Strong communication skills and ability to work effectively in a team environment.Eagerness to learn and adapt to new technologies and methodologies.Basic understanding of agile development practices.A reasonable, good faith estimate of the minimum and maximum base salary for this position is $120KAnnum to $170KAnnum.
Created: 2024-11-06