채용공고 올리기

김유섭님을 응원해보세요!

INFCON 참여
지금 만족하고 있어요
성실함
목표 지향적
꼼꼼함
커뮤니케이션
신뢰

미리보기

기본 정보

이름
김유섭
직업
백엔드 개발자
간단 소개

클린 코드와 아키텍처를 지향하며, 협업을 즐기는 개발자입니다. 테스트 코드 작성을 통한 안정적인 개발을 진행합니다.

기술 스택

기술 스택

Java, Spring, Spring Boot, MySQL, JPA, spring-jpa, Spring Security, 정보처리기사, SQLD, Docker, JWT, oauth2

프로젝트

프로젝트명

Dev Planner - 개발 취준생을 위한 취준 일정 관리 사이트

소속/기관명

기타(팀)

프로젝트 기간

2024.05. ~ 진행 중

프로젝트 내용

개요

취업 준비를 하며 필요하다고 생각한 일정 관리 기능을 추가해 직접 사용할 수 있는 개발자 취준 일정 관리 프로젝트

인원

4명(BE 2 / FE 2)

역할

BE 개발

구현 사항

  • 테스트 코드 작성을 통한 TDD 개발

  • 외부 API를 활용한 데이터 가져오기 및 저장

  • JPA를 활용한 단방향 연관 관계 작성

  • 헥사고날 아키텍처를 적용한 모듈화 및 단위 테스트 진행

학습 내용

  • 헥사고날 아키텍처를 통한 클린 코드 작성 경험

  • Test Code 작성 경험

  • Google Java Formatter을 활용한 백엔드 코드 컨벤션 경험

프로젝트명

인사이트 - 웹 분석 대시보드

소속/기관명

멀티캠퍼스

프로젝트 기간

2023.10. ~ 2023.11.

프로젝트 내용

개요

구글 애널리틱스(GA)보다 간편하고 시각적으로 개선된, 실시간 웹사이트 분석 서비스를 제공

인원

6명(BE 4 / FE 2)

역할

FE 리드

구현 사항

  • 카카오 소셜 로그인 BE - FE 구현

  • React Chart 라이브러리를 활용한 데이터 가시화

  • setInterval을 통한 데이터 폴링 진행

  • 사용자 친화적 UX/UI 고려 및 가시성 개선

학습 내용

  • 풀스택을 지향하는 개발자로서, FE를 경험하며 BE - FE 사이의 통신이 원활하게 이루어지는 방법을 고려

  • OAuth2.0 학습 및 외부 API 활용 기반 소셜 로그인 방식 학습

  • React의 다양한 라이브러리를 활용

  • TypeScript와 ESlint 등을 적용해 FE에서 어떻게 코드 컨벤션을 하는지 경험함

프로젝트명

단추 - 뉴스 데이터 기반 단어 추측 게임 사이트

소속/기관명

멀티캠퍼스

프로젝트 기간

2023.08. ~ 2023.10.

프로젝트 내용

개요

위키피디아 + 15개년 뉴스 데이터 등 20GB 이상 데이터를 통한 단어 유사도 분석 모델 제작

단어 유사도 분석을 통한 최신 뉴스에 빈 단어를 추측하는 웹 게임 사이트

인원

6명(BE 6 -> FE 6)

역할

BE 개발, 단어 분석 모델 제작

구현 사항

  • Hadoop MapReduce를 통한 워드 카운팅 및 MongoDB저장

  • Python Mecab 라이브러리를 활용한 뉴스 단어 명사 추출

  • 뉴스 데이터 관련 백엔드 제작

학습 내용

  • Python의 다양한 언어 분석 라이브러리를 비교해 볼 수 있었음(Mecab, KoNLPy, 바른)

  • Python Ray를 활용한 병렬 처리 진행

  • Hadoop생태계 구성을 학습

  • 분산 처리와 병렬 처리에 대한 학습

  • 일 사용자 165명을 달성하여 프로젝트 사용성을 검증하는 기회

프로젝트명

심다 - 위치 기반 SNS

소속/기관명

멀티캠퍼스

프로젝트 기간

2023.06. ~ 2023.08.

프로젝트 내용

개요

위치기반 감정 공유 SNS. 자신이 글 쓴 위치에서 해당 감정 색의 꽃(게시글)이 생기고, 이를 주변 사람과 공유하는 SNS

인원

