Description -
Lead and contributes to the development of new ideas and methods. Works on complex problems where analysis of situations or data requires an in-depth evaluation of multiple factors. Leads and/or provides expertise to functional project teams and may participate in cross-functional initiatives. Acts as an expert providing direction and guidance to process improvements and establishing policies. Frequently represents the team to external customers/clients. Exercises significant independent judgment within broadly defined policies and practices to determine best method for accomplishing work and achieving objectives. Provide mentoring and guidance to other developers.
Responsibilities
- Lead number of developers during all stages of planning, designing, and development for complex products and platforms, including solution design, analysis, coding, testing, and integration
- Manages and expands relationships with internal and outsourced development partners on software applications design and development
- Reviews and evaluates designs and project activities for compliance with applications design and development guidelines and standards; provides tangible feedback to improve product quality and mitigate failure risk
- Provides domain-specific expertise and overall software applications leadership and perspective to cross-organization projects, programs, and activities
- Drives innovation and integration of new technologies into projects and activities in the software applications design organization
- Provides guidance and mentoring to other team members
Education And Experience Required
- Bachelor's or Master's degree in Computer Science or equivalent
- A minimum of 5 years of hands-on back-end/infrastructure development experience
- Technical leadership experience of 4+ developers
Knowledge And Skills
- Very strong back-end skills, experienced .Net Core developer, with a good sense for design
- Deep understanding of developing patterns, working in components, clean coding and code review practices
- Experience with developing infrastructure layers and tools
- Excellent analytical, troubleshooting and problem-solving skills
- Experience in overall architecture of software applications for products and solutions
- Designing and integrating software applications running on multiple platform types into overall architecture
- Highly motivated, team player with a track record of technical leadership and technical collaboration
- Self (and others) management capabilities and strong prioritization skills
- Project management and work plans experience
- Excellent written and verbal communication skills; mastery in English and local language.
- Ability to effectively communicate product architectures, design proposals and negotiate options at senior management levels.
- Knowledge and experience in a wide range of technologies:
- Communications – TCP/IP, sockets, Web API, MQTT
- CI/CD - Dockers, Kubernetes, Charts, Helm, etc.
- Cloud - AWS
- Databases – SQLite, SQL Server, Entity framework core
- PC/System understanding (CPU/cores, memory, drives, performance/monitoring tools and practices)