채용공고 올리기

서형동님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
서형동
직업
웹 백엔드 개발자
간단 소개

리더들에게는 항상 최고의 조력자들이 있었습니다. 국민 MC이자 무한도전의 1인자였던, 유재석님에게는 박명수님과 같은 최고의 조력자가 있었고, 반지의 제왕에서 반지 운반자 프로도에게는 반지의 유혹에도 굴하지 않고 마지막까지 함께 운명의 산에서 절대 반지를 파괴할 수 있도록 옆에서 함께한 샘 와이즈 겜지라는 조력자가 있었습니다. 박명수님과 샘과 같이 저는 제가 속한 팀이 최고가 될 수 있도록 올바른 길을 제시하고, 노력하는 개발자 서형동입니다.

기술 스택

기술 스택

Java, Spring, Spring Boot, C++, Git, spring-jpa, MySQL, MariaDB, AWS, Docker

경력

회사명

테크밸리(주)

직급 | 부서 | 근무 유형

주임연구원 | 소프트웨어팀

근무 기간

2019.03. ~ 2022.06. (3년 4개월)

담당 업무

Xray 검사를 위한 검사장비 데이터 및 파라미터 설정 툴 개발/유지/보수
AI 학습을 위한 데이터 관리 및 학습

TeachingEditor

  • 검사할 PCB 부품들의 위치를 나타내는 데이터와 이미지를 읽어 GUI를 통해 위치를 GUI를 통해 쉽게 설정 할 수 있도록 하는 툴
  • 이전에는 위치 설정시 장비가 있어야 하고, 설정 작업 시간이 1시간 이상 걸리던 시간을 20분이하로 단축시키고, 유럽 시장으로의 진출하는 성과

LUT

  • PCB 부품을 검사할 때, 명암 대비를 변환하여 주는 툴
  • 영상에서 특정 부분의 명암 대비를 주어 해당 부분만을 더 확실하게 작업자가 볼 수 있고, 뒤의 알고리즘 부분에서 해당 명암 대비를 통해 검사를 진행 하도록 함

Navigator

  • 연속된 패턴이 존재하는 Xray 영상으로는 현재 촬영 위치가 어디인지 파악히기 힘들어 현재 위치가 어디인지 알려주기 위한 툴
  • 작업자가 현재위치를 파악하기 힘들어 같은 위치를 계속해서 검사를 하여 생기던 오검사를 줄이는 성과

프로젝트

프로젝트명

RunDry (무인 세탁소 예약 서비스)

소속/기관명

제로베이스 부트 캠프

프로젝트 기간

2022.08. ~ 2023.09.

프로젝트 내용

무인 세탁소를 많이 이용해본 사용자라면 특히, 사람들이 인기가 많거나, 구비된 기기들이 적은 무인 세탁소를 이용해본 사람이라면 엄청 오랜시간을 대기하거나, 그날 세탁을 포기하고 집으로 돌아간 적이 있을 것입니다. 만약 각 기기들을 시간 별로 예약을 할 수 있는 웹 서비스가 있다면 해결할 수 있을 것 같아 프로젝트를 진행하게 되었습니다.

  • Github

    GitHub - GaJaMy/RundryService

  • 기술 스택

    • Java
    • Mysql
    • SpringBoot
    • Thymeleaf
    • JPA
  • 주요 기능

    • 관리자 기능
      • 최초 관리자는 DB 에 항상 저장
      • 관리자 등록
      • 세탁기 및 건조기 등록/삭제, 예약 상태 관리
    • 이용자 기능
      • 이용자 회원 가입 및 탈퇴
      • 세탁기 및 건조기 예약
프로젝트명

핑거 오더(모바일 키오스크)

소속/기관명

제로베이스 부트 캠프

프로젝트 기간

2022.09. ~ 2022.12.

프로젝트 내용

