채용공고 올리기

강혜광님을 응원해보세요!

지금 만족하고 있어요

미리보기

기본 정보

이름
강혜광
직업
백엔드 개발자
간단 소개

안녕하세요! 몰입이 즐거운 신입 백엔드 개발자, 강혜광입니다. 개발에 도전하기 전 몰입할 수 있는 업무를 찾았고, 관련된 업무 중 개발을 알게 되어 도전하게 되었고 지금은 개발에 푹 빠져있습니다. 꾸준함의 가치를 뒤늦게 알고 1일 1커밋 운동을 수행하기 위해 노력하고 있습니다. 컨벤션에 따라 개발하면서 힘들지만 편리한 컨벤션의 가치를 알게 되었습니다.

기술 스택

기술 스택

Java, Spring Boot, spring-jpa, MySQL, mybatis, Oracle, aws-ec2

경력

회사명

(주)한국엠텍

직급 | 부서 | 근무 유형

주임 | 기술 지원/기술 영업

근무 기간

2019.12. ~ 2023.01. (3년 2개월)

담당 업무

MasterCAM 한국 총판 회사에서 MasterCAM을 방문하여 설치하고, 초기 셋팅 및 유지보수 업무를 담당했습니다.
초기 셋팅에서는 프로그램을 사용자에 맞게 환경설정을 맞추고, CAM으로 작업한 가공 경로를 GCode로 변환할때 필요한 POST 수정 작업을 진행합니다. 이 POST작업이 프로그래밍 언어와 비슷했고 해당 업무를 하면서 몰입한다는 것을 느꼈습니다.
POST작업을 위해 프로그래밍 언어를 공부하다보니 개발에 관심을 갖게 되어 도전을 하게 되었습니다.

회사명

(주)주영ENG

직급 | 부서 | 근무 유형

사원 | CAD/CAM Modeling

근무 기간

2017.12. ~ 2019.04. (1년 5개월)

담당 업무

AutoCAD와 CATIA프로그램을 통한 2D/3D 자동차 금형 설계업무를 했습니다.
주로 금형 모델링의 수정을 담당하거나 나사의 위치에 대한 정보를 기입하는 작업을 했습니다.

프로젝트

프로젝트명

BEONSE

소속/기관명

한국소프트웨어산업협회

프로젝트 기간

2023.10. ~ 2023.11.

프로젝트 내용

https://www.notion.so/BEONSE

2023.10.28 ~ 2023.11.25 (6주)

  • 셀프 세차장 회원카드의 불편함을 해소하기 위한 모바일 쿠폰 시스템
  • GlobalException을 사용한 중복 예외 최소화
  • 마이바티스와 오라클 데이터베이스를 사용한 페이징 쿼리 작성
  • LetsEncrypt를 통한 SSL 적용
  • Git Convention과 Spring Naming Convention 적용
프로젝트명

US Diary

소속/기관명

항해99

프로젝트 기간

2023.03. ~ 2023.04.

프로젝트 내용

https://www.notion.so/USDiary

2023.03.10 ~ 2023.04.21 (7주)

  • SNS 형식의 다이어리 꾸미기 애플리케이션
  • 친구와 함께 다이어리를 공유하고 다이어리를 꾸미는 시스템
  • S3를 사용한 이미지 업로드
  • JPA 연관관계로 애너테이션을 사용하지 않고 다이어리 삭제 시 속지도 같이 삭제되는 로직 직접 작성
  • GET 메서드를 사용한 알람 기능 구현
    • 추후 실시간 알람이 가능한 방법으로 알람기능을 구현해보려 함

포트폴리오

URL

link

강혜광 포트폴리오

노션

교육

소속/기관명

한국소프트웨어산업협회

종류 | 전공

사설 교육 | MSA기반 Full Stack 개발 전문가 양성 과정

재학 기간 | 재학 상태

2023.06. ~ 2023.12. | 졸업

소속/기관명

스파르타코딩클럽

종류 | 전공

사설 교육 | 개발자 부트캠프 항해 99

재학 기간 | 재학 상태

