
Senior Software Engineer- Data Engineer
- Bangalore, Karnataka
- Permanent
- Full-time
- Bachelor’s degree in engineering or master’s degree (BE, ME, B Tech, MTech, MCA, MS)
- 5+ years of experience working in software development
- 3+ years’ experience in building massively scalable distributed data processing solutions
- 3+ years’ experience in database design & development
- Strong data analysis skills, strong analytics, and problem-solving skills
- Solid development experience in a commercial IT environment
- Experience in designing cloud-based data pipelines & solutions
- Passionate about code and software architecture
- Effective communicator at all levels, excellent inter-personal skills, strong business focus
- Highly self-motivated, confident to work on projects alone as well as in a team
- An enthusiastic approach to extending knowledge and learning new skills
- Strong commitment to the quality of work and a good attention to detail
- Experience with Agile\Scrum Software Development Methodologies
- Proficient in Python, Apache Spark, including PySpark, DLT, DBT, Databricks
- Strong technical knowledge in Relation Database Management System, including Oracle, Postgres, etc
- Proficient in writing complex SQL queries, PL/SQL procedures
- Good understanding of XML, JSON
- Version control software: GitHub, BitBucket
- Continuous Integration and Deployment Concepts and tools
- Knowledge on any of these technologies/tools: Cassandra, Hadoop, Apache Hive, Snowflake, Jupiter notebook, Databricks stack,
- AWS services, EC2, ECS, RDS, EMR, S3, AWS Glue, Airflow
- Write clean, efficient, and maintainable code in accordance with coding standards.
- Works closely with higher-level engineers to increase functional knowledge.
- Learn and apply best practices in software development.
- Develops and applies understanding of software development lifecycle and delivery methodology.
- Suggests alternative methodologies or techniques to achieving desired results.
- Maintains awareness of technical advances.
- Manually tests and unit tests all assigned applications.
- Participates as a team member on various engineering projects.
- Writes application technical documentation.
- Follows team policies, procedures, and work instructions.