6명(BE 4 / FE 2)

역할

팀장, BE 개발

구현 사항

  • Flutter를 활용한 모바일 프론트 일부 제작

  • Spring Boot를 활용한 백엔드 개발

  • 카카오 소셜 로그인 BE 구현

학습 내용

  • Spring Boot에 대한 기초 학습을 통해 웹 및 모바일 백엔드 구축 연습

  • JPA에 대한 학습 및 적용을 진행하며 영속성 관리에 대한 학습 진행

  • 웹, 모바일 애플리케이션 개발에 대한 이해

  • 테스트 코드의 필요성을 느끼고 학습 진행

포트폴리오

URL

link

Git

깃허브
link

Blog

티스토리
link

Portfolio

노션

교육

소속/기관명

삼성 청년 SW 아카데미

종류 | 전공

사설 교육 | 9기 Java 트랙(1,600 시간)

재학 기간 | 재학 상태

2023.01. ~ 2023.12. | 졸업

소속/기관명

강원대학교

종류 | 전공

대학교(학사) | 철학과/경영학과(복수전공)

재학 기간 | 재학 상태

2013.03. ~ 2023.02. | 졸업

소속/기관명

춘천고등학교

종류 | 전공

고등학교 | 인문계

재학 기간 | 재학 상태

2010.03. ~ 2013.02. | 졸업

자격증

자격증명

SQLD

점수 | 발급기관

없음 | 한국데이터산업진흥원

취득연월

2024.06.

자격증명

정보처리기사

점수 | 발급기관

없음 | 한국산업인력공단

취득연월

2023.09.

자기소개

자기소개

개발자의 길을 걷다

어린 시절 컴퓨터를 활용해 만드는 것을 좋아했습니다. 나모 웹에디터, 알피지 만들기 툴 등을 활용해 작은 웹 게임 사이트나 2d 게임을 만드는 연습을 했습니다. 고등학교 입학 시험을 위해 학업에 집중하며, 윤리와 철학에 흥미가 생겨 철학과로 진학하였습니다. 1학년을 마치고 입대를 한 뒤 통신 병과에 종사하였습니다. 부대 사람들이 좋아 전문하사를 선택하며 군인의 길로 갈지 고민을 하였습니다.

하사를 하며 통신 업무에 종사하다 엑셀을 활용해 부대 장비를 관리하기 시작했고, 편리해진 관리 덕분에 장비 검열을 우수하게 마무리했습니다. 이 당시 제가 만든 엑셀을 후임자들도 계속 사용하였고, 프로그램처럼 만들었다면 사용자에게 더 편리하지 않을까? 라는 생각을 하며 프로그래밍에 다시 관심을 갖게 되었습니다. 국방 일보에서 앱 제작으로 장관 상을 받은 사람의 기사를 보았고, 저도 도전하고 싶다는 생각을 했습니다.

군에서 장병을 위한 교학 협력 코딩 교육에 참여하였고, 블록 코딩을 통해 처음으로 간단한 계산기와 같은 작동하는 프로그램을 제작하며 흥미를 느꼈습니다. 이후 전역과 함께 개발자의 길을 선택하였습니다.

전공 공부를 하며 SW 학과를 복수 전공으로 선택하기 위해 관련 전공을 수강했습니다. 전공 수강을 하며 리눅스 과목 교수님과 진로에 대한 이야기를 나눌 기회가 생겼습니다. 상담 결과 프로그래밍과 컴퓨터 관련 내용은 관심 분야이기 때문에 독학을 해도 될 것 같다고 결론을 내렸고, 현실 세계의 도메인적 지식을 키우기 위해 경영학을 복수 전공으로 선택하여 MIS와 같은 융합형 수업도 수강하였습니다.

동시에 학교에서 진행한 코딩 부트캠프에 참여하였고, 심화반에서 우수팀에 선정되어 상장을 받기도 했습니다. 학교 졸업과 함께 <삼성 청년 소프트웨어 아카데미>에 입과하게 되었고 비전공 Java반에서 교육받으며 웹 지식과 Java, DB와 같은 지식을 키워나갔습니다.

새로운 도전이라 걱정도 많이 되었지만 공부를 진행하며 즐거웠고, 많은 사람들에게 제가 기여한 서비스를 제공하고 싶어졌습니다. 지속적인 자기 계발을 통해 성장해 나가는 개발자가 되고 싶습니다.

