As a Software Engineer, you will contribute to the design, development, testing, and deployment of software systems and/or applications.
Responsible for but not limited to sourcing and ingestion of data from base to canonical.
Competent to perform all programming, project management, and development assignments without close supervision; normally assigned the more complex aspects of systems work.
Works directly on complex application/technical problem identification and resolution, including responding to off-shift and weekend support calls.
Works independently on complex systems or infrastructure components that may be used by one or more applications or systems.
Drives application development focused around delivering business valuable features.
Maintains high standards of software quality within the team by establishing good practices and habits.
Performs integrated testing and customer acceptance testing of components that requires careful planning and execution to ensure timely, quality results.
The employee is also responsible for performing other job duties as assigned by management from time to time.
Technical Skills:
AWS Experience particularly with S3, Glue, and Fargate.
Experience with object-oriented programming (Python).
Experience working within an Agile framework (ideally Scrum).
Must demonstrate a solid knowledge of computer science fundamentals like data structures and algorithms.
Developing software applications using relational and NoSQL databases.
Application architectural patterns, such as MVC, Microservices, Event-driven, etc.
Batch or stream processing systems such as Apache Spark, Flink, Akka, and Storm.
Experience designing well-defined Restful APIs.
Test-driven development and behavior-driven development.
Datastores such as MongoDB, Cassandra, Redis, Elasticsearch, MySQL, and Oracle.
Education:
Bachelor’s degree in Computer science or Electrical engineering or a related field is required.
Soft Skills
Ability to work under pressure and within time constraints.
Passion for technology and an eagerness to contribute to a team-oriented environment.