Career Techniques Inc.
Description
As a Senior Software Engineer you will design and implement web services, APIs, and full-stack functional modules of SaaS products. The primary focus will be on designing and writing high quality maintainable object-oriented code to implement all aspects of the software stack – from front-end to middle-ware to back-end. You will fully own the modules you develop – from architecting, designing, developing, deploying, and maintaining your software solutions.
Responsibilities:
- Implement major full-stack features with limited guidance from leads and managers
- Demonstrate a passion for SaaS product development, and be extremely detail-oriented
- Show willingness to rapidly learn new languages and platforms
- Be a technical expert, mentor junior developers, and share your expertise with the team
- Provide accurate effort estimates on work
- Take full ownership of the code you write – from designing to developing to maintenance of your modules
Requirements:
- Bachelor’s or master’s degrees in computer science, electrical engineering, mathematics or a related discipline with a demonstrated record of academic success
- 3+ years of software product development experience
- Experience developing high-performing, secure, production quality code
- Experience developing full-stack SaaS software products
- Expertise developing SOA web services and REST / OData based APIs
- Expertise with IoC containers and DI frameworks (like Guice), SOLID and DRY principles, REST frameworks, ORMs (like Hibernate), CI/CD solutions using Maven, Jenkins, TeamCity etc.
- Deep expertise in object-oriented programming, preferably in Java and Java based frameworks
- Experience with AWS platform, specifically Lambda, API Gateway, IAM
- Experience with Big Data, specifically EMR, Spark, and Scala
A Plus
- Strong analytic, problem solving, and programming ability
- Strong understanding of algorithms and data structures
- Initiative and willingness to work in fast paced, agile teams
- Excellent organizational and task management skills
- Strong communication skills
- Ability to quickly learn new programming languages and platforms and frameworks
- Ability to work in global cross-office teams, including travelling to remote offices as required