채용공고 올리기

이노아님을 응원해보세요!

이직/구직 중이에요

미리보기

기본 정보

이름
이노아
직업
프론트엔드 개발자
간단 소개

React, TypeScript, Next.js 기반의 프론트엔드 개발자 이노아입니다. '어제의 Best Practice를 오늘의 Legacy로'라는 개발 모토를 통해 어제보다 나은 개발자가 되고자 합니다. ✓ UX와 연결되는 다양한 부분에 관심을 가지고, 개선할 수 있는 방법에 대해 고민하고 적용합니다. • JavaScript의 실행 컨텍스트 이해를 통한 메모리 사용 최적화 • 불필요한 렌더링 제거를 통한 애플리케이션 성능 향상 • SSR Hydration, Code Splitting 등을 통한 페이지 로딩 시간 개선 • 사용자의 Action에 대한 다양한 Interaction을 통한 사용자 경험 개선 ✓ UX만큼 DX도 중요하게 생각합니다. • 함수형 프로그래밍에 대한 이해와 SRP 개념을 적용하여 변화에 유연하게 대응 • 지역성의 원칙을 디렉터리 구조에 적용하여 Cache Mise 최소화 ✓ 어제보다 나은 개발자가 되기 위해 노력합니다. • 단순히 기술을 사용하는 것이 아닌 기술의 철학과 동작 원리 이해하기 위해 노력 • 문제에 대한 다양한 해결 방법 습득하기 위해 다양한 코드를 접하기 위해 노력 • 학습한 내용을 기술 블로그에 꾸준히 작성

기술 스택

기술 스택

React, TypeScript, JavaScript, Redux, react-query

프로젝트

프로젝트명

11번가 상품 데이터를 활용한 E-commerce Platform 프로젝트

소속/기관명

개인 프로젝트

프로젝트 기간

2023.10. ~ 2024.02.

프로젝트 내용

Next.js

TanStack Query

  • SSR Hydration을 적용하여 상품 페이지 LCP 개선(평균 LCP 1.84s → 0.88s 단축)
  • useInfiniteQuery hook으로 대용량 데이터를 처리하여 서버 응답 시간 개선(1.46s → 0.72s 단축)

Redux

  • Flux 패턴을 위한 세 가지 원칙에 대한 이해를 바탕으로 Client State를 관리
  • Selector 함수를 세분화하여 불필요한 리렌더링을 최소화

React

  • Virtual DOM의 렌더링 원리와 데이터 불변성 사이의 관계를 이해하고 있으며, 데이터 불변성을 유지하는 코드를 통해 불필요한 렌더링 제거
  • Hooks API의 내부 구현에 대한 이해를 바탕으로 클로저를 활용한 Custom Hook을 통해 복잡한 상태 관리 로직을 캡슐화
  • View와 비즈니스 로직을 분리함으로써, 컴포넌트의 재사용성과 유지보수성을 향상

TypeScript

  • Generic을 사용하여 Promise가 반환하는 타입을 명시해 주어, TanStack Query의 useQuery가 반환하는 비동기 데이터의 타입 안정성을 보장
  • 타입 안정성을 높이기 위해 Type Assertionany 사용을 최소화하여 유지보수성을 개선

JavaScript

  • 함수형 프로그래밍에 SRP 개념을 적용하여 유지보수성 개선
  • 실행 컨텍스트에 대한 이해를 바탕으로 불필요한 메모리 사용 개선

TailwindCSS

자기소개

자기소개

프론트엔드 개발자가 된 이유

과거에 물류 관리의 정확성과 안정성을 높이기 위해 ERP 시스템을 도입했습니다. 도입된 ERP 시스템은 회사의 규모와 업무 특성, 적응에 소요되는 시간을 고려했을 때, 오버 엔지니어링이라는 생각이 들었습니다.

이에 따라, 저는 Excel을 사용하여 실제로 필요로 하는 기능만을 구현하기로 했습니다. 하지만 Excel의 기본 기능만으로는 구현에 한계가 있었고, 이 문제를 해결하기 위한 방법을 찾다가 VBA를 접하게 되었습니다.

당시 프로그래밍에 대한 기본 지식이 없는 상태였기에, 기능 구현에 필요한 VBA 코드를 검색해 가며 맨땅에 헤딩하는 식으로 ERP 시스템을 대체할 수 있는 Excel 프로그램을 구현했습니다.

수많은 우여곡절 끝에 만들어진 재고 관리 시스템은 기능 구현에는 성공했지만, 직접 사용하는 입장에서 최악의 UX였습니다. 재고 관련 데이터를 Excel에 유지해야 했기 때문에 시간이 지남에 따라 데이터 업데이트에 점점 더 많은 시간이 소요되었습니다.

저의 첫 프로그래밍은 시스템을 구현했다는 뿌듯함과 무지로 인한 개선 불가능에 의해 아쉬움이 남았습니다. 여기에 더해 설명할 수 없는 두근거림도 함께 했습니다.

당시 모호한 두근거림에 대해 명확하게 하고 싶어 많은 생각을 했었습니다.

평소 불편함을 느끼거나 의문을 가진 부분을 개선하기 위한 시도는 자주 있었습니다. 오버 엔지니어링으로 판단되는 시스템을 계속 유지할 필요가 있는지에 대한 의문에서 시작된 필요한 기능만을 직접 구현해 보겠다는 시도는 평소와 다른 점이 없었습니다.

