描述
Responsible
As a Senior Frontend Software Engineer, you will be building customer-focused and scalable native mobile experience in GMPI’s brandsite, Mini-Program and be responsible for monitoring and addressing performance and security. You will work side-by-side with designers, product owners, copywriters and other developers to create new features, test your own ideas, and push changes live for billions of users. You will:
- Define professional standards/work methodology within the Frontend development area on different model in Cloud based, Microservice oriented, DevOps way, and focus not only be functional flexible and non-functional high standard in scalability/security/observability/serviceability/reliability
- Strong Frontend development hands-on experience
- Hands-on skills in product architecture design and landing, object-oriented design, event driven microservice design and work in Cloud environment
- Set up interaction and knowledge sharing processes among Frontend engineering members in different Product Teams and Product Areas
- Support the software engineering team professionally
Skilled
We expect our developers to know the ins and outs of the frontend framework and to deliver polished products that customers want to use. We need self-starters who are great at solving problems, initiate solutions and discussions and are not afraid of solving challenges due to our large scale.
- Computer Science/Software Engineering or related university education background with Bachelor above degree
- 7+ years of experience in a relevant role, preferably in a commercial environment
- At least 1 year of this experience must be from working with WeChat Mini-Program Framework.
- Proficient in JavaScript, TypeScript, HTML5 and CSS
- Experience with medium/large-scale web/ mini-program applications
- Proficient in modern Javascript frameworks like React, Angular or Vue (React preferred)
- Proficient with modern testing frameworks (e.g., jest/mocha/jasmine)
- In depth understanding of front-end architecture and performance experience optimization
- Experience with GraphQL, and familiarity with common backend service languages such as Node.js, Java will be appreciated
- Experienced with git-based source control, CI/CD pipelines(like Jenkins/CircleCI/Git Actions) and container technologies(Docker and Kubernetes)
- Experience in Agile development/configuration
- Keen learner within the technical components of the domains/products
- Strong team player and ability to develop and guide others
- With architecture/leadership thinking to drive things forward and influence skills to promote ideas and plans
- Able to communicate intricate technical concepts and align organization on decisions with partners of all levels of expertise
Bonus points for
- Experience in Hybrid R&D, iOS/Android application development and WeChat based eco-system will be valued
- Previous experience in design and develop digital products in retail/e-commerce industry
- Full-stack / BFF developer (or similar) experience preferred
Additional Description
For this role you will expected to have demonstrated success in software project delivery experience in leading technical efforts developing applications using a variety of tools, languages, frameworks and technologies
Demonstrate mastery of many programming languages, tools and/or technologies
Performance tuning, usability assessment/improvement
Aggressively engage in the identification / remediation of software issues related to code or solutions quality, security, and/or pattern/frameworks and software usability or end user related issues
Integrate software with existing software/systems
Automates unit/end-to-end testing of software systems within their domain, focused on software quality and maintainability
Strong Knowledge of maintaining and debugging live software systems. Dedicatedly engage in the remediation of software issues related to code/solutions quality and/or security
Provides guidance and mentoring of fellow software developers and other team members
Possess technical writing knowledge around system design specification and user documentation of software systems and ensure that technical documentation meets GM standards
Understand and maintain compliance with GM standards and industry standard methodology
Holds themselves and others accountable for demonstrating GMs values and cultural behaviors. Models GM behaviors and builds a winning culture.
The position is responsible for developing and testing mobile applications using repeatable industry best practices and in accordance with GM's software development project methodology. The Software Developer will work hands-on designing and writing code based on detailed requirements and system specifications. Developers will specialize in mobile development software packaging and coding languages. Development activities will include updating existing software and/or developing new mobile applications to address a specific customer need or to solve a particular business problem. This role will contribute to all development activities including design, coding, testing, certification, documentation and deployment. The Software Developer for Mobility should have a strong eye for Usability especially within Mobile Form Factors. This role will involve a great deal of creativity and initiative. Role Responsibilities:
Full lifecycle application development using standard frameworks and coding standards/patterns
Coding, unit testing and debugging applications in various software languages
Software testing and quality assurance
Performance tuning, improvement, balancing, usability, automation
Document software code and ensure that technical documentation i.e. configuration guides, install guides meet requirements
Integrate software with existing systems
Maintain standards compliance
Implement localization or globalization of software
Work closely with senior developers and software engineers to gain additional knowledge and expertise.
Proactively engage in the remediation of software issues such as code quality, pattern mismatch, and security issues related to the code/configuration
Automates testing processes by developing unit test scripts, as needed Minimum Qualifications:
Minimum 7 years of professional software development experience
Minimum 3 years of experience developing mobile applications within the Android OS for devices or tablets.
Excellent technical knowledge of Java for Android
Demonstrates strong experience/knowledge of the Android SDK
Good understanding of software development best practices
Experience working in an agile environment
Extensive UI Design experience
Strong knowledge and understanding of different Android platforms