AngularAWSAzureCassandraCloudDjangoDockerFlaskGoogle Cloud PlatformJavaJavaScriptJestJUnitKafkaKubernetesMicroservicesMockitoMongoDBNode.jsNoSQLOraclePostgresPythonRabbitMQReactReduxSDLCSpringSpring BootSpringBootSQLTypeScriptReact.jsHTML5CSS3ExpressTesting LibraryJasmineKarmaGCPGoogle CloudPostgreSQLSQL ServerRESTfulGitVersion ControlPerformance OptimizationAgileCI/CDLeadershipMentoringCommunicationRemote Work
About this role
Role Overview
Lead the design, development, and implementation of full-stack applications, from concept to deployment.
Develop responsive and high-performance user interfaces using React.js or Angular, ensuring a seamless user experience.
Build and maintain robust, scalable, and secure back-end services and APIs (e.g., Java, Python, Node.js) that integrate with various internal and external systems.
Write clean, well-documented, and testable code, adhering to best practices and coding standards.
Participate in all phases of the software development lifecycle (SDLC), including requirements gathering, design, development, testing, deployment, and support.
Contribute to technical architecture decisions, ensuring solutions are aligned with enterprise standards and strategic goals.
Design and implement secure and efficient database schemas (SQL/NoSQL) and data access layers.
Evaluate and recommend new technologies, frameworks, and tools to improve development processes and application performance.
Ensure adherence to architectural principles, design patterns, and security guidelines.
Collaborate closely with product owners, business analysts, UX/UI designers, and other engineering teams to define requirements and deliver solutions.
Provide technical guidance and mentorship to junior developers, fostering a culture of continuous learning and improvement.
Participate in code reviews, ensuring code quality, performance, and maintainability.
Troubleshoot and resolve complex technical issues, ensuring minimal disruption to business operations.
Drive continuous integration and continuous delivery (CI/CD) practices to streamline deployment pipelines.
Implement and maintain automated testing suites (unit, integration, end-to-end) to ensure high code quality and application stability.
Ensure all development activities comply with Citi's internal policies, security standards, and regulatory requirements.
Actively participate in security reviews and address any identified vulnerabilities.
Requirements
4-7 years of total experience with at least 2 years in a full-stack role.
Proven experience leading technical projects and mentoring team members.
Extensive experience with front-end development using modern JavaScript frameworks (React.js or Angular is mandatory).
Strong experience with back-end development using languages like Java (Spring Boot), Python (Django/Flask), or Node.js (Express).
Experience with cloud platforms (e.g., AWS, Azure, GCP) and containerization technologies (Docker, Kubernetes) is a plus.
Familiarity with financial industry concepts and regulatory requirements is highly desirable.
Expertise in JavaScript/TypeScript, HTML5, CSS3.
Proficiency in React.js (with Redux/Context API) or Angular (2+).
Strong command of at least one back-end language/framework (Java/Spring Boot preferred).
Deep understanding of RESTful APIs, microservices architecture, and API design principles.
Experience with version control systems (Git) and Agile development methodologies.
Knowledge of testing frameworks (e.g., Jest, React Testing Library, Karma, Jasmine, JUnit, Mockito).
Problem-Solving: Excellent analytical and problem-solving skills, with the ability to tackle complex technical challenges.
Communication: Strong verbal and written communication skills, capable of articulating technical concepts to both technical and non-technical audiences.
Leadership: Demonstrated leadership qualities, including the ability to guide teams, drive initiatives, and make sound technical decisions.
Adaptability: Ability to quickly learn new technologies and adapt to changing project requirements.
Attention to Detail: Meticulous attention to detail and a commitment to producing high-quality, robust software.
Experience with performance optimization and tuning of full-stack applications.
Knowledge of message queues (e.g., Kafka, RabbitMQ).