[๐Ÿ“จ ๊ฐ„ํŽธ์ง€์›] Android ๊ฐœ๋ฐœ์ž(7๋…„ ์ด์ƒ)
๋งˆ๊ฐ๊ธฐํ•œ
2025๋…„ 01์›” 31์ผ
์ง๊ตฐ
Tech
๊ฒฝ๋ ฅ์‚ฌํ•ญ
๊ฒฝ๋ ฅ 7๋…„ ์ด์ƒ
๊ณ ์šฉํ˜•ํƒœ
์ •๊ทœ์ง
๊ทผ๋ฌด์ง€
์˜๋“ฑํฌ๋Œ€ํ•œ๋ฏผ๊ตญ ์„œ์šธํŠน๋ณ„์‹œ ์˜๋“ฑํฌ๊ตฌ ์—ฌ์˜๋Œ€๋กœ 108, ํŒŒํฌ์› ํƒ€์›Œ1๋™ 45~46F

์ฃผ์š”์—…๋ฌด

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐ€์ƒ์ž์‚ฐ ๊ฑฐ๋ž˜์†Œ ์•ฑ์„ ์„ค๊ณ„, ๊ฐœ๋ฐœํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฑฐ๋ž˜, ์ž…์ถœ๊ธˆ, ์‚ฌ์šฉ์ž ์ธ์ฆ ๋“ฑ ๊ฐ€์ƒ์ž์‚ฐ ๊ฑฐ๋ž˜์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜„ํ•˜๊ณ  ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋””์ž์ธ ์‹œ์Šคํ…œ์— ๊ธฐ๋ฐ˜ํ•ด, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„ ์„ ์œ„ํ•œ ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ง€์›์ž๊ฒฉ

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ๊ฐœ๋ฐœ ๊ฒฝ๋ ฅ 7๋…„์ด์ƒ ๋˜๋Š” ์ด์— ์ค€ํ•˜๋Š” ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • Android SDK์™€ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ์•ฑ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ์œ ์—ฐํ•˜๊ณ  ๊ฒฌ๊ณ ํ•œ ์•ฑ ์„ค๊ณ„๋ฅผ ์œ„ํ•ด MVVM, Clean Architecture ๋“ฑ์˜ ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์ ์šฉ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์•ฑ ์•ˆ์ •์„ฑ์„ ๊ฐœ์„ ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • REST API ํ†ต์‹  ๋ฐ ๋„คํŠธ์›Œํ‚น์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์„ค๊ณ„, ๊ตฌํ˜„ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ˜ ๋ถ„


์šฐ๋Œ€์‚ฌํ•ญ

  • ์ž๋ฃŒ๊ตฌ์กฐ, ๋„คํŠธ์›Œํฌ, ์Šค๋ ˆ๋“œ ๋“ฑ ์ปดํ“จํ„ฐ๊ณตํ•™ ๊ธฐ์ดˆ์ง€์‹์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๊นŠ์€ ๋ถ„
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์•ฑ ์•ˆ์ •์„ฑ์„ ๊ฐœ์„ ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ๊ฐ€์ƒ์ž์‚ฐ, ํ•€ํ…Œํฌ, ๋ธ”๋ก์ฒด์ธ ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • WebSocket์„ ํ™œ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • Kotlin Coroutine, Flow๋ฅผ ์‚ฌ์šฉํ•œ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ์™€ Jetpack Compose๋ฅผ ์‚ฌ์šฉํ•œ UI ๊ฐœ๋ฐœ์— ์ต์ˆ™ํ•œ ๋ถ„
  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์ดํ•ด ๋ฐ ์ ์šฉ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • CI/CD ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜๊ณผ ์ ๊ทน์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ๋ณด์œ ํ•œ ๋ถ„
  • ์ตœ์‹  ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ์— ๊ด€์‹ฌ์ด ๋งŽ๊ณ , ์Šต๋“ํ•œ ์ง€์‹์„ ํฌ๋ฃจ๋“ค์—๊ฒŒ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์„ ์ฆ๊ธฐ๋Š” ๋ถ„


