메뉴 건너뛰기


커리어 세부메뉴

합격자소서

롯데이노베이트 2021년 하반기 신입 웹개발자합격자소서

합격자 정보

  • 서울4년
  • 컴퓨터공학과
  • 학점 4.1/4.5
  • 토익 845
  • 교내활동 1회
  • 19,587읽음

합격자소서 질문 및 내용

답변
4차산업 혁명 이후 세계는 빠르게 디지털 전환이 이루어지고 있습니다. 그리고 COVID-19 바이러스로 인해 이러한 전환이 더욱 가속화 되고 있습니다. 이러한 디지털 전환에 있어서 소프트웨어 개발은 가장 기본이 된다고 생각합니다. 다른 AI 기술이나 클라우드 기술 또한 당연히 중요합니다. 하지만 결국 사용자가 마주하는 부분은 소프트웨어 입니다. 이런 소프트웨어는 안정적이고 빠르게 서비스 되어야 하며, 저는 그런 소프트웨어를 개발해나가고 싶습니다.

평소 아키텍처 설계와 도메인 설계부터 개발까지 관심이 많았습니다. 그동안 배운 것과 경험을 기반으로 시스템을 구축하고 서비스를 만들어 나갈 것입니다. 또한 저는 지속적으로 공부하는 개발자가 되고 싶습니다. 따라서 꾸준히 기술 공부를 하며 더 나은 설계에 대해 고민하고 더 나은 기술에 대해 고민할 것입니다. 그러한 고민을 통해 더 나은 시스템과 서비스를 개발 할 수 있도록 꾸준히 노력할 것입니다.

글자수 477817Byte

답변
Software 직무의 경우 결국 프로그램을 개발하는 것이 가장 중요하다고 생각합니다.
프로그램 개발 필요한 역량은 1.설계와 2.구현이 있습니다.
서비스 하는 규모와 어떤 서비스를 하는지에 따라 시스템 아키텍처에 대한 올바른 설계가 선행되어야 하며, 그 후 도메인 설계를 하고 서비스 로직의 구현으로 이어지는 것이 프로그램 개발에 있어서 자연스러운 흐름이라고 생각됩니다.

저는 교내 경진대회 프로젝트로 'OOO 시스템'을 구현한 바 있습니다.
1. 설계
해당 시스템은 웹 서버와 얼굴인식을 하는 서버가 분리되어 있었고, 이 두 모듈간에는 통신 및 파일 공유가 필요했습니다. 따라서 처음에는 시스템 아키텍처를 설계를 했습니다. 해당 프로젝트의 아키텍처는 도커 컨테이너를 기반으로 톰캣, 젠킨스를 두어 웹 어플리케이션의 CI/CD를 구축하였으며, 얼굴인식 부분의 경우에는 로컬에서 파이썬 프로그램을 실행하도록 하였고, 두 모듈은 소켓 통신을 통해 정보를 주고받을 수 있습니다. 아키텍처 설계 후 서비스에 필요한 도메인을 설계했습니다. 해당 프로젝트의 경우 사용자, 이미지 정보, 영상 정보, 업로드 정보, 결과 정보 등의 도메인을 설계했습니다.

2. 구현
도메인 설계가 끝난 후, 해당 도메인과 관련된 서비스 로직을 작성했습니다. 회원가입, 로그인, 파일 업로드 등이 이에 해당됩니다.

글자수 6741,136Byte

답변
저의 약점은 제가 설계한 것, 제가 작성한 코드를 제 자아의 일부처럼 느끼는 것입니다. 이러한 부분은 작성한 프로그램에서 오류를 찾는 것을 방해하며 더 좋은 설계를 하고, 더 좋은 로직을 짜고, 시스템의 완성도를 높이는 것을 저해합니다. 또한 다른 사람의 올바른 지적이 있을 때 해당 설계나 코드의 문제점을 바로 보지 못하고 본인 스스로에 대한 지적으로 느끼게 되는 경우가 있습니다.

저는 학부연구생을 하던 기간에, 연구실 선배의 지적에 위와 같은 사고를 한다는 것을 느꼈습니다. 올바른 방향으로의 설계, 코드에 대한 지적을 본인 자체에 대한 비난처럼 느낀 것입니다. 하지만 해당 지적에 대한 질문과 소통을 통해 더 나은 결과를 위한 코드에 대한 지적임을 알 수 있었습니다. 그 후 저는 제 스스로도 제 코드의 일관성을 체크하고 잘못된 점은 없는지, 더 나은 방법은 없는지 먼저 생각해보려 하고 있습니다. 또한 팀원의 코드를 보면서 질문하고 제 코드를 함께 공유하며 어느 방향으로 가는 것이 좋을지 소통을 하려고 노력하고 있습니다.

이러한 노력은 코드 뿐만 아니라 아키텍처 설계나 기술의 적용에서도 많은 도움이 되었습니다. 스스로 한 것을 객관적으로 보고 옳은가 생각하려 노력하다 보니 더 좋은 설계를 하고 싶어하고 더 합당한 기술을 적용하려 하게 되었습니다.

글자수 6551,121Byte

답변
Java: 4, Kotlin: 3
Spring Boot, Spring Data JPA, MySQL: 3
Spring Security(jwt), Redis: 2
Docker: 2

저는 안정적이고 빠르게 서비스 하는 서버에 관심이 있습니다. 사용자들의 요청을 안정적이고 빠르게 처리하기 위해서는 많은 기술들이 필요합니다. 서버 부하를 분산하는 로드밸런싱, 시용자의 요청을 유실하지 않고 많이 받을 수 있는 메시징 큐, 빠른 데이터 읽기를 위한 Redis, 일괄적으로 대량의 작업을 하는 Batch, 모듈간 통신을 위한 소켓 통신 및 rpc 등 정말 많은 기술들이 있고, 이러한 기술들은 시스템의 견고함을 높여줍니다. 그간 제가 해온 기술과 경험은 기초적인 수준이지만 앞으로 이런 기술들을 익혀가며 더욱 완성도 높은 소프트웨어를 만들고 싶습니다.

글자수 421640Byte

답변
◆ 연구실 홈페이지 Spring Boot 마이그레이션 및 관리

Java, Spring Boot, JPA, MySQL, HTML, CSS, Javascript, Tomcat, Docker, Jenkins

담당 역할
- 기존 정적으로 호스팅 되어있던 연구실 홈페이지를 Spring Boot 프레임워크로 마이그레이션 했습니다.
- 추가적인 기능을 위해 도메인을 설계했으며 백 오피스 기능을 구현했습니다.

글자수 230319Byte