Job Duties:
• Research, design, and develop computer and network software or specialised utility programs.
• Analyse user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis.
• Update software, enhances existing software capabilities, and develops and direct software testing and validation procedures.
• Work with computer hardware engineers to integrate hardware and software systems and develop specifications and performance requirements.
Job Requirements:
Mandatory
- Must have experience in Software development
- Must have experience 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.