MobileDev Engineer
Trivandrum (Thiruvananthapuram) IT development
Job description
Position Summary:
Technology Practice is forward looking organization and makes use of the latest releases of technology from Microsoft amongst others. They are responsible for the delivery of programs that offer a chance to work on web applications that span the spectrum of devices from desktop to tablets to smart phones.
The Senior Application Engineer/Technical Lead will coordinate and manages a small team of development resources to enforce process and review output of developers to ensure predictability and quality of deliverables. This position involves being hands-on and able to design and develop across the Full stack. Will work closely with AE Dev Lead who will have full responsibility for the application development along with all code that drives it.
Essential Functions of the Job: (including Analytical/Decision Making Responsibilities)
·
Develop and deliver technical systems.
·
Maintain adherence to architectural standards/principles, global product-specific guidelines, usability design standards, etc.
·
Participate in the development and review of documents to comply with SDLC methodologies [e.g. Solution Design Document (SDD) and Software Architecture Documents (SAD)].
·
Provide support and documentation to assist in sustaining the project during the transition to production where necessary.
·
Adhere to Application Engineering methodologies, standards, code reviews.
·
Provide feedback regarding application engineering methodologies, standards and leading practices when appropriate.
·
Identify potential points of contention for missed activities and notify project leadership of situation and remediation plan.
·
Minimize technical exposure and risk on projects.
·
Technical deliverables (i.e. code and documentation) on projects assigned.
·
Translate detailed Requirements and Design and Solution Architecture deliverables into detailed design specifications.
·
Maintain effective and consistent communication within the team, with peers, the leadership team and the peers in other IT groups.
·
Proactively raise issues to Technical and Group Leads when necessary.
·
Produce high quality application engineering deliverables in accordance with the project timeline.
·
Build and unit test a project to detailed design specifications.
·
Provide thought leadership and technical guidance to engineering staff.
·
Application Development Work breakdown structure
·
Solutions Design Documents.
·
Release Packages.
·
Hand-over documentation for operations.
·
Automate / Unit Test Scripts.
·
·
Assign tasks to developers.
·
Review of code completed.
·
Review performance of developers.
·
Make assessments of contractor abilities.
·
Proactively anticipate project issues before they occur; define the problem; identify possible causes; work with team to identify solutions; select and implement most appropriate solution.
·
Apply judgment in implementing Application Engineering methodologies, processes, and practices to specific requirements of projects/programs which may include product design engineering, information security, code maintainability and reliability.
Lead and contribute in an Agile environment.
Knowledge and Skills Requirements:
·
Solid interpersonal communication and organizational skills required to operate as a contributing member of global technical teams that deliver quality services.
·
Strong technical skills designing, developing, debugging, documenting, and implementing applications.
·
Knowledge of organizational structure of the firm to facilitate work with groups outside of the immediate technical team.
·
Strong knowledge and experience in all IT methodologies and life cycles that will be used (Agile/SAFe).
·
Familiar with infrastructure implementation/management, service/operations management, etc.
·
Possesses an understanding of IT Services: service offerings, technical standards and policies, technical and business strategies as well as organizational structure.
·
Maintains awareness of new and emerging technologies and the potential application on service offerings and products provided by IT
·
Leads an application development/engineering team with respect to the Technical Lead’s assigned program/project with both local and remote resources; directly mentors staff working on the project; works with Product Managers and Program/project managers if issues arise within Project; works with Team Leader if issues arise with development/engineering staff assigned to project; supports and monitors project’s progress
·
Provides feedback for development/engineering staff with respect to the project work
·
Responsible for assessing the technical skills of the application development/engineering staff where appropriate
·
Exercises influence at many levels of the organization
·
Obtains necessary supervision and support to ensure quality, adherence to application engineering methodologies, standards, leading practices, budgets, and timelines are met
·
Serves as a role model by promoting and demonstrating commitment to application development/engineering methodologies, processes and standards for both EY and industry-wide, recommending process improvements when necessary
·
Experience managing and motivating virtual teams
Lends expertise to internal IT teams and task forces as well as other IT projects/programs.
Supervision Responsibilities:
·
Assignment of tasks to developers
·
Support with hiring new contractors and employees, where applicable
·
Manage the training and development of staff members to develop their skills and maintain industry-leading knowledge in their areas of responsibility
·
Recommend the selection of and be responsible for the performance management of staff members
·
Apply judgment in implementing Application Engineering methodologies, processes, and practices to specific requirements of projects/programs which may include product design engineering, information security, code maintainability and reliability.
Job Requirements:
Education:
·
University degree in a technical field preferred
Experience:
·
At least 2 years of hands on experience leading a team of developers either onshore or offshore - defining work breakdown structures/tasks, assigning the team work items, monitoring and ensuring quality and adherence to standards
·
At least 9-10 years of relevant hands on work experience building, securing, integrating and delivering enterprise-wide web applications using Microsoft and other technologies for large organizations on complex projects.
·
Strong Expertise in Classic Xamarin (iOS and Android)
·
Strong experience in MVVM design pattern
·
Knowledge of Design Principles such as Dependency Injection, IOC etc.
·
Strong command over MVVM Cross framework
·
Strong experience in Native development of iOS and Android
·
Hands-on working experience with any MAM/MDM
·
Hands-on experience of designing large and complex enterprise mobile solutions
·
Offline data caching and sync implementation using SQLite
·
Enabling Push Notification using APNS/FCM/Azure Notification Hub
·
5+ years of experience of working with applications that have a SQL Server backend (SQL Server 2014 and newer).
·
5+ years of experience with Team Foundation Server or similar.
·
5+ years of experience with Object-Relational Mappers such as Entity Framework or NHibernate
·
Experience working with Azure or other cloud providers
·
Ideally experience working with SSRS, SSIS
·
Experience with HTML 5, JSON, Web API, Web Services essential
·
Experience with MongoDB or other document databases, WCF, WPF, VBA and SharePoint would be a plus
·
Knowledge of Message Bus architecture e.g. MSMQ and Computer architecture including multi-threading would be ideal
·
Knowledge and experience with working on N-Tier'd applications.
·
In-depth knowledge of object oriented analysis and design (OOAD) principles, and familiarity with many design patterns for Software applications.
·
Demonstrated ability to build strong working relationships.
·
Demonstrated expertise in application design and construction, work breakdown structure of items, design and code reviews, unit test and build activities, deployment and performance related activities, documentation, support and training/mentoring.
·
Excellent communication skills, verbal and written
·
Experience working on projects following Agile methodologies such as SAFe
·
Experience working with vendors or 3rd parties providing development services is a nice to have
·
Ability to work within diverse, global, virtual teams.
·
Proven ability to thrive under pressure
Language Requirements:
·
English
Certification Requirements:
Soft Skills/Behavioural Requirements:
·
Strong communication skills
·
Demonstrated experience working for large organizations on complex projects
·
Demonstrated ability to build strong working relationships.
·
Ability to facilitate change management with teams.
·
Experience in the full project and delivery life cycles - from planning to delivery, implementation and completion / handover
·
Good negotiation and resolution skills.
·
Excellent English language communication skills, verbal and written
·
Positive team player, willing to share knowledge
·
Commitment to learning and self-improvement
·
Ability to work with various cultures and personalities
·
Ability to work in virtual, cross-border teams