โš™๏ธ Android ๊ธฐ์ˆ ์Šคํƒ

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ 100% Kotlin ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ๊ฐœ๋ฐœ์„ ์œ„ํ•ด, Jetpack Compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๋†’์€ ์œ ์ง€๋ณด์ˆ˜์„ฑ, ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ, ํ™•์žฅ์„ฑ, ์‘์ง‘๋„์™€ ๋‚ฎ์€ ๊ฒฐํ•ฉ๋„๋ฅผ ์œ„ํ•ด ํด๋ฆฐ ์•„ํ‚คํ…์ณ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.
  • Retrofit์„ ์‚ฌ์šฉํ•œ REST API ํ†ต์‹ ๊ณผ, Okhttp๋ฅผ ์‚ฌ์šฉํ•ด WebSocket์œผ๋กœ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ํŠธ๋ž˜ํ”ฝ ์ ˆ๊ฐ์„ ์œ„ํ•ด Protocol Buffer๋ฅผ ์ด์šฉํ•œ ํ†ต์‹ ์„ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜์กด์„ฑ ์ฃผ์ž…์„ ์œ„ํ•ด Dagger hilt๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Coroutine๊ณผ Flow๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์•ฑ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด Baseline profile์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœํ•„ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Github์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , Github Action์„ ์‚ฌ์šฉํ•ด ์ง€์†์ ์ธ ํ†ตํ•ฉ(Continuous Integration)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.


์ฑ„์šฉ ํ”„๋กœ์„ธ์Šค

  • ์„œ๋ฅ˜์ „ํ˜• > ์ฝ”๋”ฉํ…Œ์ŠคํŠธ > ์‹ค๋ฌด ์ธํ„ฐ๋ทฐ > ์ž„์› ์ธํ„ฐ๋ทฐ > ์ฒ˜์šฐํ˜‘์˜ > ์ž…์‚ฌ


์ฝ”์ธ์› ์†Œ๊ฐœ

์ฝ”์ธ์›์€ ๋ธ”๋ก์ฒด์ธ์„ ํ†ตํ•ด ํšจ์œจ์ ์ด๊ณ  ๊ณต์ •ํ•œ ๊ธˆ์œต ์‹œ์žฅ์„ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๋ชฉํ‘œ๋กœ, ๊ฐ€์ƒ์ž์‚ฐ ์—…๊ณ„๋ฅผ ์„ ๋„ํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ์ข…ํ•ฉ ๊ธˆ์œต ๊ธฐ์—…์œผ๋กœ ๋ฐœ๋‹์›€ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ์ •์„ ๊ณ„์†ํ•ด ๋‚˜๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตญ๋‚ด ๋Œ€ํ‘œ ์ „๋ฌธ ๊ฐ€์ƒ์ž์‚ฐ ๊ฑฐ๋ž˜์†Œ ์ฝ”์ธ์›์„ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ€์ƒ์ž์‚ฐ ๊ด€๋ฆฌ, ๊ฑฐ๋ž˜๋งค์นญ ์—”์ง„ ๋“ฑ์˜ ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ๊ธˆ์œต ๋ฐ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, โ€˜11๋…„ ์—ฐ์† ๋ณด์•ˆ ๋ฌด์‚ฌ๊ณ ', โ€˜๋‹คํฌ์ฝ”์ธ ๊ฑฐ๋ž˜์ง€์› 0๊ฑด', โ€™๊ตญ๋‚ด ์ตœ์ดˆ ์ด๋”๋ฆฌ์›€ ๊ฑฐ๋ž˜์ง€์›', โ€˜๊ตญ๋‚ด ์ตœ์ดˆ ์Šคํ…Œ์ดํ‚น ์„œ๋น„์Šค' ๋“ฑ์˜ ๊ธฐ๋ก์„ ์“ฐ๋ฉฐ ๊ฐ€์žฅ ์•ˆ์ „ํ•˜๊ณ  ํ˜์‹ ์ ์ธ ๊ฑฐ๋ž˜์†Œ๋กœ ์ž๋ฆฌ๋งค๊น€ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

โ†’ ์ฝ”์ธ์› ํฌ๋ฃจ๊ฐ€ ๋ˆ„๋ฆฌ๋Š” Benefit


๋” ์•Œ์•„๋ณด๊ธฐ ๐Ÿ”—


  Tech ์ธํ„ฐ๋ทฐ ๐Ÿ”—

๏ปฟ