하지만 평소 공부에 소극적이었던 제가 스스로 공부하고, 확신이 없는 부분에 대해 계속해서 도전하는 과정을 겪었습니다. 이러한 노력은 퇴근 후에도 계속되었고, 조금씩 찾은 코드와 제 생각이 하나의 기능을 만들어내는 과정에서 두근거림을 느꼈음을 알 수 있었습니다.

특히 가장 많이 고민하고 구현한 View를 볼 때면 두근거림은 더 컸었고, 그만큼 많은 아쉬움을 느낀 부분 또한 View였습니다. View에 대해 많은 흥미를 느낀다는 것을 인지했습니다.

분명 이것만큼 즐거운 일은 없을 거라는 생각과 함께 본격적으로 프론트엔드 개발자가 되기 위한 도전을 시작했습니다.

당시의 감정과 도전은 현재까지 이어져, 최적화된 기능을 구현하고 사용자 경험을 개선하기 위해 다양한 기술들을 접하고 배우고 있습니다.

당시 제가 느꼈던 아쉬움을 사용자가 느끼지 않을 수 있도록 하기 위한 지속적인 시도와 노력은 여전히 이것만큼 즐거운 일이 없다는 생각을 들게 합니다.

프론트엔드 개발자로서의 목표

✓ 목표 1 : 신뢰할 수 있는 개발자

'어제의 Best Practice를 오늘의 Legacy로'라는 개발 모토를 가지고 있습니다. 어제까지 Best Practice였던 코드가 오늘의 Legacy 코드로 바뀌기 위해서는 새로운 Best Practice 코드가 필요합니다.

Best Practice를 Legacy로 만들기 위해서는 나 자신만 Best Practice라 생각하는 코드가 아닌 동료 개발자도 납득할 수 있고, 신뢰할 수 있는 코드라고 판단되어야 가능하다 생각합니다.

이러한 측면에서 개발자는 신뢰를 기반으로 한 서비스를 제공할 수 있는 능력을 키우고, End User에게 보다 나은 사용자 경험을 제공해 만족감과 신뢰를 드리는 것은 당연하다고 생각합니다.

저는 서비스를 제공하는 대상이 End User에만 한정되지 않고 함께 일하는 동료 개발자도 포함된다고 생각합니다. 동료에게 신뢰를 줄 수 있는 개발자는 End User에게도 신뢰받을 수 있는 기능을 제공할 것이라 확신하기 때문입니다.

거시적인 관점에서 저의 개발 모토는 동료에게 신뢰받는 Best Practice를 제시하고, 나아가 동료 개발자들에게도 영감을 줄 수 있는 신뢰 있는 개발자가 되는 것을 목표로 합니다.

이를 위해서 프론트엔드 개발자로서 깊이 있는 지식을 통해 전문성을 키워나갈 것이며, 앞으로도 많은 시도와 고민을 통해 성장할 것입니다.

✓ 목표 2 : 선한 영향력을 펼칠 수 있는 개발자

프로그래밍 능력이 필수적인 기술로 자리 잡아가고 있습니다.

많은 사람이 이를 통해 새로운 기회를 발견하고, 개발자의 꿈을 키우고 있지만, 모두가 동등한 교육 기회를 가지는 것은 아닐 것이라 생각합니다. 이러한 불균형을 해소하고, 배울 기회가 제한된 사람들에게 제 지식을 공유함으로써 도움을 주고 싶습니다.

저 또한 프로그래밍 지식이 없는 상황에서 혼자 공부를 하며 많은 어려움을 겪었고 누군가의 도움이 절실할 때가 많았습니다. 대학교 멘토링을 진행하며 저처럼 어려움을 겪는 사람들이 많다는 것도 느꼈기에 혼자 공부하는 것에 대한 어려움을 잘 알고 있습니다.

당연히 타인에게 공유하는 지식은 신뢰할 수 있는 지식이어야 됩니다. 때문에 경각심을 가지고 잘못된 정보를 전달하지 않기 위해서 끊임없이 전문성을 키우고, 개발자로서의 역량을 키우기 위해 끊임없이 노력할 것입니다.

신뢰할 수 있는 개발자가 되어 공유한 지식이 다른 누군가에게는 기회가 되고, 그들 또한 다른 누군가에게 도움을 주는 환경을 만들 수 있는 선한 영향력을 펼치는 개발자가 되고 싶습니다.

포트폴리오

URL

link

E-commerce Platform 프로젝트 포트폴리오

깃허브
link

github

깃허브
link

개발 블로그 2

URL 링크
link

개발 블로그 1

티스토리

교육

소속/기관명

고려사이버대학교

종류 | 전공

대학교(학사) | 빅데이터

재학 기간 | 재학 상태

2021.03. ~ 현재 | 재학 중

대외활동

활동명

CUK 2023 하반기 멘토링 - 멘토

소속/기관명

고려사이버대학교

연도

내용
  • 대학교 신입생 및 편입생을 대상으로 한 멘토링 프로그램의 멘토로 참여
  • 학업 성취도 향상과 대학 생활을 위한 조언, CS 지식 공유
  • 많은 대화와 경청을 통해 멘티들의 필요와 우려사항을 이해하고, 개인별 맞춤형 조언을 제공
  • 멘티의 Next.js 애플리케이션 리팩토링 진행

멘토링 CS 지식 공유 자료

댓글