관심있는 개발 분야

Java와 Spring Boot를 활용한 백엔드 개발에 관심이 있습니다. 또한 효율적인 DB 설계에 관심이 있습니다. Spring Boot 환경에서 DB 개발을 위해 ORM 기술 중 JPA를 학습하였고, Querydsl을 통해 쿼리 개선을 학습 및 적용하고 있습니다.

프론트에서는 TypeScript와 React를 경험하며, 백엔드 - 프론트엔드 axios 통신 및 효율적 전송을 고민하고 있습니다.

풀스택을 지향하며 다양하고 새로운 기술을 학습하고 적용하는 것에도 열려있습니다.

API를 활용한 통신 방식에 관심이 있고, 자연스럽게 API 보안도 관심을 갖고 학습하고 있습니다. API 취약점을 분석하여 보안 측면을 향상하고자 합니다.

프로젝트 리뷰

세 번의 프로젝트를 완료하였고, 현재 하나의 프로젝트를 진행중에 있습니다.

프로젝트를 통해 다양한 기술을 학습하고 적용하는 능력을 키웠습니다.

프로젝트에서 협업 부분과 기술 공유 부분을 인정받아 2번은 우수 팀원으로 선정된 경험이 있습니다. 좋은 팀원으로 선정되기에 부족하다고 생각하며, 더 많은 기여와 도움을 주고자 노력했습니다.

처음 프로젝트는 모바일 프로젝트였는데, 웹, 모바일 애플리케이션의 전체적인 흐름을 이해했습니다. 또한 모바일 프론트를 구현하며 웹과 유사한 흐름으로 움직이지만, 사용자 관점에서 더 많은 고려를 해야 한다는 점을 알았습니다.

당시 백엔드 개발이 처음이어서 직접 쿼리문을 작성하며 불편함을 느꼈습니다. 불편함으로인해 JPA 기술을 학습해나갔고, Querydsl을 통해 쿼리문을 더 효율적으로 개선하는 방법을 학습하였습니다. 이를 통해 N+1 문제가 무엇인지, 어떻게 효율적인 쿼리를 작성하는지도 배웠고, 현재 프로젝트에서 적용하고 있습니다.

빅데이터 분산 프로젝트도 진행한 경험이 있습니다. 당시 Hadoop을 통해 분산 시스템을 구성하려고 했습니다. 하지만 프로젝트에 시간적 제약이 있었고, Hadoop과 Spark를 연결하고, Zookeeper로 관리하는 등의 환경 구성 등을 학습했지만 적용까지는 진행하지 못해 아쉬운 점이 남았습니다.

Map Reduce를 통한 워드 카운팅을 진행하였으며, 로컬 윈도우 환경에서도 Hadoop을 사용하도록 구성한 경험이 있습니다. 기회가 된다면, Hadoop 환경을 제대로 구성해보고 싶습니다.

프론트 리더로 프로젝트를 한 경험이 있습니다. 풀스택을 희망하였고, 프론트 프로젝트를 통해 컴포넌트는 어떻게 구성하는지, 프론트에서는 어떻게 백엔드와 통신을 하는지, 프론트 입장에서 어떻게 데이터를 주고 받아야 편리한지를 고민하는 좋은 경험이 되었습니다.

백엔드를 MSA 환경으로 구축하였고 Influx DB 라는 시계열 데이터 베이스도 사용한 프로젝트였기에, 백엔드를 맡았다면 한 층 더 성장할 수 있었지 않을까라는 아쉬움이 남았습니다. 그러나 프론트를 직접 경험하는 것도 꼭 필요했다고 생각하며, 완성된 팀원의 코드를 보고, 궁금한 점은 질문하며 학습하였습니다.

여러 경험을 통해 개발의 흐름과 협업을 체득했습니다. 현재는 프로젝트에서 아쉬운 점을 토대로 새로운 프로젝트를 진행하고 있습니다. 효율성과 사용성에 집중하며 프로젝트를 진행해 나가고 있습니다.

나의 장단점

저의 장점은 협업과 도전입니다.

새로운 환경에도 쉽게 적응하며, 해당 환경에서 좋은 결과를 낼 수 있습니다.