2023.01. ~ 2023.04. | 졸업

자격증

자격증명

SQLD

점수 | 발급기관

한국데이터산업진흥원

취득연월

2023.10.

자격증명

정보처리기사

점수 | 발급기관

필기 | 한국산업인력공단

취득연월

2023.08.

자기소개

자기소개

지원 직무에 관심 갖게 된 계기

"평생 하게 될 일, 할 수 있는 일중 가장 집중하고 즐기며 할 수 있는 일을 하자"

이전 직장에서 프로그래밍 언어와 비슷한 업무를 경험했습니다. “POST 수정”이라고 불리는 업무였고 해당 언어로 작업을 하게 되면 MCT, CNC에 맞는 GCode로 변환하는 프로그램을 만드는 작업이었습니다. 처음에는 조건문으로 작업하는 것도 어려웠고 소스도 부족했기에 실력향상에 속도가 미진했습니다.

1년, 2년 업무를 계속하면서 속도가 붙고 실력도 늘게 되었습니다. 많은 업체에서 비슷한 요구를 하고 주로 사용되는 코드를 만들거나, 기존에 있던 코드의 위치를 업체에서 원하는 위치로 옮겨주는 작업을 많이 했습니다.

해당 업무에 욕심이 생기고 제가 이 업무를 할 때 재미있어한다는 생각을 갖게 되었습니다. 열심히 공부하고 싶었지만 미국의 본사에서 정보를 통제하기도 하고, 사원수도 부족해 공부에도 문제가 생겼습니다. 그로 인해 프로그래밍 언어에 관심을 갖게 되었고, 언어를 공부하면서 개발자라는 직업을 꿈꾸게 되었습니다.


지원 직무 수행 시 필요하다고 생각하는 역량

"기초가 탄탄해야 새로운 기술도 문제없이 받아들일 수 있다"

무엇을 하든 기초가 튼튼해야 한다고 배웠고, 실제로 경험도 했습니다. 언어를 기초로 두고 그 위에 필요한 기술을 얹어서 진행한다고 생각해서 가장 중요한 것은 근간이 되는 언어부터 제대로 알아야 한다고 생각합니다.

언어의 기초를 다지기 위해 자바의 정석을 통해 이론을 학습하고, 프로그래머스와 백준사이트에서 알고리즘 문제 풀이를 진행했습니다. 처음 문제를 풀 때는 제대로 손도 대지 못했지만 계속해서 문제를 풀고 처음 막혔던 입력 부분, 객체 생성 부분에 대해서도 자바의 정석을 공부하고 검색하면서 하나하나 풀어가기 시작했습니다.

그다음에는 디버깅을 해보기 시작했습니다. 처음에는 그저 콘솔에 찍어보는 형식으로 문제 풀이도 프로젝트에서도 디버깅했습니다. 그리고 인텔리제이의 디버깅을 계속 도전해 보고 익숙해지면서 이미지를 받을 때 Controller에서부터 이미지나 데이터가 안 넘어오는지, Service에서 안넘어 오는지 확실히 알게 되고, 콘솔로 디버깅할 때 보다 훨씬 편하고 확실하게 디버깅할 수 있게 되었습니다.


해당 역량을 갖추기 위한 그동안의 노력과 도전, 경험

"과감하게 절실하게"

가장 먼저 프로그래밍 언어를 선택하는 것이 첫 번째 문제였습니다. 너무나도 방대한 프로그래밍 언어 중 어떤 것을 선택해 시작할지 고민하던 중 Java언어에 눈길이 가게 되었습니다. 객체지향을 제대로 공부할 수 있고, 현재 한국에서 가장 많이 사용되는 백엔드 언어라는 점에서 Java언어를 선택하게 되었고, C언어보다는 쉽고, Python보다는 어렵다는 점을 보고 기본적인 프로그래밍에 대해 Java만큼 좋은 언어는 없다고 생각해 Java를 선택하고 시작했습니다.

