
간단한 자기소개해주세요
- 99년생 - 합덕 제철 마이스터고등학교 로봇전기자동학과 졸업
- 개발은 수많은 도구 중 하나이지만 강력한 도구이다 라는 마인드의 프론트엔드 개발자 김한울입니다 🙂
- 필요한게 있다면 배워가면서라도 구현하려 노력하며, 성장과 미래와 목표가 저에게 제일 중요합니다.
- kakao : https://open.kakao.com/o/sMwRjCgh
WEB / APP 포트폴리오
현 상태 : 구직중 🙂
어떤 일을 해봤나요?
- 최근에 react / redux / emotion / MUI / firebase / nodeJS / express 등의 기술스택을 활용하여 플랫폼 서비스 모바일 앱 ( Restin )출시해본 경험이 있습니다.
- 현재 CS / nextJS / nestJS / reactNative 등을 공부하고 있습니다. 기초부터 탄탄한 인재가 되려 합니다.
저희 회사에서 어떤 업무를 맡을 수 있나요?
- 프론트엔드 개발자 ( 지원중인 포지션 )
- 현재 시점에서 숙련도가 제일 높으며, react, redux, mui, styled-components, emotion, yarn, vite등을 활용하여 서비스를 구축 가능합니다.
백엔드
nodeJS, express, fastAPI, SQL, NoSQL 등을 활용하여 서버를 구축할 수 있습니다.
알고리즘, 자료구조는 8년전 공부한 부분을 복습중이며 최근 네트워크 공부를 함께 하고있습니다.
어떤 사람인가요?
- 저는 똑똑하고 많은걸 경험해본 사람이라고 하기엔 민망한 수준이지만, 살면서 몇가지 배운것은 있습니다. 혼자서는 한계가 명확하다는것을요. 그렇기에 팀원들과의 협업과정이 얼마나 중요하며 필요한지, 서비스의 본질이 어디를 꿰뚫고 있는지, 시간이 조금 걸리더라도 고객에게 어떤 기업 이미지를 쌓아가는지 등의 필요성을 조금이나마 깨달았습니다.
- 그렇기에 개발을 배웠습니다. 서비스의 초기 단계에서 개발을 할 줄 아는가/개발지식이 있는가는 아이디어 한개를 제대로 테스트해보는것에 있어 아주 많은 비용을 절감시켜 줄 것이라 생각했습니다. 제 생각을 토대로 아는것을 최대한 잘 활용하려 했고, 모르는것은 바로바로 배워가면서 서비스를 개발하였습니다.
- 그러나 독학의 한계는 분명했고, 현업자들은 분명 아키텍처 구조부터, 레이아웃, 컴포넌트 등을 조금 더 효율적으로, 구조적이며 체계적으로 설계 가능할것이라 생각했던 부분이 많았습니다(그만큼 코드 한 줄을 짜더라도, 다른곳에도 쓰여야 하는지, 타 개발자가 본다면 쉽게 구조를 이해가능할것인지, 집을 지어가듯 구조적으로 짜임새가 있는지 고민하며 작성했습니다. 그로 인해 소스코드를 자주 갈아엎는 편이긴 합니다. )
자기소개서
- 취미로 C, Python 등을 개발해오다가, react를 공부하던 도중, 우연한 기회로 웹 개발 기회를 얻어 본격적으로 개발자로 전향하게 된 신입 개발자 김한울입니다.
- 최근 마무리된 Restin 프로젝트를 진행하며 정말 많은 부족함을 느꼈습니다. 프로젝트가 점점 규모가 커지며 정말 많은 문제가 발생했습니다. 클라/서버/앱 별로 각각 3가지 정도 생각해보았습니다.
- [Client]
- 재사용될것이라 생각하고 최대한 모듈화 해서 제작한 컴포넌트가, 결국 새로운 컴포넌트 등을 만드는 등, 기본 베이스를 잘 설계하지않고 주먹구구식 개발의 한계를 느꼈습니다.
- 페이지와 컴포넌트가 계속 많아지며 라우팅과 폴더 트리가 너무 복잡해졌습니다. 실무에서 많이 사용되는 라우팅 방식 및 폴더 방식등을 참고하며 최대한 현업방식을 참고하여 구조화했습니다.
- 전반적으로 테마, 에러핸들링, 레이아웃 구조+계층별 기능 설계, api 및 custom hook 등 다양한 분야에서 주먹구구식이 아닌, 잘 설계된 아키텍쳐의 필요성을 간절하게 느꼈습니다.
- [Server]
- express로 유저의 각 입력마다 필요한 서버기능들을 비체계적으로 직접 일일이 만들며, 이건 잘못됬다 라고 생각했습니다. 마찬가지로 실무 레퍼런스들을 찾아보며 app > routes > controllers > utils, models, CRUD(DB) 등의 방식으로 최대한 구조화하며 작성하였습니다
- 많이 복잡했습니다. 대용량 트래픽들을 처리하기 위한 각종 클라우드와 기술들이 정말 많았고, 기반 cs 지식들을 필요로 했으며, 기본적인 server, sql, crud, redis 등의 기술외에도 정말 무궁무진하며 복잡도가 궤를 달리했습니다. restin에서는 마감일이 있어 진행하지 못했지만 JSP와 AWS, CS 지식등을 깊이 공부해보고 싶어졌습니다.
- 예측 불가능한 보안 이슈가 너무 많아 불안했습니다. 로그인/회원가입/자동로그인 등을 구현하며, 수많은 패킷조작방식과 접속 루트 등이 떠올랐으나 일정이 바빠 못본체 해야만 했습니다. 기회가 된다면 발생할 수 있는 대표적인 케이스들을 학습하며 실제로 어떤 구조로 방지하는지 등을 대부분의 케이스에 대해 구현해보고 싶습니다.
- 저는 시키는 일을 최대한 열심히 하고 컨트롤이 쉬운 사람이지만, 시키는 일만 하는 사람은 아닙니다. 개발자의 관점에서만 생각할때 리소스와 복잡도 등의 문제로 많은 거절상황이 발생하지만, 그럼에도 불구하고 기업, 고객, PM, 기획, 디자인, 마케팅 입장에서 그럼에도 불구하고 왜? 를 따지며, 제가 야근할지언정 특히 고객을 우선해야 한다는 가치관입니다.
- 이로인해 restin에서 저는 기본적으로 개발자였지만, 기획, 일정관리, 사업기획, UX, 고객 편의성 등 정말 다양하게 커뮤니케이션하며 의견제시하되, 서로의 영역을 존중하며 진행했습니다.