Job Description:
Main responsibilities:
- Lead technical study into a propose solution, while involving expertise from infrastructure big data expert, business analyst requirement.
- Document proposed design and develop the solution.
- Implicitly ensure all CI-CD artefacts are part of the solution.
- Perform code review while fostering knowledge and coaching best practices to team members.
- Interact and provide reporting to project managers.
- Monitor technical risk and escalate appropriately to management.
- Research, design, and develop software.
- Analyse user needs and develop software solutions.
- Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
- Work with other engineers to integrate hardware and/or software systems.
Qualifications and Profile:
Mandatory:
- At least 8 years in Software development.
- At least 5 years in Java/J2EE development.
- Hands on Data ingest and data processing technology like Spark streaming and Spark.
- Hands on Messaging systems like Kafka, Flume or ActiveMQ, MQSeries or RabitMQ.
- Hands on knowledge on Hadoop (preferably Hortonworks distribution) - HDFS, HBase, Hive, ORC/Parquet.
- Build tool - Maven/sbt/ant, UML, Restful web services, Jenkins/Team City, Source management - SVN/GIT, TDD using Junit, Jira/QC.
Good to Have:
- Solution design using proven patterns, awareness of anti-patterns, performance tuning, especially in streaming.
- Knowledge of tools like Phoenix, ElasticSearch, Sqoop, StreamSets are good to have.
- Basic understanding of finance and investment banking.
Other Professional Skills and Mindset:
- Excellent written and verbal communication skills for both team mates and management.
- Strong analytical and problem solving skills.
- Proficient software development life cycle.
- Appetite to follow technology trend and participate to communities.
- Passion for sharing expertise and grow team members's skills.
- Interest in mentoring and guiding junior team members on the path of high quality deliverables.
Education Requirements:
- At least a Bachelor's degree in Computer Science, Information Technology, Programming & Systems Analysis, Science (Computer Studies).