Mô Tả Công Việc
.svg-color path {
fill: #0A4423
}
.svg-color-while path {
fill: #FFF
}
Job Detail
Responsibilities
Cross-Functional Collaboration
Collaborate with cross-functional and multinational teams to define, build, and enhance customer facing features for users.
Technology Evaluation
Evaluating and implementing new tools and process frameworks to enhance development efficiency.
Agile Methodologies
Work as part of an Agile Development Scrum Team
Business Analysis & Solution Design
Understand business logic and deliver flexible solutions.
Technical Writing
Write SOLID, testable, and maintainable code, ensuring high-quality standards are met.
Maintenance
Develop and maintain custom UI screens
Statistical Modeling
Contribute to the modularization of the App.
Technical Documentation
Create and maintain comprehensive technical documentation.
Knowledge Sharing
Engage in continuous learning and skill enrichment through regular technical sharing and discussions.
Other Assigned Tasks
Managing and coordinating outsourcing task if needed
Presentation Skills
Non-financial Aspect: Successful candidates must be creative, collaborative, and have clear logic, while completing high-quality work under tight deadlines.
Requirements
Education: Bachelor's degree in Information system, Information Technology, Computer Science, or related field (or equivalent work experience).
Work experience: 5+ years of solid experience in Mobile App Development (iOS development, predominantly with Swift or Android Development)
Language skill: Proficient in Vietnamese and either English or Chinese is a must.
Familiar with CI/CD automated deployment.
Familiar with Git, capable of branch management, code complicit resolve and code review effectively and experience with collaborative development.
Proficiency in UIKit and a deep understanding of iOS UI architecture or in Kotlin for native development.
Strong knowledge of MVVM architecture and Clean Architecture principles.
Experience developing and maintaining RESTful APIs, making request from apps to back-end services.
Knowledge of push notifications and messaging technologies.
Experience with custom UI development.
Proficient in English communication, capable of discussing requirement and technical detail.
Experience with unit testing frameworks and best practices
The developer need to co-work and communicate with Vietnam and Taiwan team in requirement discussion, user story organization, task breakdown and CICD process.
Cross function/ region collaborations.
Work experience in App startups, digital banking, or FinTech.
Certificate: Scrum certificates a plus
Recruitment Progress
Telephone interview.
Online Assignment test.
Direct interview with Tech Lead.
Interview with Function Head.
Salary
Negotiable
Benefit
Performance Bonus
13th-month salary
Team-building activities
Onsite business trip
Technical Traning
Meal allowance
Birthday allowance
Flexible working hours
Medical insurance etc.
function hexToRgb(hex) {
const bigint = parseInt(hex.slice(1), 16);
return {
r: (bigint >> 16) & 255,
g: (bigint >> 8) & 255,
b: bigint & 255,
};
}
function rgbToHex({ r, g, b }) {
return (
'#' +
[r, g, b]
.map((val) => val.toString(16).padStart(2, '0'))
.join('')
.toUpperCase()
);
}
function getRelativeLuminance({ r, g, b }) {
const normalize = (value) =>
value / 255 <= 0.03928
? value / 255 / 12.92
: Math.pow((value / 255 + 0.055) / 1.055, 2.4);
const R = normalize(r);
const G = normalize(g);
const B = normalize(b);
return 0.2126 * R + 0.7152 * G + 0.0722 * B;
}
function getContrast(rgb1, rgb2) {
const L1 = getRelativeLuminance(rgb1);
const L2 = getRelativeLuminance(rgb2);
return L1 > L2 ? (L1 + 0.05) / (L2 + 0.05) : (L2 + 0.05) / (L1 + 0.05);
}
function darkenColor(color, amount) {
const rgb = hexToRgb(color);
return {
r: Math.max(0, rgb.r - amount),
g: Math.max(0, rgb.g - amount),
b: Math.max(0, rgb.b - amount),
};
}
function generateColors(baseHex, backgroundHex, steps = 5) {
const backgroundRgb = hexToRgb(backgroundHex);
let colors = [baseHex];
let currentColor = baseHex;
for (let i = 0; i < steps; i++) {
let nextRgb;
let contrast;
let attempts = 0;
do {
nextRgb = darkenColor(currentColor, 10);
contrast = getContrast(nextRgb, backgroundRgb);
attempts++;
if (attempts > 100) {
console.warn('Stopped attempting to darken further.');
break;
}
} while (contrast < 4.5);
currentColor = rgbToHex(nextRgb);
colors.push(currentColor);
}
return colors;
}
const colors = generateColors('#89D287', '#FFFFFF', 4);
const listItems = document.querySelectorAll('.recruitment-process-text');
listItems.forEach((item, index) => {
item.style.backgroundColor = colors[index];
console.log(colors[index])
});
Xem toàn bộ Mô Tả Công Việc
Hình thức
Full-time
Mức lương
Thỏa thuận
Báo cáo tin tuyển dụng: Nếu bạn thấy rằng tin tuyển dụng này không đúng hoặc có dấu hiệu lừa đảo,
hãy phản ánh với chúng tôi.
Tham khảo: 10 Dấu hiệu nhận biết hành vi lừa đảo qua tin tuyển dụng.
Tham khảo: 10 Dấu hiệu nhận biết hành vi lừa đảo qua tin tuyển dụng.