언어만을 공부하다가 혼자서 공부하기에는 힘들어져서 개발자 부트캠프를 시작하게 되었고, 부트캠프를 통해 Spring과 JPA, DB 등 웹 프로그래밍에 필요한 기초적인 기술들을 배우게 되었습니다. 프로젝트를 진행하면서 SpringDataJPA를 사용한 인터페이스의 메서드에 Optional을 사용한 메서드와 사용하지 않은 메서드의 예외처리 방식이 다른 것을 알게 되었고, orElseThrow를 사용한 예외처리가 가독성에 조금 더 좋다고 판단하기도 했습니다. 또한 프론트와 통신을 하면서 CORS를 겪으며 프론트와의 협업도 필수 경험이라는 것을 알게 되었습니다.

프로젝트를 진행하면서 한 라인에 길게 작성하던 return문을 들여 쓰기를 통해 조금 더 읽기 편한 코드로 바꾸거나, return문 이전에 @Builder를 통한 생성자를 통해 변수의 형태로 만들어 return문의 길이를 줄여보고 해당 방법이 가독성이 더 좋다고 생각하게 되었습니다. US Diary 프로젝트에서는 해당 다이어리를 공유해서 사용하는 멤버인지 확인하는 코드가 중복돼서 들어갈 때 isPrivateMember라는 메서드로 추출해 사용하므로 중복을 제거하고 메서드 네이밍을 통해 읽기 좋은 코드로 바꿔보기도 했습니다.


본인이 지원한 직무 내에서 어떤 역할을 수행할 수 있는가

"커뮤니케이션, 경험의 중요성"
저는 프로젝트를 진행하면서 소통을 잘하는 것이 중요하다는 것을 알게 되었습니다. 이를 위해 저는 프로젝트를 진행하기에 앞서 Convention을 정하고 프로젝트를 진행했습니다. 관례에 따라 Controller클래스에서는 동사가 앞에 오고 명사가 뒤에 오는 식으로 지정하고, Service에서는 명사가 앞에 오고 동사가 뒤에 들어가도록 정했습니다.

그리고 Git Commit Convention을 정해서 사용했습니다. “feat - 새로운 기능 추가” 와 같이 주로 사용되는 커밋 메시지를 반영해 사용하고, 커밋 메시지 작성 시에는 “feat : 게시판 추가 기능 작성”등과 같이 정해서 커밋을 했습니다.

Git을 통한 협업으로 Branch전략을 사용해 보기 위해 main, dev, feature 브랜치를 활용하여 개발해 보고, dev브랜치에 Pull Request를 하면서 충돌이 생기고 해결하는 과정을 많이 겪었습니다. Pull Request시 충돌이 일어나는 현상을 방지하기 위해 작업 중인 브랜치에 dev브랜치의 내용을 먼저 pull 받고 작업자의 개인 브랜치에서 충돌을 해결한 뒤 원격에 다시 push 하는 방법을 주로 사용하게 되었습니다.

저는 이 경험을 바탕으로 원활하게 소통되고 협업의 기초가 되어있는 개발자가 될 수 있습니다.


입사 후 성장 계획

"고민하고 생각하고 실천한다."
입사 후 먼저 변수, 메서드 네이밍에 신경 쓰면서 코드를 작성하겠습니다. 역할에 맞는 네이밍은 가독성을 높이는데 효과적인 방법이라는 것을 알고 있지만 또한 가장 어려운 부분 중 하나라고 생각합니다. 먼저 코드를 확인하면서 어떤 메서드, 변수에 어떠한 네이밍을 했는지 확인하고 적용하겠습니다.

입사 후 1년 차에는 사내에서 개발된 코드를 계속 보면서 사내 코딩 스타일을 파악하고 사용하는 기술을 파악하면서 스스로의 기술력을 키워갈 것입니다. 그리고 테스트 코드를 계속 작성해 보면서 테스트 속도를 향상해보고 싶습니다.

입사 후 5년 차에는 사내 컨퍼런스나 스터디를 계획하고 지금까지 배워온 개발지식을 공유하고 필요한 기술에 대한 공부를 하면서 사내 기술력 향상을 위해 이바지하고 싶습니다.

댓글