Lead Software Engineer – Full Stack
Job Description:
BASIC PURPOSE:
The Lead Software Engineer - Full Stack is responsible for providing technical leadership to both onshore and offshore teams, and will develop and maintain modular, reusable back-end components using Node.js, Java, and .NET. Additionally, the Engineer will be responsible for developing and maintaining reusable user interface components with React.js, React Native, Angular, and Next.js.
ESSENTIAL FUNCTIONS:
- Participate in code reviews, proactively identifying and mitigating potential issues and defects as well as assisting with continuous improvement
- Identify and resolve performance and scalability issues
- Contribute to backend design, technical direction and backend architecture including collaborating with various teams
- Design efficient and reusable backend systems that drive complex applications, front-end systems that drive complex web applications, components that drive mobile applications
- Create microservices using Node.js
- Stay on top of technology changes in the market and continuously look for opportunities to leverage modern technology
- Build reusable components and backend libraries for future use
- Create testable, universally available applications and services with monitoring and alerting
- Building cloud applications with Amazon Web Services (AWS)
- Translate designs and process wireframes into high quality code
- Identify and resolve performance and scalability issues
- Contribute to frontend design, technical direction and front-end architecture including collaborating with various teams
- Design efficient and reusable front-end systems that drive complex web applications
- Implement the features and user interfaces using React.js
- Build reusable components and front-end libraries for future use utilizing technologies like Stencil and Storybook
- Translate designs and wireframes into high quality code
- Optimize components for maximum performance across a vast array of web-capable devices and browsers
- The responsibility includes the development of automated testing and delivery of components using CI/CD.
- Contribute to mobile application design, technical direction and architecture including collaborating with various teams
- Design efficient and reusable components that drive mobile applications
- Implement the features and user interfaces using React Native, Android and iOS.
- Build reusable components and mobile libraries for future use
- Translate designs and wireframes into high quality code
- Identify and resolve performance and scalability issues
- Optimize components for maximum performance across a vast array of devices
- Lead a team in the execution of business goals
- Mentor less experienced team members
- Collaborate with Product Designers, Product Managers, and Software Engineers to deliver compelling user-facing products
- Must be able to perform the essential functions of the job, with or without reasonable accommodation.
- Other duties as assigned
REPORTING RELATIONSHIPS:
Reports to Senior Manager, Digital Applications
QUALIFICATIONS:
Bachelor’s degree in Computer Science / related engineering field OR equivalent experience in related field
Experience and Skills Required:
- 10+ years of experience in backend development, front end development, and mobile development (Android and iOS)
- 5+ years of experience in Node.js (JavaScript & Typescript), Java, .NET C#
- Strong understanding of JavaScript and related technologies in Amazon Web Service (AWS), Azure, Google Cloud.
- Experience with React Native concepts and workflows, as well as native Android and iOS tools.
- Experience with popular Node.js frameworks (Express.js, Serverless Framework, NestJS, )
- Strong proficiency in JavaScript, including DOM manipulation, the JavaScript object model, and the event loop.
- Proficient in profiling and improving the performance of both back-end and front-end components, as well as mobile applications.
- Familiarity with new specifications of ECMAScript and Typescript
- Understanding the nature of asynchronous programming and its quirks and workarounds
- Good understanding of any server-side templating languages
- Experience with RESTful APIs and GraphQL/AppSync
- Have a good understanding of concepts like concurrency, parallelism, event driven architecture
- Have experience with REST-ful APIs for internal and external products
- Experience with technologies like Redis, Elasticsearch, NoSQL, RDBMS, Queues, Event Bus and Cloud Functions
- Knowledgeable of modern authorization mechanisms such as JSON Web Tokens, oAuth2, AWS Cognito, Key Cloak.
- Familiar with modern build pipelines and tools
- Experience with common JavaScript development tools such as Babel, Webpack, NPM, Node, etc. and testing frameworks (Jest, Mocha, etc.)
- Strong understanding of HTML, CSS, JavaScript, Typescript, and related web technologies along with progressive web applications
- Experience with popular React.js and Next.js workflows (Flux, Redux, etc. )
- Knowledgeable of isomorphic React
- Familiar with modern front-end pipelines and tools like micro-frontends, Next.js, StencilJs, Storybook.
- Ability to understand business requirements and translate them into technical designs
- Familiarity with Git code versioning tools
- Good written, verbal communication skills
- Able to work autonomously with little direction. They should be self-motivated, proactive, and able to take ownership of their work. The candidate should have a history of delivering high-quality work on time and have excellent critical thinking skills. They should be able to prioritize tasks and manage their time effectively, while keeping stakeholders informed of progress. The candidate should be comfortable with ambiguity and be able to make decisions independently.
- Great collaborator
CRITICAL COMPETENCIES FOR SUCCESS:
- Analytical Skills: Demonstrate aptitude towards analytical and critical thinking skills and the ability to conceptually pull together patterns or connections that are not clearly related; ability to assess relevant facts, identify alternative approaches and provide the best course of action.
- Strategic Agility: Eagerness and ability to learn quickly and leverage a flexible mindset in response to shifting dynamics, adversity, and/or change; continually pushes oneself, their teams, and their businesses to learn, to generate innovative ideas
- Disciplined Execution: Orientation towards a process-focused, decisive course of action that will ensure client/customer needs are met with a high standard of excellence, urgency, and predictability; focused on the task at hand in the face of ambiguity and applies past experiences and expertise to consistently pull through results.
- Organizational Collaboration: Ability to partner across organizational lines and work cooperatively within and outside one’s own team to best serve client needs and exceed the expectations of end customers and clients; actively supports key decisions and promote a spirit of teamwork to demonstrate the commitment to the company.
WORK CONDITIONS:
Must possess comfort in learning, training, and engaging with others through Microsoft Teams and Zoom
Key Skills :
Company Profile
We specialize in providing a gamut of IT and ITES (Information Technology Enabled Services) services to our parent company and its subsidiaries. We are well-equipped with technology and business expertise to provide smarter and innovative solutions to our customers. Not only do we work with a difference; we work to make a difference.
Apply Now
- Interested candidates are requested to apply for this job.
- Recruiters will evaluate your candidature and will get in touch with you.