์ง€์› ์‹œ ์œ ์˜์‚ฌํ•ญ

  • ํ•ด๋‹น ํฌ์ง€์…˜์˜ ๊ฒฝ์šฐ, ์„œ๋ฅ˜ ํ•ฉ๊ฒฉ์ž์— ํ•œํ•ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.
  • ๋ณธ ์ฑ„์šฉ์€ ์ˆ˜์‹œ ์ง„ํ–‰์œผ๋กœ ์šฐ์ˆ˜ ์ธ์žฌ ์ฑ„์šฉ ์‹œ, ์ ˆ์ฐจ ์ง„ํ–‰ ์ค‘ ๋งˆ๊ฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€์›์„œ๋Š” ์ˆ˜ํ–‰ ํ”„๋กœ์ ํŠธ ์ค‘์‹ฌ์œผ๋กœ ๊ธฐ์ˆ ํ•ด ์ฃผ์‹œ๊ณ  ๋ณธ์ธ ๊ธฐ์—ฌ๋„์™€ ํ”„๋กœ์ ํŠธ ์„ฑ๊ณผ๋ฅผ ๋ช…์‹œํ•˜์—ฌ ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ์ง€์›์„œ ๋‚ด์šฉ ์ค‘ ํ—ˆ์œ„์‚ฌ์‹ค์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ „ํ˜• ์ง„ํ–‰๊ณผ ํ•ฉ๊ฒฉ์ด ์ทจ์†Œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „ํ˜•์ ˆ์ฐจ๋Š” ์ง๋ฌด ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์šด์˜๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ์ • ๋ฐ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉด์ ‘ ํ•ฉ๊ฒฉ ์•ˆ๋‚ด ํ›„, ์ฒ˜์šฐํ˜‘์˜๋ฅผ ๊ฑฐ์ณ ์ตœ์ข…์ ์œผ๋กœ ํ•ฉ๋ฅ˜ ์˜์‚ฌ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์˜คํผ๋ ˆํ„ฐ๋ฅผ ๋ฐœ์†กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • 3๊ฐœ์›”์˜ ์ˆ˜์Šต๊ธฐ๊ฐ„์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์Šต๊ธฐ๊ฐ„ ํ‰๊ฐ€์— ๋”ฐ๋ผ ์ˆ˜์Šต์ด ์—ฐ์žฅ๋˜๊ฑฐ๋‚˜ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตญ๊ฐ€๋ณดํ›ˆ๋Œ€์ƒ์ž ๋ฐ ์žฅ์• ์ธ์€ ๊ด€๊ณ„ ๋ฒ•๋ น์— ์˜๊ฑฐํ•˜์—ฌ ์šฐ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ถ๊ธˆํ•œ ์‚ฌํ•ญ์€ career@coinone.com ์œผ๋กœ ํŽธํ•˜๊ฒŒ ์—ฐ๋ฝ ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

โ† ์ฝ”์ธ์› ์ฑ„์šฉํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€๊ธฐ

๊ณต์œ ํ•˜๊ธฐ
[๐Ÿ“จ ๊ฐ„ํŽธ์ง€์›] Android ๊ฐœ๋ฐœ์ž(7๋…„ ์ด์ƒ)

์ฃผ์š”์—…๋ฌด

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ๊ฐ€์ƒ์ž์‚ฐ ๊ฑฐ๋ž˜์†Œ ์•ฑ์„ ์„ค๊ณ„, ๊ฐœ๋ฐœํ•˜๊ณ  ์œ ์ง€๋ณด์ˆ˜ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ฑฐ๋ž˜, ์ž…์ถœ๊ธˆ, ์‚ฌ์šฉ์ž ์ธ์ฆ ๋“ฑ ๊ฐ€์ƒ์ž์‚ฐ ๊ฑฐ๋ž˜์†Œ๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ํ•ต์‹ฌ ๊ธฐ๋Šฅ๋“ค์„ ๊ตฌํ˜„ํ•˜๊ณ  ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.
  • ๋””์ž์ธ ์‹œ์Šคํ…œ์— ๊ธฐ๋ฐ˜ํ•ด, ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ ๊ฐœ์„ ์„ ์œ„ํ•œ ์ง€์†์ ์ธ ์—…๋ฐ์ดํŠธ๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