키오스크의 평균 설치 비용은 150만원 가량으로 적지 않은 금액이다. 이는 작은 식당이나, 개인이 운영하는 음식점에서는 부담하기 힘든 금액이다. 또한 가게마다 사용법이 다른 키오스크로 인해 불편함을 느끼는 경우가 많고 설치 수가 적은 매장의 경우 손님이 많으면 줄을 서서 기다리는 경우가 생기고, 뒷 사람의 눈치를 보며 주문을 여유롭게 할 수 없다.
위와 같은 불편한 점이 있어 QR 코드를 이용한 모바일 키오스크 기능을 구현해 개인의 스마트 폰으로 주문을 할 수 있으면 좋을 것 같다는 생각이 들어 프로젝트를 진행하게 되었다.

  • Github

    GitHub - welcome5group/backend

  • 담당 업무

    • 회원 관련 API 개발
      • 회원 가입 / 회원 탈퇴
      • JWT와 Oauth를 이용한 로그인 / 로그아웃 처리
        • 일반 로그인/로그아웃
        • 카카오 로그인
      • 회원 정보 CRUD
    • AWS 서버 구축
      • EC2 인스턴스 생성 및 관리
      • RDS 생성 및 EC2 연동
      • EC2에 도메인 설정
    • GitActions와 AWS CodeDeploy를 활용한 자동 배포 파이프라인 구축
  • 기술 스택

    • Java
    • SpringBoot
    • SrpringSecurity
    • JPA
    • Querydsl
    • Mysql
    • Redis
  • Production

    • AWS
    • Github Action
프로젝트명

Fitingle(Fit + Mingle 모여서 하는 운동)

소속/기관명

사이드 프로젝트 소모임

프로젝트 기간

2023.09. ~ 진행 중

프로젝트 내용
  • 프로젝트 소개
    • 운동을 같이 하는 사람들을 이어주는 커뮤니티
    • 혼자 운동하기보다 같이 운동하는 사람들을 모일 수 있도록 해주는 서비스
  • Github

GitHub - strawberry-farm/strawberryFarm-BE: fitingle proj

  • 담당 업무

    • API 명세서 작성
    • 기능 명세서 작성
    • AWS 웹 서버 구축
      • EC2 인스턴스 생성 및 관리
      • RDS 생성 및 EC2 연동
      • EC2에 도메인 설정
      • AWS 로드 밸런서를 통한 포트 포워딩과 HTTPS 설정
    • GithubActions와 AWS, Docker를 통한 CI/CD 파이프라인 구축
    • 회원 관련 기능
      • 로그인 / 로그아웃 - Spring Security와 JWT, 쿠키를 이용한 인증과 인가 처리
      • 회원 CRUD
      • 키워드 CRUD
      • 관심지역 CRUD
    • 채팅 기능
      • RabbitMQ 연동
      • STOMP 적용
      • 이전 채팅 내용 불러오기
      • 멀티 채팅방
  • 기술 스택

    • Java
    • SpringBoot
    • SrpringSecurity
    • JPA
    • Mysql
    • Redis
    • STOMP
  • Production

    • AWS
    • Github Action
    • Docker
    • RabbitMQ

포트폴리오

URL

link

포트폴리오

노션

교육

소속/기관명

서령고등학교

종류 | 전공

고등학교 | 이공계

재학 기간 | 재학 상태

2009.03. ~ 2012.02. | 졸업

소속/기관명

고려대학교

종류 | 전공

대학교(학사) | 컴퓨터 정보학과

재학 기간 | 재학 상태

2012.03. ~ 2019.02. | 졸업

자기소개

자기소개

“웹 백엔드 개발자가 되기로 한 이유”

