The Fullstack Development Lead is a senior level position responsible for Design, Development and implementing new or revised application systems and programs in coordination with the Technology team. The overall objective of this role is to lead applications systems analysis and programming activities. This role would entail interaction with multiple teams including Product, Technology, and testing partners to achieve the successful delivery of software projects. It involves managing, training and mentoring the team to build the most optimal solutions for the challenging problems.
Responsibilities:
- Partner with multiple management teams to ensure appropriate integration of functions to meet goals as well as identify and define necessary system enhancements to deploy new products and process improvements
- Resolve variety of high impact problems/projects through in-depth evaluation of complex business processes, system processes, and industry standards
- Provide expertise in area and advanced knowledge of applications programming and ensure application design adheres to the overall architecture blueprint
- Utilize advanced knowledge of system flow and develop standards for coding, testing, debugging, and implementation
- Develop comprehensive knowledge of how areas of business, such as architecture and infrastructure, integrate to accomplish business goals
- Provide in-depth analysis with interpretive thinking to define issues and develop innovative solutions
- Come up with Design and software Architecture for Business problems on multiple development platforms (Microservices and APIs using Spring Boot, Web applications using Angular and platforms like Docker and Openshift).
- Address a variety of responses to problems, questions, or situations by applying established criteria to directly influence development outcomes. In doing so, use the right technology to solve technical challenges required to deliver small scale features and functions and / or supporting aspects of a larger program efforts.
- Responsible for applications systems analysis and programming activities that may include assisting with feasibility studies, time and cost estimates and implementation of new or revised applications systems and programs.
- Accountable for development, design, construction, testing and implementation and write secure, stable, testable and maintainable code.
- Expected to operate with autonomy, while some oversight and direction may be required.
- Monitor and control all phases of development process and analysis, design, construction, testing, and implementation as well as provide user and operational support on applications to business users
- Utilize in-depth specialty knowledge of applications development to analyze complex problems/issues, provide evaluation of business process, system process, and industry standards, and make evaluative judgement
- Recommend and develop security measures in post implementation analysis of business usage to ensure successful system design and functionality
- Consult with product teams and other technology groups on issues, recommend advanced programming solutions, and install and assist customer exposure systems
- Understand the business context and the associated customer use cases.
- Understand the team’s technologies and are able to evaluate system designs and architecture as you participate in solution discussions, development and the creation of application / systems documentation.
- Serve as advisor or coach to the technology team by guiding them to build the optimal solution.
- Build and maintain integrated project development schedules that account for internal / external dependencies, differing SDLC approaches, numerous constraints, and adequately factor in contingency for unplanned delays.
- Negotiate features and associated priority and help the Technology teams and Product teams reach consensus.
- Verbal and written communication is clear and concise by clearly articulating development and timeline dependencies.
- Have good working relationships with team members, manager, and peers.
- Improve team development related processes that accelerate delivery, drive innovation, lower costs, and improve quality.
- Ensure self and peers are actively seeking ways to objectively measure productivity. (i.e., SonarQube , Code Coverage tools like Jacoco , AST tools like Checkmarx , Code and design reviews ). This will include a focus on automating code quality, code performance, unit testing, and build processing in the CI/CD pipeline (Teamcity , Udeploy etc )
- Appropriately assess risk when business decisions are made, demonstrating particular consideration for the firm's reputation and safeguarding Citigroup, its clients and assets, by driving compliance with applicable laws, rules and regulations, adhering to Policy, applying sound ethical judgment regarding personal behavior, conduct and business practices, and escalating, managing and reporting control issues with transparency.
Qualifications:
- 8-10 years of relevant experience in Apps Development or systems analysis role
- Extensive experience system analysis and in programming of software applications
- Experience in managing and implementing successful projects
- Subject Matter Expert (SME) in Full Stack Applications Development
- Ability to adjust priorities quickly as circumstances dictate
- Demonstrated leadership and project management skills
- Consistently demonstrates clear and concise written and verbal communication
- Expertise in Agile Management using JIRA
- Relevant experience in preparing Software design artifacts including Architecture, flowcharts and Sequence diagrams.
- 8+ years of expertise in application design and development using the below mentioned technologies and frameworks :
- Backend : Spring, Spring boot , Java 8+ , Hibernate
- Frontend : JavaScript ES6+ , HTMLS5 , CSS3 , working knowledge of Angular 7+ , Webpack
- Source control management using git
- Database technologies including Oracle PL SQL, Stored procedures, triggers. MongoDB experience is desired.
- Relevant knowledge with testing frameworks like JUNIT , Cucumber , Jasmine/Mocha
- Experience in performance tuning of application and analyzing issues using tools like JProfiler / AppDynamics etc.
- Experience in performing effective code and design reviews.
Education:
- Bachelor’s degree/University degree or equivalent experience
- Master’s degree preferred
We offer
- Opportunity for professional development in the international and multicultural organization
- Developing opportunities and challenging assignments
- Attractive and stable employment conditions
- Social benefits (medical care, Benefit System, life insurance, pension scheme)
- Flexible working hours
- Partial Remote work possible