
- Strong Java software development experience – with a focus on Java 8 & 9
- Experience with NoSql databases – ideally with MongoDB
- Experience implementing REST apis – ideally with JAX-RS
- Experience with Reactive Programming – ideally with RxJava
- Experience implementing unit tests
Preferred Qualifications
- Experience developing applications in fintech or established financial institutions
- Experience with microservice architectures
- Experience developing systems that can scale to large amounts of data
- Experience working in Agile Scrum
- Experience working on a globally distributed team

About EPAM Systems
About
Connect with the team
Similar jobs


The key aspects of this role include:
• Design, build, and maintain scalable applications using Python.
• Contribute to the entire implementation process including driving the definition of improvements based on business need and architectural improvements.
• Act as a subject matter expert for Application Software developers and Engineers.
• Handle server-side code for a production platform and contribute to new features
To be the right fit, you'll need:
• More than 4+ years of experience as a software developer in Python, with knowledge of at least one Python web framework such as Django, Flask, etc.
• Good understanding of common design patterns and architecture principles to design reliable and Scalable applications
• Strong communication skills
• Knowledge of databases line NoSQL or MongoDB
• Good to have AWS and Docker or Web services
• Basic understanding of front-end technologies, such as JavaScript, HTML5, and CSS
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


Must Have Skills:
1. Experience with the .NET framework and .NET Core technologies: C#
2. Writing and consuming REST API/Web API in .Net framework, .Net Core
3. Must have excellent knowledge in Azure hosting services
4. Good knowledge of Trouble shooting, Azure Hosting, maintaining and performance tuning
5. Knowledge of Frontend framework (React), If not then Angular, or Vuejs etc
6. Excellent Aptitude, Attitude and Communication Skills
7. Strong understanding of OOPS Concepts
8. Strong knowledge of Unit Testing
9. Excellent knowledge and working experience in Microservice Architecture
10. RDBMS Concepts, MS-SQL Server
11. Writing & Optimizing SQL Queries for best performance
12. Able to manage release by mean of CI/CD pipeline to deploy applications in Azure
13. Well versed of code review and code scanning tools
Good to have Skills:
1. Knowledge of HTML, Bootstrap, CSS, Responsive Design
2. Entity Framework/LINQ, MVC
3. Strong understanding of current design patterns & best practices
4. Knowledge of Agile methodology and JIRA
5. Knowledge of Electron is a plus
Key Responsibilities:
1. Work with Scrum Team to prioritize tasks and ensure deadlines are met
2. Communicate and actively participate in client call and understand requirements
3. Convert design and architecture to code using best practices
4. Provide expert level knowledge and guidance on modern software engineering techniques and methodologies for code reviews
5. Demonstrate expertise in a variety of software concepts (object-oriented design), practices (design patterns), and procedures (troubleshooting defects)
6. Able to troubleshoot and debug the code, write code with best coding practice and perform unit & Integration testing
7. Collaborate with the technical team to build and migrate applications in Azure
8. Test and update application so that it can be used for cross web browsers
9. Use and set-up CI/CD pipeline
Responsibilities:
- Define the code review process for the team to follow and perform code reviews.
- Design, implement, and maintain Java-based applications that can be high-volume and low-latency.
- Ensure application designs conform with business goals.
- Develop and test software & Identify and resolve any technical issues arising.
Required Skills:
- 7+ years of experience developing web applications using J2EE / Java.
- Possess knowledge and skills in software programming in Core Java, J2EE, Microservices-related technologies, Spring Boot, Spring MVC, Rest API, JavaScript, and XML.
- Experience developing enterprise-level web applications and RESTful APIs using Microservices.
- Excellent in design patterns, data structures & algorithms, and OOAD.
- Experience in working with the E-Government Projects/ CCTNS application.

Requirements:
- Bachelor’s degree in computer science, computer engineering, or related field.
- Experience working with ruby on rails as well as libraries like Resque and RSpec.
- Ability to write clean ruby code.
- Proficiency with code versioning tools including Git, Github, SVN, and Mercurial.
- Familiarity with MVC, Mocking, RESTful, and ORM.
- Good understanding of front-end technologies including HTML5, JavaScript, and CSS3.
- Knowledge of server-side templating languages including Slim and Liquid.
- Familiarity with testing tools.
As one of our Backend Software Engineers, you will be part of the team responsible for the development of all server-side logic, the definition and maintenance of the database, and ensuring high performance and responsiveness to requests from the front-end developers.
What will you be engaged in?
Collaborate with key internal stakeholders to determine how to scalable design backend systems and APIs to meet their needs
Architect, develop and operate services deployed to millions of users
Collaborate with the DevOps team for the necessary infrastructure needed for services to run on the cloud platform
Write backend services and Restful APIs
Be in charge of data migration, transformation, and scripting
Write reusable, testable, and efficient code
Design and implementation of low-latency, high-availability, scalability, and performant applications
Implement security and data protection
Manage web apps that impact millions of users
What do we expect from you?
3 + years of experience building large-scale backend systems
Knowledge of MVC concepts
Knowledge of web applications systems
A good understanding of data pipelines, data lakes, and data ingestion is Plus
Strong understanding of Database management (MSSQL, SQL)
Strong understanding of NoSQL Database (MongoDB)
Strong understanding of RESTful API
Understanding of JavaScript and Typescripts
Understanding of Node.js frameworks and Nest JS Framework
Passion for building high performance, high throughput, low latency frameworks
Problem-solving mindset
Understanding of GIT Source code
Good at JavaScript and passionate about solving challenges using JavaScript.
Good Understanding of Pub/SUB (Kafka, RabbitMQ etc.)
Fintech Industry experience is plus
Libraries, Interface, Language Fundamentals
Data Structures, Algorithms, Collections
Design Patterns, Singletons
Multithreading
Messaging, CI/CD
Databases
Tooling:
Application Layering, Architectural Design
Unit Testing/ Integration Testing
Any Devops tooling experience (Docker/ Kubernates/ Terraforms)
Tool Configuration and Log Monitoring