Windows 어플리케이션 개발자로서 저는 웹에 대해서 전혀 모르고 있었습니다. 그냥 “내가 매일 검색을 하고, 정보를 찾아내는 인터넷”이라고만 생각을 했습니다. 그러던 중 저의 절친한 친구가 웹 프론트 개발자로 일을 하게 되었다는 말을 듣게 되었습니다. 웹에 대해서 전혀 지식이 없던 저는 “웹이 뭐야?”라고 질문을 했고, 친구는 웹에 대해서 구체적으로 설명해 주기 시작하였습니다. 웹의 정의에서부터 클라이언트와 서버의 구조, HTTP, RestFul등등 많은 이야기를 듣게 되었습니다. 웹에 대한 이야기는 너무나 매력적이었습니다. 제가 너무나 꿈꿔왔던, 통신을 통해 데이터를 주고 받는 서버 클라이언트의 구조를 가지면서, 이루어지는 서비스는 큰 충격이기도 했습니다. 이렇게 웹에 사로잡힌 저는 웹 개발자가 되기로 마음 먹었습니다. 그런데 웹의 세계는 크게 두 부분으로 나뉜다는 것을 알게 되었습니다. 프론트 엔드와 백엔드가 그것이었습니다. 일단은 두가지 모두 경험해보자는 마음에 혼자서 공부를 하던 끝에 클라이언트의 요청에 의해 데이터를 알맞게 가공하고, 응답을 통해 서비스를 제공해주는 백엔드의 길을 가기로 결정 하였습니다.

“빛이 나는 나의 강점”

저의 강점으로 두가지를 말씀 드리고 싶습니다.

첫번째는, 문제 해결 능력입니다.
문제 해결 능력은 백엔드 개발자로써 필수적인 능력이라고 생각합니다. 저희가 제공하는 서비스에서 발생하는 이슈 또는 문제들을 파악하고 이를 해결하는 것은 곧 좋은 웹 서비스의 제공을 의미하는 것이기 때문입니다. 저는 3년 3개월동안 Windows 개발을 하면서 문제를 파악하는 능력과 해결하는 방법을 실무에서 익혀왔고, 사이드 프로젝트를 통하여 웹 서비스시에 발생하는 이슈 사항들을 해결함으로써 문제 해결 능력을 지속적으로 키워왔습니다.

두번째는, 새로운 것을 배움에 있어 두려움이 없다는 것입니다.
지속적으로 발전하는 프로그램의 세계에서, 더욱이 엄청난 속도로 변화를 거듭하고 있는 웹의 세계에서는 이 능력은 더욱이 중요하다고 생각합니다. 이전 회사에서 MFC 프레임 워크로는 UI를 더 편리하게 구성할 수 없었기에 저는 C#을 공부하여 도입했던 경험이 있습니다. 또한 WIndows에서 웹으로 전향을 하는 저 자체로서 새로운 것을 배움에 있어 두려움이 없다는 것을 증명하는 것이라고 생각합니다.

“되고야 말겠어 백엔드 개발자”

사이드 프로젝트 소모임 참여

어떤 개발이든 마찬가지겠지만 웹 백엔드 개발이라는 분야에서는 협업은 빼놓을 수 없는 중요한 것이라고 생각합니다. 협업은 말 그대로 같이 일을 하는 것이기 때문에, 혼자서는 절대 불가능한 영역입니다. 그래서 저는 사이드 프로젝트 소모임에 참여하여 백엔드 개발팀으로 참여하고 있습니다. 저희 소모임은 프로젝트의 실제 배포와 서비스를 목표로하고 있습니다. 소모임은 최대한 실무 환경에 맞는 경험을 위해 기획팀, 프론트엔드 팀, 백엔드 팀으로 나누어 서로의 업무를 나누고 각자의 업무를 소화 하고 있고, 실제로 많이 사용하는 프로젝트 관리 툴을 사용하여 각자의 업무 진행도를 체크하고 있습니다. 또한, 적어도 1주일의 한번씩은 온라인을 통해서 전체 미팅을 가지고 있으며, 각 팀별로는 일주일에 한번 이상 미팅을 가지고 있습니다.

챌린지 참여

웹 백엔드 개발을 할 때에는 기본적으로 사용하는 Java와 프레임워크 말고도 더욱 효율적으로 개발을 하기 위해 사용되는 툴들이 많이 있습니다. 그 예중에 하나가 Docker나 GitHub 같은 것들입니다. 이런 툴들에 대한 사용법은 많이 나와 있지만, 일반적으로는 경험해 보거나 사용해 보기가 어렵습니다. 또한 구글링을 통해서 사용법만 아는 것과 왜 이런 툴들이 필요하고 **어떤점에서 유용한지 제대로 알고 사용하는 것에는 큰 차이가 있다고 생각합니다. 그래서 Docker에 대해서 공부할 방법을 찾다가 사이드 프로젝트 소모임에서 같이 개발을 진행중인 백엔드 팀원이 이런것을 가지고 강의를 해주고 실제 실습도 경험해 볼 수 있는 챌린지가 열린다는 것을 알려주었고, 저희 팀원 모두가 참여해서 강의를 수료하고 Docker를 저희 프로젝트 환경에 적용해 보기도 하였습니다.

