Frontend Engineer

Enhans Ai โ€” South Korea ยท Posted ~4 days ago

Mid Contract Onsite

Skills

JavaScript TypeScript React Vue.js REST API Asynchronous data processing HTML CSS Responsive web development Git Docker Kubernetes

๐Ÿ”“ Log in to save this job, tailor your resume & track your apply process โ€” 7 days free, no card needed.

Log in to add to target list

Summary

A frontend engineer is sought for a five-month public-sector technology project. The role involves building web interfaces for AI and data services, integrating REST APIs, developing dashboards and workflow screens, implementing role-based access controls, creating reusable UI components, and improving browser compatibility and performance. Experience with JavaScript or TypeScript, modern frontend frameworks, responsive HTML/CSS, asynchronous data handling, and Git is required. Experience with public-sector systems, accessibility standards, AI or search integrations, and containerized deployments is advantageous.

Highlights

Five-month contract role contributing to an AI and data-driven public-sector project, with opportunities to build reusable UI architecture, dashboards, data management interfaces, and modern container-based deployments while collaborating across multiple disciplines.

Description

[ํšŒ์‚ฌ ์†Œ๊ฐœ] ์ธํ•ธ์Šค(Enhans)๋Š” ๋ฐ์ดํ„ฐยทAI ๊ธฐ๋ฐ˜ ๋ฌธ์ œ ํ•ด๊ฒฐ์„ ํ†ตํ•ด ๊ธฐ์—…์˜ ์˜์‚ฌ๊ฒฐ์ • ์ˆ˜์ค€์„ ํ˜์‹ ํ•˜๋Š” ๊ธฐ์ˆ  ๊ธฐ์—…์ž…๋‹ˆ๋‹ค. ์ธํ•ธ์Šค๋Š” ๋‹ค์–‘ํ•œ ์‚ฐ์—…์˜ ๊ณ ๊ฐ์‚ฌ์™€ ํ˜‘๋ ฅํ•˜์—ฌ ๋ฐ์ดํ„ฐยทAI ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ์‹ค์ œ ์—…๋ฌด ํ™˜๊ฒฝ์—์„œ ์•ˆ์ •์ ์œผ๋กœ ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์™€ ์†”๋ฃจ์…˜์„ ๊ฐœ๋ฐœํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ํฌ์ง€์…˜์€ ์„œ์šธ ์†Œ์žฌ ๊ณต๊ณต๊ธฐ๊ด€์—์„œ ์ง„ํ–‰๋˜๋Š” ํ”„๋กœ์ ํŠธ์— ์ฐธ์—ฌํ•  'Frontend Engineer (๊ณ„์•ฝ์ง/5๊ฐœ์›”)'์ž…๋‹ˆ๋‹ค. [์ฃผ์š” ์—…๋ฌด] AI ์„œ๋น„์Šค ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•œ ์›น ํ™”๋ฉด ๊ฐœ๋ฐœ๋ฐฑ์—”๋“œ API์™€ ์—ฐ๋™๋˜๋Š” ๋ฐ์ดํ„ฐ ์กฐํšŒยท์ž…๋ ฅยท๊ด€๋ฆฌ ๊ธฐ๋Šฅ ๊ตฌํ˜„๋Œ€์‹œ๋ณด๋“œ, ๊ฒ€์ƒ‰ ๊ฒฐ๊ณผ, ์—…๋ฌด ์ฒ˜๋ฆฌ ํ™”๋ฉด ๋“ฑ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค ๊ฐœ๋ฐœ๊ถŒํ•œ๊ณผ ์‚ฌ์šฉ์ž ์—ญํ• ์— ๋”ฐ๋ฅธ ํ™”๋ฉด ๋ฐ ๊ธฐ๋Šฅ ์ œ์–ด๊ณตํ†ต UI ์ปดํฌ๋„ŒํŠธ ์„ค๊ณ„์™€ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌ์กฐ ๊ตฌ์ถ•๋‹ค์–‘ํ•œ ๋ธŒ๋ผ์šฐ์ €์™€ ์šด์˜ ํ™˜๊ฒฝ์„ ๊ณ ๋ คํ•œ ์„œ๋น„์Šค ํ’ˆ์งˆ ๋ฐ ์„ฑ๋Šฅ ๊ฐœ์„ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ๋ฐฐํฌ ํ™˜๊ฒฝ์—์„œ์˜ ํ”„๋ก ํŠธ์—”๋“œ ๋นŒ๋“œ ๋ฐ ์šด์˜ ์ง€์› [์ž๊ฒฉ ์š”๊ฑด] JavaScript ๋˜๋Š” TypeScript ๊ธฐ๋ฐ˜ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜React, Vue.js ๋“ฑ ํ”„๋ก ํŠธ์—”๋“œ ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ํ™œ์šฉํ•œ ์›น ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๊ฒฝํ—˜REST API ์—ฐ๋™ ๋ฐ ๋น„๋™๊ธฐ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฒฝํ—˜HTML, CSS๋ฅผ ํ™œ์šฉํ•œ ๋ฐ˜์‘ํ˜• ์›น ๋ฐ ์‚ฌ์šฉ์ž ํ™”๋ฉด ๊ตฌํ˜„ ๊ฒฝํ—˜Git ๋“ฑ ํ˜‘์—… ๋„๊ตฌ๋ฅผ ํ™œ์šฉํ•œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž, ๋””์ž์ด๋„ˆ, ๊ธฐํš์ž ๋“ฑ ๋‹ค์–‘ํ•œ ์ง๊ตฐ๊ณผ์˜ ํ˜‘์—… ๊ฒฝํ—˜ [์šฐ๋Œ€ ์‚ฌํ•ญ] ๊ณต๊ณต SI ํ”„๋กœ์ ํŠธ ์ฐธ์—ฌ ๊ฒฝํ—˜์ „์ž์ •๋ถ€ ํ‘œ์ค€ํ”„๋ ˆ์ž„์›Œํฌ ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๋˜๋Š” ์—ฐ๋™ ๊ฒฝํ—˜๊ณต๊ณต๊ธฐ๊ด€ ์›น ์ ‘๊ทผ์„ฑ ๋ฐ ์›น ํ‘œ์ค€์„ ๊ณ ๋ คํ•œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜๋Œ€์‹œ๋ณด๋“œ, ๊ด€๋ฆฌ์ž ํŽ˜์ด์ง€ ๋˜๋Š” ๋ณต์žกํ•œ ์—…๋ฌด ์‹œ์Šคํ…œ ๊ฐœ๋ฐœ ๊ฒฝํ—˜AI/LLMยท๊ฒ€์ƒ‰ ์‹œ์Šคํ…œ๊ณผ ์—ฐ๋™๋˜๋Š” ์‚ฌ์šฉ์ž ํ™”๋ฉด ๊ฐœ๋ฐœ ๊ฒฝํ—˜Docker, Kubernetes ๋“ฑ ์ปจํ…Œ์ด๋„ˆ ๊ธฐ๋ฐ˜ ํ™˜๊ฒฝ์—์„œ์˜ ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ๊ฒฝํ—˜๋‹ค์–‘ํ•œ ์ดํ•ด๊ด€๊ณ„์ž์™€ ํ˜‘์—…ํ•˜๋ฉฐ ์š”๊ตฌ์‚ฌํ•ญ์„ ํ™”๋ฉด๊ณผ ๊ธฐ๋Šฅ์œผ๋กœ ๊ตฌํ˜„ํ•ด ๋ณธ ๊ฒฝํ—˜ [๊ทผ๋ฌด ์กฐ๊ฑด] ๊ทผ๋ฌด์ง€ ์„œ์šธ ์†Œ์žฌ ๊ณต๊ณต๊ธฐ๊ด€ (๊ณ ๊ฐ์‚ฌ ์ƒ์ฃผ)์ƒ์„ธ ๊ทผ๋ฌด์ง€๋Š” ์ธํ„ฐ๋ทฐ ์ „ํ˜• ๊ณผ์ •์—์„œ ์•ˆ๋‚ด๋“œ๋ฆฝ๋‹ˆ๋‹ค. ๊ณ„์•ฝ ๊ธฐ๊ฐ„ 2026๋…„ 8์›” ์ค‘์ˆœ ~ 2026๋…„ 12์›” ๋ง (์•ฝ 5๊ฐœ์›”)ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์‹œ์ž‘์ผ๊ณผ ์ข…๋ฃŒ์ผ์ด ์ผ๋ถ€ ์กฐ์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ณ ์šฉ ํ˜•ํƒœ ๊ณ„์•ฝ์ง (์ธํ•ธ์Šค ์†Œ์†)ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„์„ ๊ธฐ์ค€์œผ๋กœ ๊ทผ๋กœ๊ณ„์•ฝ์„ ์ฒด๊ฒฐํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์šฐ ์ˆ˜์ค€ ์‹œ์žฅ ์ƒ์œ„ ์ˆ˜์ค€ํ•™์œ„, ๊ฒฝ๋ ฅ, ๋ณด์œ  ์—ญ๋Ÿ‰์— ๋”ฐ๋ผ ํ˜‘์˜ [์ฑ„์šฉ ์ ˆ์ฐจ] ์„œ๋ฅ˜ ์ „ํ˜• โ†’ ์ง๋ฌด ์ธํ„ฐ๋ทฐ(์˜จ๋ผ์ธ) โ†’ ์ฒ˜์šฐ ํ˜‘์˜ โ†’ ์ตœ์ข… ํ•ฉ๊ฒฉ๊ฐ ์ „ํ˜• ๊ฒฐ๊ณผ๋Š” ํ•ฉ๊ฒฉ ์—ฌ๋ถ€์™€ ๊ด€๊ณ„์—†์ด ๊ฐœ๋ณ„ ์•ˆ๋‚ด๋“œ๋ฆฝ๋‹ˆ๋‹ค.ํ”„๋กœ์ ํŠธ ์ผ์ •์— ๋”ฐ๋ผ ์ฑ„์šฉ ์ ˆ์ฐจ์™€ ์ผ์ •์€ ์ผ๋ถ€ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ง€์› ์ „ ํ™•์ธํ•ด ์ฃผ์„ธ์š” ๋ณธ ํฌ์ง€์…˜์€ ์ธํ•ธ์Šค ์†Œ์† ๊ณ„์•ฝ์ง์œผ๋กœ, ํ”„๋กœ์ ํŠธ ๊ธฐ๊ฐ„ ๋™์•ˆ ๊ณ ๊ฐ์‚ฌ์— ์ƒ์ฃผํ•˜์—ฌ ๊ทผ๋ฌดํ•˜๋Š” ํฌ์ง€์…˜์ž…๋‹ˆ๋‹ค.ํ”„๋กœ์ ํŠธ ์ง„ํ–‰ ์ƒํ™ฉ์— ๋”ฐ๋ผ ์ž…์‚ฌ์ผ ๋ฐ ๊ทผ๋ฌด ๊ธฐ๊ฐ„์ด ์ผ๋ถ€ ์กฐ์ •๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.์ง€์›์„œ์— ๊ธฐ์žฌํ•œ ๋‚ด์šฉ์ด ์‚ฌ์‹ค๊ณผ ๋‹ค๋ฅด๊ฑฐ๋‚˜ ์ฑ„์šฉ ๊ฒฐ๊ฒฉ ์‚ฌ์œ ๊ฐ€ ํ™•์ธ๋  ๊ฒฝ์šฐ ํ•ฉ๊ฒฉ์ด ์ทจ์†Œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.