군 시절 통신 간부 교육 기관에서 70명 중 기수 2등을 한 경험이 있습니다. '정통해야 따른다'라는 마인드를 가지고 배운 내용을 최대한 이해하고 적용하려 노력한 결과였습니다. 성적만 우수한 것이 아닌, 기수 사람들과 모두 친밀하게 지내면서 동료 평가 또한 우수하게 받은 결과입니다.

복학 이후에는 학업에 전념하며 4.23 / 4.5 라는 성적으로 인문대 학장상을 받았습니다. 당시 컴퓨터 전공 과목도 일부 들었으며 모든 수업에서 A0 이상의 결과를 냈습니다. 학생회와 병행하며 저보다 어린 친구들과 많은 행사를 진행했습니다. 군대에서 소대원들을 관리하며 익힌 상담, 이해 등의 능력을 활용하기도 하였고, 어른들과 일하며 배운 계획 수립, 추진, 업무 분배, 리더십도 많은 도움이 되었습니다.

개발자의 길을 선택하면서 <삼성 청년 소프트웨어 아카데미>에 입과하여 기본 능력을 인정받았고, 정보처리기사 자격증 취득을 통해 개발 지식을 계속해서 쌓으려 노력하고 있습니다. sqld 시험에도 응시하여 결과를 기다리고 있으며 이러한 다양한 도전을 통해 능력을 증명해 나가고 있습니다. 또한 여러 프로젝트를 통해, 일정 관리, 코드 공유 및 리뷰, git, jira와 같은 협업 툴 사용을 통해 협업 능력도 향상했고, 이를 인정받아 우수 팀원에도 2회 선정되었습니다.

이처럼 저는 도전을 통해 결과를 창출할 수 있는 사람이며, 단순히 결과만을 보며 나가는 것이 아닌 주변 사람들과의 관계를 더욱 중시하여 협업하는 사람입니다.

단점은 경쟁에 약하다는 점입니다. 경쟁 상황에서는 잘하고 싶다는 생각에 긴장을 더 하게 되고, 다른 사람들과 비교하면서 스스로 부족하다고 느껴 약간 자신감을 잃는 경우가 있습니다. 계속해서 공부해 나가는 것도 다른 사람들은 다 아는데, 나는 제대로 아는 게 맞나? 라는 생각도 있습니다.

이를 극복하기 위해 마음에 여유를 두려 노력하고 있습니다. 또한 모든 것을 다 배우고 알 수는 없기에 할 수 있는 것, 필요한 것에 집중하고자 내가 할 일 목록을 계속해서 작성하고 계획합니다. 경쟁이란 승부라는 생각을 버리고 스스로를 검증하고 어느 정도인지 파악하는 척도로 사용하며 나를 성장시키는 동력으로 여기려 노력합니다.

내가 생각하는 개발자란?

제가 생각하는 개발자는 현실의 문제 해결에 도움을 주는 존재라 생각합니다. 처음 개발에 대한 관심을 가진 것이 장비 관리를 편하게 하고 싶다는 생각 때문이었습니다. 그리고 문제를 해결하는 과정에서 어떻게 더 적은 자원으로 효율적인 방법을 제공할 수 있을까?를 고민하는 직업이라 생각합니다. 그래서 계속해서 새로운 기술을 배우고 적용하는 유연함이 필요하다고 생각합니다. 단순히 어떻게든 돌아가는 프로그램을 하나 만드는 것이 아닌, 계속해서 고민하고 더 나은 방법을 찾아내는 능력이 필요하다고 생각합니다.

이런 생각으로 항상 부족한 부분에 대해 공부하고, 알고리즘 공부를 통해 자료 구조와 효율적인 방법을 찾으려는 노력을 하고 있습니다. 최근에는 API와 취약점에 대해 관심을 가지고 있으며, 운영체제와 네트워크 부분도 다시 학습하며 전반적인 컴퓨터 사고를 높이는 중입니다.

또한 개발자는 학습을 넘어 이를 실제로 적용하고, 동료들과 의사 소통을 통해 의견을 나누며 더 좋은 방향으로 나아가는 사람들 입니다. 철학적 개념 중 변증법적 정반합을 통해 다양한 발전을 이루어 나가고 있습니다.

어떻게 트래픽을 줄이고 좋은 서비스를 제공할 수 있을지, 더 효율적인 코드는 무엇일지, 어떻게 일상의 문제를 해결할 수 있을지 다양한 고민을 하고 이를 이루어 내는 사람들이 개발자라 생각합니다.

댓글