SENIOR BACK-END / FULL STACK DEVELOPER
We are looking for a candidate that is driven, enthusiastic, detail-oriented, multi-task, learns quickly, can adapt and can work in a very fast paced operations in the web and mobile environments. The senior software engineer is responsible for building, testing, debugging / troubleshooting, and maintaining code for both web / mobile applications. Our Developers are hands-on coders as well as high-level designers and thinkers – they are responsible for developing a deep understanding of our systems, refactoring and improving those systems for maintainability and standards compliance in a high-activity environment, and for designing the integrations between those systems.
Major Accountabilities: We are looking for a candidate that have solid background in software development in open source / Java and associated systems for on-prem and cloud applications. Candidate should also be self-motivated, enthusiastic, quick learner, capable of adapting to our culture and able to work in very dynamic, complex industry. Most of our core technologies are developed in open source / Java-based – extremely strong Java skills are an absolute must.
- Knowledge of good programming practices
- Expected to prioritize work load and meet multiple project deadlines.
- Expected to adapt in dynamic and collaborative work environment and make independent decision
- Will work with project architect and /or technical lead to confirm and substantiate function and technical designs.
- Expected to learn and deploy new technologies as needed.
- Understanding of application layering and platform dynamics.
- Experience with cloud technologies and how to leverage them to build an exceptional software development organization
- Developed / deployed systems utilizing AGILE methodology
- Experience with the following open-source project which are now de-facto standards: – Dropwizard, KeyCzar, Snappy, Groovy, SLF4J, Logback, JDBI, Mustache, PostgreSQL, Jersey, JSch, Swagger, Guava, and AngularJS / ReactJS/Native.
- Follows and enforces the coding standards.
- OOP, Design Patterns, TDD, and Agile development practices. Experience with SQL, Mongo DB, JDBC, and Maven.
- Experience developing high-tolerance, and reusable components.
- BS/MS degree in Computer Science, Engineering or a related subject
Technologies & Other Skills
- Java- Minimum 5 years of exp. Working on Java applications, good grasp of the language and basic Object Orientation concepts:
- Understanding of Java Threading model required, Experience in developing Java multi-threaded applications preferred
- Web Services (top-down/api driven-r Knowledge of session management, object relational mapping, object caching, JSON web services, and agile development methodologies
- Experience working in public clouds (AWS, GCP) required
- Knowledge of session management, object relational mapping, object caching, JSON web services, and agile development methodologies desired.
- Experience in DevOps (CI / CD) – Build/Deploy/Test Automation required
- Experience deploying code in containers and using tools such as Docker and/or Kubernetes in Production
- Design and develop high-volume, low-latency applications for mission-critical systems, delivering high-availability and performance.
- Contribute in all phases of the development lifecycle
- Experience in developing web applications using popular web framework
- Object-oriented Design
- Solid grasp on database modeling and design
- Strong advocate of disciplined software development: configuration management using issue tracking, estimation and Agile and Waterfall methodologies
Possess Teamwork and Communication skills (such as):
- Document detailed designs with class and sequence diagrams
- Perform peer code reviews
- Work experience with a distributed team
- Effective communication of development efforts and concerns with architect and project lead