์ง€์›์ž๊ฒฉ

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ๊ฐœ๋ฐœ ๊ฒฝ๋ ฅ 7๋…„์ด์ƒ ๋˜๋Š” ์ด์— ์ค€ํ•˜๋Š” ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • Android SDK์™€ ๋‹ค์–‘ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ๋ฅผ ํ™œ์šฉํ•œ ์•ฑ ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ์œ ์—ฐํ•˜๊ณ  ๊ฒฌ๊ณ ํ•œ ์•ฑ ์„ค๊ณ„๋ฅผ ์œ„ํ•ด MVVM, Clean Architecture ๋“ฑ์˜ ๋””์ž์ธ ํŒจํ„ด์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์ ์šฉ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์•ฑ ์•ˆ์ •์„ฑ์„ ๊ฐœ์„ ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • REST API ํ†ต์‹  ๋ฐ ๋„คํŠธ์›Œํ‚น์— ๋Œ€ํ•œ ์ดํ•ด์™€ ์„ค๊ณ„, ๊ตฌํ˜„ ๋Šฅ๋ ฅ์„ ๊ฐ–์ถ˜ ๋ถ„


์šฐ๋Œ€์‚ฌํ•ญ

  • ์ž๋ฃŒ๊ตฌ์กฐ, ๋„คํŠธ์›Œํฌ, ์Šค๋ ˆ๋“œ ๋“ฑ ์ปดํ“จํ„ฐ๊ณตํ•™ ๊ธฐ์ดˆ์ง€์‹์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ๊นŠ์€ ๋ถ„
  • ์„ฑ๋Šฅ ์ตœ์ ํ™”, ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ, ์•ฑ ์•ˆ์ •์„ฑ์„ ๊ฐœ์„ ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ๊ฐ€์ƒ์ž์‚ฐ, ํ•€ํ…Œํฌ, ๋ธ”๋ก์ฒด์ธ ์„œ๋น„์Šค ๊ฐœ๋ฐœ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • WebSocket์„ ํ™œ์šฉํ•œ ์‹ค์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ ์ฒ˜๋ฆฌ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • Kotlin Coroutine, Flow๋ฅผ ์‚ฌ์šฉํ•œ ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ์™€ Jetpack Compose๋ฅผ ์‚ฌ์šฉํ•œ UI ๊ฐœ๋ฐœ์— ์ต์ˆ™ํ•œ ๋ถ„
  • ๋‹จ์œ„ ํ…Œ์ŠคํŠธ, ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ์— ๋Œ€ํ•œ ์ดํ•ด ๋ฐ ์ ์šฉ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • CI/CD ๋„๊ตฌ๋ฅผ ์‚ฌ์šฉํ•œ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ๊ฒฝํ—˜์ด ์žˆ๋Š” ๋ถ„
  • ์›ํ™œํ•œ ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜๊ณผ ์ ๊ทน์ ์ธ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ๋ณด์œ ํ•œ ๋ถ„
  • ์ตœ์‹  ๊ธฐ์ˆ  ํŠธ๋ Œ๋“œ์— ๊ด€์‹ฌ์ด ๋งŽ๊ณ , ์Šต๋“ํ•œ ์ง€์‹์„ ํฌ๋ฃจ๋“ค์—๊ฒŒ ๊ณต์œ ํ•˜๋Š” ๊ฒƒ์„ ์ฆ๊ธฐ๋Š” ๋ถ„


