HireFT
Browse JobsHow it worksPricingAboutSuccess Stories
    Back to jobs
    KY

    Kyanon Digital

    Software Development

    Software Engineer (NextJS/ReactJS)

    APOLLO Software Engineer (NextJS/ReactJS) Ho Chi Minh City Work Type: Full Time Apply Now, VietnamOn-SiteFull-time4+ yrs experiencePosted 1mo ago
    All Kyanon Digital jobs

    Job description

    <div style="box-sizing: border-box; align-self: flex-start; flex: 0 1 auto; order: 0; align-items: normal; flex-flow: row; position: relative; min-width: 0px; max-width: 100%; color: rgb(33, 37, 41); font-family: Poppins, sans-serif; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><div style="box-sizing: border-box; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, transform 0.4s; height: 28px; background-color: rgb(220, 118, 118); margin: 0px; padding: 0px 16px;"><h2 style="box-sizing: border-box; font-family: Poppins, sans-serif; font-weight: 600; line-height: 28px; color: rgb(250, 250, 250); font-size: 18px; margin: 0px; padding: 0px;">How You Can Contribute?</h2></div></div><div style="box-sizing: border-box; align-self: auto; flex: 0 1 auto; order: 0; align-items: normal; flex-flow: row; position: relative; color: rgb(0, 0, 0); font-family: Poppin, sans-serif; font-weight: 400; min-width: 0px; max-width: 100%; font-size: 16px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; widows: 2; word-spacing: 0px; white-space: normal; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;"><div style="box-sizing: border-box; transition: background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s, transform 0.4s; height: 1680px;"><h4 style="box-sizing: border-box; font-family: Poppins, sans-serif; font-weight: 600; line-height: 28px; color: rgb(0, 0, 0); font-size: 20px; padding: 0px 0px 24px; margin: 0px;">Frontend Development (ReactJS + NextJS)</h4><ul style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; display: flex; flex-direction: column; padding-left: 24px;"><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Develop modern web applications using ReactJS and NextJS.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Build scalable, reusable UI components following component-driven architecture.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Implement SSR, SSG, and client-side rendering strategies using NextJS.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Optimize application performance, SEO, and page loading speed.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Ensure responsive and cross-browser compatible UI across devices.</span><span style="box-sizing: border-box; font-weight: 400;"><br style="box-sizing: border-box;"></span></li></ul><h4 style="box-sizing: border-box; font-family: Poppins, sans-serif; font-weight: 600; line-height: 28px; color: rgb(0, 0, 0); font-size: 20px; padding: 24px 0px; margin: 0px;">Application Architecture & Integration</h4><ul style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; display: flex; flex-direction: column; padding-left: 24px;"><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Integrate RESTful APIs / GraphQL services with frontend applications.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Manage routing, authentication flows, and data fetching strategies in NextJS.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Implement state management solutions (Redux, Zustand, React Query, Context API).</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Collaborate with backend teams to design efficient API contracts.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Support integration of modern third-party services to enhance product capabilities, including intelligent or data-driven features when applicable.</span><span style="box-sizing: border-box; font-weight: 400;"><br style="box-sizing: border-box;"></span></li></ul><h4 style="box-sizing: border-box; font-family: Poppins, sans-serif; font-weight: 600; line-height: 28px; color: rgb(0, 0, 0); font-size: 20px; padding: 24px 0px; margin: 0px;">Code Quality & Testing</h4><ul style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; display: flex; flex-direction: column; padding-left: 24px;"><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Write clean, maintainable, and scalable TypeScript/JavaScript code.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Apply frontend best practices, code reviews, and performance optimization.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Implement unit and integration testing (Jest, React Testing Library).</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Debug production issues and continuously improve application stability.</span><span style="box-sizing: border-box; font-weight: 400;"><br style="box-sizing: border-box;"></span></li></ul><h4 style="box-sizing: border-box; font-family: Poppins, sans-serif; font-weight: 600; line-height: 28px; color: rgb(0, 0, 0); font-size: 20px; padding: 24px 0px; margin: 0px;">Collaboration & Continuous Improvement</h4><ul style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; display: flex; flex-direction: column; padding-left: 24px;"><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Work closely with UI/UX designers to convert Figma designs into high-quality UI.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Participate in Agile/Scrum development processes.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Stay updated with modern frontend trends, React ecosystem, and NextJS updates.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Contribute to improving development workflows and engineering standards.</span></li></ul><h3 style="box-sizing: border-box; font-family: Poppins, sans-serif; font-weight: 600; line-height: 36px; color: rgb(0, 0, 0); font-size: 24px; margin: 0px; padding: 24px 0px;"><br></h3><h3 style="box-sizing: border-box; font-family: Poppins, sans-serif; font-weight: 600; line-height: 36px; color: rgb(0, 0, 0); font-size: 24px; margin: 0px; padding: 24px 0px;"><b style="box-sizing: border-box; font-weight: 600; padding: 0px 0px 24px; margin: 0px;">Qualifications</b></h3><ul style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; display: flex; flex-direction: column; padding-left: 24px;"><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 24px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Bachelor’s degree in </span><b style="box-sizing: border-box; font-weight: 600; padding: 24px 0px; margin: 0px;">Computer Science, Information Technology, or a related field.</b></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 24px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Minimum of</span> <b style="box-sizing: border-box; font-weight: 600; padding: 24px 0px; margin: 0px;">4+ years of expe</b><b style="box-sizing: border-box; font-weight: 600; padding: 24px 0px; margin: 0px;">rience in frontend development</b><span style="box-sizing: border-box; font-weight: 400;">.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 24px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Should have knowledge of advanced</span><b style="box-sizing: border-box; font-weight: 600; padding: 24px 0px; margin: 0px;"> ReactJs, NextJS</b></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Experience with state management libraries/frameworks (e.g., Redux, MobX) is a plus</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Familiarity with frontend build tools (e.g., Webpack, Babel) and version control systems (e.g., Git).</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Strong understanding of web standards, cross-browser compatibility, and responsive design.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Knowledge of backend technologies and APIs is a plus.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Experience integrating AI-powered services or APIs into web applications is a plus.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Strong problem-solving, analytical, and communication skills.</span></li><li style="box-sizing: border-box; border: 0px; outline: 0px; font-size: 16px; vertical-align: baseline; background: transparent; max-width: 100%; display: inline-block; position: relative; list-style: none; margin-bottom: 8px; padding-left: 33px !important; font-weight: 400;"><span style="box-sizing: border-box; font-weight: 400;">Ability to work independently and as part of a team in a fast-paced environment.</span></li></ul></div></div>

    Job details are sourced from the employer's original posting.

    Open job posting
    KY

    About the company

    Kyanon Digital

    Kyanon Digital is a software development company that provides digital transformation services.

    View all Kyanon Digital jobs
    Industry
    Software Development
    Open roles
    15

    Interested in this role?

    Apply with HireFT

    Free to start — no card required.

    Your fit

    How well do you match?

    Sign in to see how your résumé lines up with this role.