Commercial software development experience
Strong object-oriented design and coding skills in Java, springboot, Hibernate, Microservices.
Strong understanding of data structures and algorithms
Experience leading a team of software engineers
Experience with accurately measuring the productivity of a team
Experience writing scalable software
Ability to work collaboratively within a team environment of engineers
Excellent English Speaking and Writing skills
Experience with web services technology (REST, SOAP, etc)
Similar jobs
Job Description:
We are looking for a Java Developer with experience in building high-performing, scalable, enterprise grade applications. You will be part of a talented software team that works on mission-critical applications. Java developer roles and responsibilities include managing Java/Java EE application development while providing expertise in the full software development lifecycle, from concept and design to testing. Java developer responsibilities include designing, developing and delivering high volume, low-latency applications for mission-critical systems.
Software Engineer Responsibilities
Designing and developing high-volume, low-latency applications for mission critical systems and delivering high-availability and performance
Contributing in all phases of the development lifecycle
Writing well designed, testable, efficient code
Contribute in all phases of the development lifecycle
Write well designed, testable, efficient code
Ensure designs are following specifications
Prepare and produce releases of software components
Support continuous improvement by investigating alternatives and technologies and presenting these for architectural review
Software Engineer Requirements
A bachelor's degree in computer science, software engineering, or another related field.
7+ years of proven hands-on Software Development experience
Proven working experience in Java development
Hands on experience in designing and developing applications using
Java EE platforms
Object Oriented analysis and design using common design patterns.
Profound insight of Java and JEE internals (Class loading, Memory Management, Transaction management etc.)
Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate). Experience in the Spring Boot, Spring Framework.
Excellent Communication Skills written and verbal
2. Design software and make technology choices across the stack (from data storage to application to front-end)
3. Understand a range of tier-1 systems/services that power our product to make scalable changes to critical path code
4. Own the design and delivery of an integral piece of a tier-1 system or application
5. Work closely with product managers, UX designers, and end users and integrate software components into a fully functional system
6. Work on the management and execution of project plans and delivery commitments
7. Take ownership of product/feature end-to-end for all phases from the development to the production
8. Ensure the developed features are scalable and highly available with no quality concerns
9. Work closely with senior engineers for refining and implementation
10. Manage and execute project plans and delivery commitments
11. Create and execute appropriate quality plans, project plans, test strategies, and processes for development activities in concert with business and project management efforts
As an engineer, you will help with the implementation, and launch of many key product features. You will get an opportunity to work on a wide range of technologies (including Spring, AWS Elastic Search, Lambda, ECS, Redis, Spark, Kafka etc.) and apply new technologies for solving problems. You will have an influence on defining product features, drive operational excellence, and spearhead the best practices that enable a quality product. You will get to work with skilled and motivated engineers who are already contributing to building high-scale and high-available systems.
If you are looking for an opportunity to work on leading technologies and would like to build product technology that can cater millions of customers inclined towards providing them the best experience, and relish large ownership and diverse technologies, join our team today!
What You'll Do:
- Creating detailed design, working on development and performing code reviews.
- Implementing validation and support activities in line with architecture requirements
- Help the team translate the business requirements into R&D tasks and manage the roadmap of the R&D tasks.
- Designing, building, and implementation of the product; participating in requirements elicitation, validation of architecture, creation and review of high and low level design, assigning and reviewing tasks for product implementation.
- Work closely with product managers, UX designers and end users and integrating software components into a fully functional system
- Ownership of product/feature end-to-end for all phases from the development to the production.
- Ensuring the developed features are scalable and highly available with no quality concerns.
- Work closely with senior engineers for refining the and implementation.
- Management and execution against project plans and delivery commitments.
- Assist directly and indirectly in the continual hiring and development of technical talent.
- Create and execute appropriate quality plans, project plans, test strategies and processes for development activities in concert with business and project management efforts.
The ideal candidate is a passionate engineer about delivering experiences that delight customers and creating solutions that are robust. He/she should be able to commit and own the deliveries end-to-end.
What You'll Need:
- A Bachelor's degree in Computer Science or related technical discipline.
- 2-3+ years of Software Development experience with proficiency in Java or equivalent object-oriented languages, coupled with design and SOA
- Fluency with Java, and Spring is good.
- Experience in JEE applications and frameworks like struts, spring, mybatis, maven, gradle
- Strong knowledge of Data Structures, Algorithms and CS fundamentals.
- Experience in at least one shell scripting language, SQL, SQL Server, PostgreSQL and data modeling skills
- Excellent analytical and reasoning skills
- Ability to learn new domains and deliver output
- Hands on Experience with the core AWS services
- Experience working with CI/CD tools (Jenkins, Spinnaker, Nexus, GitLab, TeamCity, GoCD, etc.)
- Expertise in at least one of the following:
- Kafka, ZeroMQ, AWS SNS/SQS, or equivalent streaming technology
- Distributed cache/in memory data grids like Redis, Hazelcast, Ignite, or Memcached
- Distributed column store databases like Snowflake, Cassandra, or HBase
- Spark, Flink, Beam, or equivalent streaming data processing frameworks
- Proficient with writing and reviewing Python and other object-oriented language(s) are a plus
- Experience building automations and CICD pipelines (integration, testing, deployment)
- Experience with Kubernetes would be a plus.
- Good understanding of working with distributed teams using Agile: Scrum, Kanban
- Strong interpersonal skills as well as excellent written and verbal communication skills
• Attention to detail and quality, and the ability to work well in and across teams
Requirement :
- Good knowledge of Java and Spring F/W (Spring Boot, Spring Security, Spring ORM, Spring Rest, Spring Cloud)
- Good knowledge of relational database design and query via both SQL and ORM (hibernate, spring data)
- Good knowledge of ElasticSearch or other document-oriented database
- Good knowledge of Microservice architecture, including REST API design
- Good knowledge of asynchronous data pipelines using Kafka or AWS SNS/SQS or similar modern messaging framework
- Good knowledge of AWS or other public cloud environment
- Hands-on experience with Redis Cache, Memcache or Ehcache
- Good knowledge of domain-driven design is a huge plus
- Web services & API standards (REST/OAuth/JSON)
- Contribute to architectural and design discussions.
- Design, Develop & Unit test features in the product.
- Ensure smooth and timely communication with both the internal and external stakeholders.
- Participate in estimations and ensure timely delivery of the features.
- Conduct peer reviews and ensure the quality of committed code.
Essential Experience And Skill-Set You Should Have
- Should have at least 2-4 years of experience in software development.
- Should have at least 2 years of hands-on experience in Java as a programming language.
- Should be well versed with Java 8 or above.
- Strong foundation in computer science, with strong competencies in Data Structures, algorithms, and their space-time complexities.
- Expertise in developing and consuming RESTful, micro-services using Spring Framework.
- Expertise with Spring data persistence frameworks such as JPA, -Repositories, Entities, Entity Manager etc.
- Exposure to Spring Cloud Frameworks such as Discovery, Config, Spring Cloud Gateway, Ribbon.
- Good to have knowledge on other Spring Frameworks such as Spring Security, Spring AOP.
- Must be proficient with the Linux commands.
- Strong debugging and troubleshooting expertise
- Good working knowledge of Relational and Non-Relational Databases.
- Sound understanding of Agile Software Development Processes like Scrum & Kanban.
- Deep practical knowledge of Domain Driven Design approach to software design.
- Experience writing and maintaining Unit and Integration tests.
Additional Desirable Qualifications
- Good to have knowledge on Java reactive framework.
- Understanding of CI/CD (Jenkins, Maven, Docker, Kubernetes).
- Knowledge on message queueing frameworks like RabbitMQ / ActiveMQ/ Kafka will be add-on.
- Identity & Security Domain Knowledge covering OAuth2, OpenId - Connect, Digital Signatures & Certificates.
- Domain knowledge of Ed-tech industry will be a plus
Required Soft Skills
- A self-starter attitude, the ability to work independently and in a group, demonstrated initiative, and good writing/briefing skills are great to have.
- Should be good at analytical thinking and breaking down large problems into solvable chunks.
- Demonstrated the ability to think creatively and come up with ideas/thoughts with significant business/ organizational impact.
- Ability to quickly adapt to changing technological trends.
- Design and develop Microservices with Java, Spring
- Communicate with the tech lead, to understand the technology thoroughly
- Perform unit and system testing
- Understand business requirements and create plans accordingly
- Work in an agile environment
- Perform threat and risk assessments
- As a polyglot developer Ideally, you should have:
- 1.5+ years of development experience using any of technology java, scala, python or any similar exciting technologies.
- Hands-on experience in coding, and implementation of complex, custom-built applications Working knowledge of build tool like maven/sbt and code versioning systems like git/bitbucket/cvs/svn
- Familiarity with few databases, like MySQL, Oracle, PostgreSQL, SQL Server, NoSQL etc Great OO skills, including strong design patterns knowledge
- Good communication and ability to work in a consulting environment is essential
- Think through hard problems in a consultancy environment, and work with amazing people to make the solutions a reality Work in a dynamic, collaborative, non-hierarchical environment where your talent is valued over your job title or years of experience
- Build custom software using the latest technologies and tools Craft your own career path
- Providing solution to real problems in Bigdata world.
- RnD on using the latest tools,techniques and cloud services.
- Automating the manual-timetaking tasks.
- Hands-on coding, usually in a pair programming environment.
- Working in highly collaborative teams and building quality code
- Working in lots of different domains and client environments
- Understanding the business domain deeply
We are a team of technology agnostic, passionate people who aim to provide solution to real world Bigdata problems.
We are building solutions that will help our customers to do automatic migration of their RDBMS systems to latest BIGDATA platforms and tools such as Spark, Apex, Flink etc. For more information do visit our products webpage.
Primary Skills: Java Backend Development, UNIX, Oracle, SQL, MQFTP
Secondary Skills: Autosys, Service Now
Experience: 6- 8 years
Responsibilities:
- Drive the Migration Project and support Business Applications teams through the project lifecycle.
- Interpret written business requirements, functional requirements and technical specification documents to design and develop technical solutions that meet business needs
- Contribute to Application development, migration of components, testing and Production Support.
- Collaborate with IT and Business partners to develop, and troubleshoot end to end technical solutions
- Create and maintain technical evaluation documentation using defined technical documentation templates that meet standards
Required Skills:
- Well versed with Java Backend Development.
- Proficient in Oracle, SQL.
- Experience in Shell scripting in UNIX, Autosys scheduler
- Good understanding of Database Management Systems (DBMS)
- Knowledge of different file movement patterns and tools - File Transfers, Messaging, MQFTP, Sterling Integrator, Mobius
- Knowledge of different file formats plus file format conversion to & from JSON, csv etc.
- Good understanding of Object-Oriented Programming
- Good understanding of SDLC lifecycle & processes.
- Exposure to ITIL foundational concepts, Service Now and Production Management Activities.
- Financial Services experience will be a plus
- Experience in using Dev tools ( Eclipse ), code quality tools, defect tracking tools
Desired Skills:
- Strong interpersonal, oral, presentation, and written communication skills
- Excellent team player with good organizational, communicational, analytical and logical skills.
- Develop creative solutions and write technical design based on the requirements.
- Work closely with peer teams to ensure that applications are written to allow for overall system performance.
- Assist in tuning and optimization.
- Develop and execute unit tests for product components.
- Perform peer code reviews and provide feedback.
- Promote high quality, scalability, and timely completion of projects.
- Apply agile approach to coordinate development and determine project scope and limitations.
- Bachelor degree in Engineering, CS or equivalent experience
- Development in Core Java, J2EE, Struts, spring, Client-Side scripting, Hibernate, Database
- Development of scalable core-java applications, Web Applications and Web Services
- OOP concepts
- Data Structures, algorithms and their applications
- Strong problem-solving skills
- Experience in building microservices
- Strong experience with Spring Boot stack (spring cloud, spring-data)
- Extensive experience in developing and consuming REST APIs
- Experience in Kafka distributed messaging
- Hands-on experience in Redis, Apache Ignite, Hazelcast
- Strong experience in RDMS and NoSQL databases Mongo
- Experience in using Elastic Search
- Experience in profiling applications
- Strong analytical skills and general logical reasoning
- Excellent written and verbal communication skills.
- Good understanding of Software development life cycle (SDLC)
- Basic SQL queries
• 3+ years of software development experience on web applications
• Experience in working in an onsite and offshore development model
• Must have hands-on design and development experience in Cloud (GCP/AWS/Azure), Kubernetes, Microservices,
Java, J2EE, Spring/Boot, Hibernate, JUnit and Integration with front end via rest interfaces.
• Must have Hands-on experience in Multi-threading, Non-blocking IO, Kafka, JMS
• Strong integration background required. Experience with Microservices, REST, JSON and APIs is required
• Experience with as many of the following is highly desirable: Tomcat, Node.js, XML, XSLT, XPath, Web Services,
MongoDB, MYSQL, and query performance tuning
• Experience with code management and continuous integration techniques and tools such as Maven, Gradle, Github,
JMeter, Jenkins, NPM etc. is highly desirable
• Experience building complex software systems that have been successfully delivered to customers
• Strong Computer Science fundamentals and working knowledge in data structures, algorithms, problem-solving and
complexity analysis
• Knowledge of professional software engineering practices and best practices for the full software development life
cycle (SDLC), including coding standards, code reviews, source control management, build processes, testing, and
operations
• Proven ability to troubleshoot issues in production including root cause analysis
• Self-directed and capable of working effectively in a highly innovative and fast-paced environment
• Experience with Agile software development in a UNIX/Linux environment
• Experience with system architecture/design