โš™๏ธ Android ๊ธฐ์ˆ ์Šคํƒ

  • ์•ˆ๋“œ๋กœ์ด๋“œ ๊ฐœ๋ฐœ ์–ธ์–ด๋กœ 100% Kotlin ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ UI ๊ฐœ๋ฐœ์„ ์œ„ํ•ด, Jetpack Compose๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ UI ์ปดํฌ๋„ŒํŠธ๋ฅผ ๋งŒ๋“ค๊ณ  ํ™”๋ฉด์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  • ๋†’์€ ์œ ์ง€๋ณด์ˆ˜์„ฑ, ํ…Œ์ŠคํŠธ ์šฉ์ด์„ฑ, ํ™•์žฅ์„ฑ, ์‘์ง‘๋„์™€ ๋‚ฎ์€ ๊ฒฐํ•ฉ๋„๋ฅผ ์œ„ํ•ด ํด๋ฆฐ ์•„ํ‚คํ…์ณ๋ฅผ ์ง€ํ–ฅํ•ฉ๋‹ˆ๋‹ค.
  • Retrofit์„ ์‚ฌ์šฉํ•œ REST API ํ†ต์‹ ๊ณผ, Okhttp๋ฅผ ์‚ฌ์šฉํ•ด WebSocket์œผ๋กœ ์‹ค์‹œ๊ฐ„ ํ†ต์‹ ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ํŠธ๋ž˜ํ”ฝ ์ ˆ๊ฐ์„ ์œ„ํ•ด Protocol Buffer๋ฅผ ์ด์šฉํ•œ ํ†ต์‹ ์„ ํ•˜๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค.
  • ์˜์กด์„ฑ ์ฃผ์ž…์„ ์œ„ํ•ด Dagger hilt๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ๋™์‹œ์„ฑ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด Coroutine๊ณผ Flow๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  • ์•ฑ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด Baseline profile์„ ์‚ฌ์šฉํ•˜์—ฌ ํ”„๋กœํ•„ ๊ธฐ๋ฐ˜ ์ตœ์ ํ™”๋ฅผ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Github์„ ํ†ตํ•ด ์ฝ”๋“œ๋ฅผ ๊ด€๋ฆฌํ•˜๊ณ , Github Action์„ ์‚ฌ์šฉํ•ด ์ง€์†์ ์ธ ํ†ตํ•ฉ(Continuous Integration)์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค.


์ฑ„์šฉ ํ”„๋กœ์„ธ์Šค

  • ์„œ๋ฅ˜์ „ํ˜• > ์ฝ”๋”ฉํ…Œ์ŠคํŠธ > ์‹ค๋ฌด ์ธํ„ฐ๋ทฐ > ์ž„์› ์ธํ„ฐ๋ทฐ > ์ฒ˜์šฐํ˜‘์˜ > ์ž…์‚ฌ


์ฝ”์ธ์› ์†Œ๊ฐœ

์ฝ”์ธ์›์€ ๋ธ”๋ก์ฒด์ธ์„ ํ†ตํ•ด ํšจ์œจ์ ์ด๊ณ  ๊ณต์ •ํ•œ ๊ธˆ์œต ์‹œ์žฅ์„ ๋งŒ๋“ค๊ฒ ๋‹ค๋Š” ๋ชฉํ‘œ๋กœ, ๊ฐ€์ƒ์ž์‚ฐ ์—…๊ณ„๋ฅผ ์„ ๋„ํ•˜๋Š” ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ์ข…ํ•ฉ ๊ธˆ์œต ๊ธฐ์—…์œผ๋กœ ๋ฐœ๋‹์›€ํ•˜๊ธฐ ์œ„ํ•œ ์—ฌ์ •์„ ๊ณ„์†ํ•ด ๋‚˜๊ฐ€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

ํ˜„์žฌ ๊ตญ๋‚ด ๋Œ€ํ‘œ ์ „๋ฌธ ๊ฐ€์ƒ์ž์‚ฐ ๊ฑฐ๋ž˜์†Œ ์ฝ”์ธ์›์„ ์ค‘์‹ฌ์œผ๋กœ ๊ฐ€์ƒ์ž์‚ฐ ๊ด€๋ฆฌ, ๊ฑฐ๋ž˜๋งค์นญ ์—”์ง„ ๋“ฑ์˜ ๋ธ”๋ก์ฒด์ธ ๊ธฐ๋ฐ˜ ๊ธˆ์œต ๋ฐ ๊ธฐ๋ฐ˜ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, โ€˜11๋…„ ์—ฐ์† ๋ณด์•ˆ ๋ฌด์‚ฌ๊ณ ', โ€˜๋‹คํฌ์ฝ”์ธ ๊ฑฐ๋ž˜์ง€์› 0๊ฑด', โ€™๊ตญ๋‚ด ์ตœ์ดˆ ์ด๋”๋ฆฌ์›€ ๊ฑฐ๋ž˜์ง€์›', โ€˜๊ตญ๋‚ด ์ตœ์ดˆ ์Šคํ…Œ์ดํ‚น ์„œ๋น„์Šค' ๋“ฑ์˜ ๊ธฐ๋ก์„ ์“ฐ๋ฉฐ ๊ฐ€์žฅ ์•ˆ์ „ํ•˜๊ณ  ํ˜์‹ ์ ์ธ ๊ฑฐ๋ž˜์†Œ๋กœ ์ž๋ฆฌ๋งค๊น€ ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

