Job description
- Design the overall architecture of the software system, including components, their interactions, life cycles with additional focus on security and performance.
- Lead the design and development of the software architecture, making decisions about technologies, frameworks, and best practices to ensure system scalability, performance, and reliability.
- Identify bottlenecks and performance issues, implement optimizations to improve system efficiency.
- Enhance and refactor existing code to improve maintainability, performance, and scalability.
- Create and maintain technical documentation, including architecture diagrams, design specifications, and API documentation.
- Conduct code reviews and provide technical guidance to the development team, ensuring that coding standards and architectural principles are followed.
- Collaborate with cross-functional teams, including Product, Solutions, and Dev Ops Teams.
- Responsible for information security tasks within own work scope.
- Stay updated with the latest industry trends, technologies and evaluate their potential applicability to the organization.
- Develop and carry-out unit testing of code components or complete application.
- Train and guide junior developers in best coding practices.
- Adhere to company policies and procedures.
We are looking for
- Education: BS (CS, SE, CE, IT)
- Experience: 10+ years
Skills
- Strong understanding of software design patterns and architectural best practices.
- Demonstrated experience in designing and architecting complex systems.
- In-depth knowledge of multi-threaded and distributed applications.
- Expertise in Microservices architecture and design principles.
- Proficiency in designing SOAP & RESTful APIs.
- Strong proficiency in Java programming language.
- In-depth knowledge of backend & frontend frameworks, libraries, and technologies.
- Excellent problem-solving and analytical skills.
- In Depth Knowledge of database technologies (SQL and NoSQL).
- Proficiency in code versioning tools, such as Git.
- Proficiency in software design tools such as UML.
- Familiarity with cloud-based technologies and microservices deployment (Docker, Kubernetes).
- Ability to perform well under pressure.
- Strong problem-solving skills, Self-Motivated, Out of the Box thinking.
- Ability to multitask and manage workload efficiently.
- Quick learning abilities.
Specific Tools, Technologies, or Equipment Skills
- Core Java Language Concepts, J2EE, Java, JSP, JDBC and HTML/CSS.
- Automated tools and techniques for development e.g., JProfiler, PMD, Ant, Aspect-J, Junit.
- Concepts about software management tools and techniques e.g., concepts about software configuration management tools and techniques.
- Understanding of full SDLC, GOF Design Patterns, Architecture and Design Patterns (SOA, ORM, MVC), J2EE Design Patterns, OOP, UML, ERD Diagrams.
i2c’s mission is to empower our clients to create differentiated payment and banking experiences for consumers and businesses around the world. We build the payment technology and services that financial institutions, fintech’s and brands, Banking as a Service (BaaS) providers and aggregators, and government agencies need to deliver high-impact, personalized payments and commerce solutions that build loyalty and engage today’s consumers in new ways, creating more profitable relationships. Our proprietary “building block” technology allows clients to easily create and manage a comprehensive set of solutions for credit, debit, prepaid, lending and more, quickly and cost-effectively. We deliver unparalleled flexibility, agility, security and reliability from a single global Software as a Service (SaaS) platform.
This job post has been translated by AI and may contain minor differences or errors.