노션 개인 공부 기록

사람은 모든 것을 무한히 기억하지 못합니다. 그래서 저는 제가 공부하고 이해한 것들을 바탕으로 개인적으로 공부한 것들을 노션에 기록을 하고 있습니다. 공부한 것들 이외에도 프로젝트를 진행하거나, 우연히 알게된 지식들을 하나씩 기록을 하고 있습니다. 현재는 해당 내용들을 블로그(https://gajamy.tistory.com/)로 이전하고 있습니다.

“앞으로의 포부”

Where there is a will, there is a way 저의 자기소개서의 첫 문장이기도 하고, 저의 커버 사진이기도 한 문장입니다. 우리나라 말로 하게되면, “하고자 하는 뜻만 있으면 무엇이든 할 수 있다”입니다. 저희 집의 가훈이기도하고 제가 제일 좋아하는 말이기도 합니다. 저는 지금까지는 하고자 하는 것은 모두 이루어 왔습니다. 지금 제가 제일 하고자 하는 것은 웹 백엔드 개발자로의 성공적인 전향과 누구에게나 인정 받을수 있는 최고 수준의 백엔드 개발자가 되는 것입니다. 최고의 백엔드 개발자가 되기에는 아직 너무도 부족한 부분들이 많습니다. 이 부족한 부분들은 모두 파악하고 있습니다. 이 부족한 부분 중 가장 큰 부분은 실제 필드를 경험하면서 채울 수 있는 것들 뿐입니다. 위에서 말씀드린 저의 경험들과 제 능력들을 가지고 제 좌우명 처럼 제가 지금 뜻을 가지고 있는 백엔드 개발자가 되어 최고의 웹 서비스를 만들어 나갈 것입니다.

마지막으로 제가 가지고 있는 스킬 셋들입니다.

C++

  • 기본 문법을 사용할 수 있습니다.
  • MFC 프레임워크의 다이얼로그 기반 어플리케이션을 만들 수 있습니다.
  • STL을 사용하여 더 효율적인 코드를 작성할 수 있습니다.
  • 동적 할당에 대한 이해를 바탕으로 메모리 누수에 대응 할 수 있습니다.
  • 쓰레드에 대해서 이해하고 멀티 쓰레드를 활용한 개발을 할 수 있습니다.

Database

  • RDBMS에 대해서 이해하고 있습니다.
  • SQL 문법에 대해서 이해하고 사용할 수 있습니다.
  • 트랜잭션에 대해서 이해하고 적용할 수 있습니다.
  • Mysql와 redis를 사용해본 경험이 있습니다.

C#

  • 기본 문법을 이해하고 사용할 수 있습니다.
  • Form 기반의 간단한 어플리케이션을 개발 할 수 있습니다.
  • 이벤트에 대해서 이해하고 이를 바탕으로 여러 UI 동작을 처리 할 수 있습니다.

Java

  • 기본 문법을 이해하고 사용할 수 있습니다.
  • SOLID 원칙을 이해하고, 원칙을 위반하지 않고 개발하도록 노력합니다.
  • 여러 유틸 클래스들을 사용해서 더 효율적인 로직을 만들수 있습니다.

Framework 및 라이브러리

  • MFC
  • STL
  • OpenCV
  • VTK
  • GDI+
  • TinyXML
  • Json
  • Spring boot
  • Spring Security
  • JPA
  • Mockito
  • Swagger
  • SMTP
  • JWT

Tools

  • Docker
  • AWS EC2,RDS
  • Git
  • GitActions
  • Jira
  • Confluence
  • RabbitMQ
댓글