โ†’ ์ฝ”์ธ์› ํฌ๋ฃจ๊ฐ€ ๋ˆ„๋ฆฌ๋Š” Benefit


๋” ์•Œ์•„๋ณด๊ธฐ ๐Ÿ”—


  Tech ์ธํ„ฐ๋ทฐ ๐Ÿ”—

๏ปฟ

์ง€์› ์‹œ ์œ ์˜์‚ฌํ•ญ

  • ํ•ด๋‹น ํฌ์ง€์…˜์˜ ๊ฒฝ์šฐ, ์„œ๋ฅ˜ ํ•ฉ๊ฒฉ์ž์— ํ•œํ•ด ์ฝ”๋”ฉํ…Œ์ŠคํŠธ๊ฐ€ ์ง„ํ–‰๋ฉ๋‹ˆ๋‹ค.
  • ๋ณธ ์ฑ„์šฉ์€ ์ˆ˜์‹œ ์ง„ํ–‰์œผ๋กœ ์šฐ์ˆ˜ ์ธ์žฌ ์ฑ„์šฉ ์‹œ, ์ ˆ์ฐจ ์ง„ํ–‰ ์ค‘ ๋งˆ๊ฐ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ง€์›์„œ๋Š” ์ˆ˜ํ–‰ ํ”„๋กœ์ ํŠธ ์ค‘์‹ฌ์œผ๋กœ ๊ธฐ์ˆ ํ•ด ์ฃผ์‹œ๊ณ  ๋ณธ์ธ ๊ธฐ์—ฌ๋„์™€ ํ”„๋กœ์ ํŠธ ์„ฑ๊ณผ๋ฅผ ๋ช…์‹œํ•˜์—ฌ ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.
  • ์ง€์›์„œ ๋‚ด์šฉ ์ค‘ ํ—ˆ์œ„์‚ฌ์‹ค์ด ์žˆ๋Š” ๊ฒฝ์šฐ, ์ „ํ˜• ์ง„ํ–‰๊ณผ ํ•ฉ๊ฒฉ์ด ์ทจ์†Œ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ „ํ˜•์ ˆ์ฐจ๋Š” ์ง๋ฌด ๋ณ„๋กœ ๋‹ค๋ฅด๊ฒŒ ์šด์˜๋  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ผ์ • ๋ฐ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฉด์ ‘ ํ•ฉ๊ฒฉ ์•ˆ๋‚ด ํ›„, ์ฒ˜์šฐํ˜‘์˜๋ฅผ ๊ฑฐ์ณ ์ตœ์ข…์ ์œผ๋กœ ํ•ฉ๋ฅ˜ ์˜์‚ฌ๋ฅผ ์ „๋‹ฌํ•˜๋Š” ์˜คํผ๋ ˆํ„ฐ๋ฅผ ๋ฐœ์†กํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • 3๊ฐœ์›”์˜ ์ˆ˜์Šต๊ธฐ๊ฐ„์ด ์ ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ˆ˜์Šต๊ธฐ๊ฐ„ ํ‰๊ฐ€์— ๋”ฐ๋ผ ์ˆ˜์Šต์ด ์—ฐ์žฅ๋˜๊ฑฐ๋‚˜ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ตญ๊ฐ€๋ณดํ›ˆ๋Œ€์ƒ์ž ๋ฐ ์žฅ์• ์ธ์€ ๊ด€๊ณ„ ๋ฒ•๋ น์— ์˜๊ฑฐํ•˜์—ฌ ์šฐ๋Œ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๊ถ๊ธˆํ•œ ์‚ฌํ•ญ์€ career@coinone.com ์œผ๋กœ ํŽธํ•˜๊ฒŒ ์—ฐ๋ฝ ์ฃผ์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค.

โ† ์ฝ”์ธ์› ์ฑ„์šฉํŽ˜์ด์ง€๋กœ ๋Œ์•„๊ฐ€๊ธฐ