Full Job Description
Position Description:
Employees in this job function are responsible for designing, developing, testing and maintaining software applications and products to meet customer needs. They are involved in the entire software development lifecycle including designing software architecture, writing code, testing for quality and deploying the software to meet customer requirements. Full-stack software engineering roles, who can develop all components of software including user interface and server side also fall within this job function. Key Responsibilities: 1. Engage with customers to deeply understand their use-cases, pain points, and requirements, showcasing empathy and advocating for user-centric software solutions 2. Solve complex problems by designing, developing, and delivering using various tools, languages, frameworks, methodologies (like agile) and technologies 3. Assess the requirements of the software application or service and determine the most suitable technology stack, integration method, deployment strategy, etc. 4. Create high-level software architecture designs that outline the overall structure, components, and interfaces of the application 5. Collaborate with cross functional teams like product owners, designers, architects etc. 6. Define and implement software test strategy, guidelines, policies and processes in line with organization vision, industry regulations and market best practices. 7. Work on continuously improving performance and optimizing the application and implement new technologies to maximize development efficiency 8. Familiar with programming practices, such as test-driven development, continuous integration, and continuous delivery 9. Support security practices to safeguard user data including encryption and anonymization. 10. Create user-friendly and interactive interfaces 11. Develop and maintain back-end applications like APIs and microservices using server-side languages 12. Evaluate and incorporate emerging technologies and capabilities to deliver their solutions, and are monitoring and participating in solutions for new stack layers, often involving industry collaboration
Skills Required:
NoSQL, Kubernetes, KAFKA, GCP, Cloud Architecture, Data Architecture, Big Data, Cloud Infrastructure, Apache Spark, Big Query, Apache Hadoop, Java, Docker, Python, Data Management
Skills Preferred:
GitHub, Machine Learning
Experience Required:
5+ years of progressive experience in data engineering or a related role, with a significant focus on large-scale data systems. Expert proficiency in programming languages such as Python or Scala. Advanced SQL skills for complex querying, data manipulation, and database design. Extensive experience with big data technologies (e.g., Apache Spark, Hadoop, Kafka, Flink). Proven experience with cloud platforms (AWS, Azure, GCP) and their data services (e.g., AWS Glue, S3, Redshift, Athena; Azure Data Factory, Databricks; Google BigQuery, Dataflow). Strong understanding of data warehousing concepts, data modeling (dimensional, relational), and ETL/ELT processes. Experience with version control systems (e.g., Git). Excellent problem-solving, analytical, and critical thinking skills. Strong communication and interpersonal skills, with the ability to lead discussions and present technical information clearly.
Education Required:
Bachelor's Degree
Additional Information :
***HYBRID / 4 days per week in the office*** Lead Data Architecture & Design: Oversee and contribute to the design, development, and implementation of complex, scalable, and resilient data architectures, including data warehouses, data lakes, and streaming platforms. Develop & Optimize Data Pipelines: Lead the creation, maintenance, and optimization of advanced ETL/ELT processes and data pipelines to ingest, transform, and deliver large volumes of data from diverse sources. Ensure data integrity, quality, and performance across all data flows.