Job Responsibilities
The successful candidate will have experience in working in innovative projects with fast-paced delivery schedules in startups & large enterprises:
- Minimum 12+ years of experience
- Solid application design, coding, Experience on Java 8/J2EE distributed application development, REST
- Solid understanding of Domain model micro services, Spring Boot, Netflix frameworks, API gateway
- Solid understanding of building services in cloud.
- Experience with messaging (Kafka) based integration and micro services
- Experience in leading group of developers and teams
- Programming with NoSQL/NPL a plus (Cassandra)
- Ability to develop reports, dashboards, and processes to continuously monitor data quality and integrity
- Ability to interpret system / business requirements and prepare specification and design document
- An understanding of the sales process to better align changes to the CRM platform
- Familiar with modern technology and architecture (cloud, virtualization, object stores, etc.)
- Experience in ensuring successful design, development, testing, and implementation of application components for online application using technologies including Core Java, J2EE technologies, web services, tomcat, servlets, JSP,Messaging;
- Experience in designing complex interactions between the client UIs and middleware systems using object-oriented
design patterns, Spring framework, core java api's, Spring batches; - Experience in following java coding standards and Knowledge of tools including SVN, Maven and Jira;
- Demonstrated experience with Java performance tuning to identify and optimize code, experience in multi-threaded/concurrent programming and databases including DB2;
- Experience in XML and Service Oriented Architecture; and Experience in designing and implementing Restful webservices, unix jobs, writing stored procedures and testing the existing application using Junit.
- Working with architecture and design leads across the Digital organization and broader JPMC organization on business and technical and Database architecture of the platform
- Demonstrated experience with Java/J2SE with a deep understanding of the language and core API's, web services,
multi-threaded/concurrent programming, XML, design patterns, Service Oriented Architecture - Experience with Servlets, JNDI, JMS, JDBC, SQL; Databases such as Oracle, DB2, SQL Server; Operating Systems such as Unix Solaris; Products such as IBM WebSphere, Subversion, Axis, Spring Application Framework preferred
- Should be able to lead and guide a team of developers
- Should have good communication and interpersonal skills
- Familiar with big data technologies. Spark, Scala, HDFS
- Familiar with modern infrastructure technology and architecture (cloud, virtualization, object stores, etc.)
This role requires a wide variety of strengths and capabilities, including:
- BS/BA degree or equivalent experience
- Advanced knowledge of application, data, and infrastructure architecture disciplines
- Understanding of architecture and design across all system
- Working proficiency in developmental toolsets
- Knowledge of industry-wide technology trends and best practices
- Ability to work in large, collaborative teams to achieve organizational goals
- Passionate about building an innovative culture
- Proficiency in one or more modern programming languages
- Understanding of software skills such as business analysis, development, maintenance, and software improvement.
Required qualifications, capabilities, and skills
- Formal training or certification on software engineering concepts and 13+ years applied experience with Java/Spring/Spring Boot and AWS or any cloud related technologies.
- Bachelors of Engineering or equivalent/higher degree.
- Hands-on practical experience in system design, application development, testing, and operational stability
- Experience in developing, debugging, and maintaining code in a large corporate environment with one or more modern programming languages and database querying languages like Oracle, MySQL or NoSQL databases like MongoDB.
- Demonstrable ability to code in one or more languages
- Experience across the whole Software Development Life Cycle
- Exposure to agile methodologies such as CI/CD, Applicant Resiliency, and Security
- Emerging knowledge of software applications and technical processes within a technical discipline (e.g., cloud, artificial intelligence, machine learning, mobile, etc.)