본문 바로가기
대외활동/UMC 8기

UMC 8기 springboot 합격후기 <UMC는 어떤 곳인가?>

by 피스타0204 2025. 3. 19.

 

성신여대 UMC 8기 springboot junior 합격했습니다!! 와~~!! 짝짝짝

 

https://umc.makeus.in/

 

UMC - University MakeUs Challenge

대학생 개발 연합 동아리 University Make Us Challenge

umc.makeus.in

 

1. 소개

UMC에 대해 간단히 소개해볼까요?

 

UMC는 University Make Us Challenge의 약자로 대학생들이 모여 함께 프로젝트를 진행하는 대학연합 동아리입니다.

UMC에서는 6개월간 android, iOS, Node, PM, Spring, Web 6가지 파트로 나누어 스터디를 진행한 후, 각 지부의 대학끼리 연합하여 프로젝트를 진행합니다. 이 프로젝트를 데모데이라고 합니다.

 

저는 이번에 Spring Boot Senior 파트에 지원했으며, Junior 파트로 최종 합격하게 되었습니다.


2. 서류

서류 지원같은 경우에는 간단한 자기소개 질문과 지원동기로 이루어져 있었고, 거기에 포트폴리오나 자기소개서를 제출하도록 되어 있었습니다. 

 

특히 Senior 파트는 해당 분야의 경험이 중요한 만큼, 심사 과정에서 이를 많이 고려하는 모습이었고, 면접에서도 제출한 GitHub 의 프로젝트에 대한 질문이 있었습니다. 하지만 전체적으로 포트폴리오 제출이 필수라기보다, 자기소개서로 대체할 수 있도록 비교적 유연하게 진행되었습니다.

 

저는 서류 모집 기간 동안 두 개의 프로젝트를 동시에 진행하고 있어 시간이 부족한 상황이었고, 이에 따라 이전에 진행했던 GitHub 프로젝트 화면과 Notion 자기소개서를 첨부하여 제출했습니다. 

 

아래는 간단한 자기소개 질문에 제가 제출한 답변입니다.

 

간단한 자기소개 질문▽

더보기

위의 파트를 선택한 이유는 무엇인가요?*

고급 자바 프로그래밍 수업에서 자바로 횡스크롤 액션 멀티엔딩 게임을 개발했던 경험이 있습니다. 이 과정에서 스레드 관리, 클래스 및 라이브러리 관리, 빌드 등 다양한 기술을 배웠지만, 가장 큰 수확은 객체지향에 대한 확실한 경험적 지식이었습니다.

자바로 게임을 개발하는 과정에서 많은 어려움을 겪었지만, 교수님께서 자바의 높은 이식성을 활용하라는 조언을 주셨습니다. 객체지향과 클래스의 개념 덕분에 자바는 여러 객체를 클래스로 쉽게 묶을 수 있으며, 이를 통해 코드가 간결해지고 다른 코드와 쉽게 이식될 수 있다는 장점이 있었습니다. 프로젝트에서 팀장을 맡아 많은 부담을 느꼈지만, 자바의 특성을 잘 활용해 좋은 성과를 거두었고, 이를 통해 자바에 대한 깊은 관심과 더 많은 공부를 하고 싶다는 의지를 가지게 되었습니다.

또한 이번 방학 동안 진행한 Spring Boot 스터디에서, Spring Boot는 JPA를 사용해 관계형 데이터베이스를 객체지향적으로 사용할 수 있다는 점을 알게 되었습니다. 이를 통해 객체지향의 중요성을 다시 한 번 느꼈고, 자바와 Spring Boot에 대한 흥미가 더욱 커졌습니다.

이 두 가지 경험을 통해 객체지향의 핵심 개념을 다룬 자바와 관계형 데이터베이스를 객체지향적으로 연결한 Spring Boot에 대해 더 배우고 싶어 파트에 지원하게 되었습니다.

 

UMC에 지원한 동기가 무엇인가요?*

작년에 코드잇 부스트 백엔드 1기를 수료하며 웹 프로그래밍을 공부했지만 주로 Node.js를 사용했기 때문에 Spring Boot 개발을 더 해보고 싶어 이번 방학동안 코드잇 부스트를 수료했던 친구들을 모아 springboot& aws 책 떼기 스터디를 진행했습니다. 지금은 스터디를 완료하고, 해당 지식을 기반으로 이전에 멋쟁이 사자처럼에서 프론트엔드 파트로도 활동했을때 알게된 사람들을 포함해 react Native와 Spring boot로 프로젝트까지 진행중입니다.

이러한 경험을 통해 다양한 사람들과 만나 공통의 관심사로 점진적으로 지식을 늘려가는 것의 즐거움을 깨닫게 되었습니다. UMC는 전국 대학생 연합 동아리로, 다양한 관점을 가진 학생들과 만날 수 있어 더 성장할 수 있는 계기가 될 것이라고 생각합니다.

두번째로, UMC에서 제공하는 훌륭한 자료들을 활용하면 더 똑똑하게 공부할 수 있을 것 같아 지원하게 되었습니다.이번 방학 동안 Spring Boot 프로젝트를 진행하면서 Docker와 GitHub Actions를 사용한 CI/CD 작업이 가장 어려웠습니다. 이때 UMC 개발자 분들의 깃허브에서 많은 도움을 받았고, 이를 통해 협업의 중요성과 효율적인 작업 방식에 대해 배우게 되었습니다.

UMC의 워크북을 이용해 새로운 사람들과 함께 공부하는 것을 매우 기대하고 있습니다.

 

어려움을 겪고 극복해낸 과정을 사례와 함께 서술해주세요. 기술적인 어려움이 아니더라도 좋습니다!*

'When life hands you a lemon, make lemonade.'라는 미국 속담이 있습니다. 고등학교 3학년 여름, 갑자기 건강이 안 좋아지면서 쉬는 시간을 가지게 되었습니다. 그 시간을 소중히 하고 싶었고 부모님과 상담 끝에 오래 앉아 있어야 하는 수능 공부 대신 진로를 찾는 활동을 하기로 결정했습니다. 스스로 대외활동을 찾아보았고 온라인 비전공자 웹프로그래밍 모임에 지원했습니다. 거기서 전공자 분께css, js, python을 배우고 css, js 통해 인스타그램 카피하는 과제를 진행하였고 github를 사용해 다른 개발자들과 공유하는 법까지 배웠습니다.

이후 cs에 대해 관심이 생겼고 지금은 컴퓨터공학과에 진학하여 역량을 키워나가고 있습니다. 이 때의 경험으로 어려운 일을 긍정적으로 극복하자가 삶의 모토가 되었습니다.

대학에 들어와 멋사, 코드잇 같은 IT 동아리들을 수료하면서도 긍정적인 가치관이 큰 도움이 되었습니다. 프로젝트를 하다 보면 팀원들의 마음이 항상 맞지 않거나, 기술적으로 한계에 부딪히는 일이 많습니다. 그러나 '될 것이다'는 마음가짐으로 끝까지 해내는 것이 중요하다고 생각했고, 그 결과 3학년 마지막 학기에 백엔드 3등상을 수상할 수 있었습니다.

이번 UMC 8기에서도 언제나 긍정적으로 해내자는 태도로 임하여 좋은 결과를 얻고 싶습니다.

 

UMC 8기를 통해 얻어가고 싶은 것과 기대하는 바를 서술해주세요.*

500자 내외로 작성해주세요.

UMC 8기를 통해 얻고 싶은 것은 크게 두 가지입니다. 첫째, 다양한 배경과 경험을 가진 사람들과의 협업을 통해, 서로 다른 관점에서 문제를 해결하고 더 나은 결과물을 만들어 내는 경험입니다. 이번 2025년 UMC 데모데이에 친구가 참가하게 되어 프로젝트 완료를 축하하러 갔었습니다. 부스를 운영하는 모습을 보며 기획과 마케팅에 많은 신경을 쓴 게 느껴졌고, 그 모습을 보면서 UMC에서 꼭 한번 프로젝트를 해보고 싶다는 열망이 생겼습니다. 다양한 사람들과 협업하며 실력을 쌓고, 창의적인 아이디어를 실현하는 과정에 매력을 느꼈습니다. UMC는 다양한 전공을 가진 사람들이 모여 함께 프로젝트를 진행하는 곳이기 때문에, 그 과정에서 제 자신의 기술적 한계를 극복하고, 더 창의적인 아이디어를 도출해낼 수 있을 것이라고 기대합니다.

둘째, 기술적으로 더 성장할 수 있는 기회를 얻고 싶습니다. 이번 방학 동안 Spring Boot를 공부하며 기본적인 지식은 쌓았지만, 실제 프로젝트에 적용해보고 더 심화된 내용을 배우고 싶습니다. UMC 8기를 통해 실제 서비스를 개발하고, 다양한 기능을 구현하며 Spring Boot에 대한 깊은 이해를 얻고 싶습니다.

이를 통해 최종적으로는 UMC 8기에서 배운 지식과 경험을 토대로 좋은 결과물을 만들어, 수상하는 경험을 얻고 싶습니다. 저는 UMC 8기를 통해 단순히 기술적인 역량과 동시에 협업 능력을 함께 발전시키고자 합니다.


3. 면접

면접은 다른 파트와 저 포함 2명이 들어가서 20분동안 보았습니다.

저는 백엔드 파트였기 때문에 기술 질문 위주로 받았습니다. 

 

1. 백엔드 프로젝트 경험은 첨부한 깃허브 외에는 없나요?

가장 처음 받은 질문은 포트폴리오에 대한 질문이었습니다.

Spring 실무 경험이 방학 동안 진행한 프로젝트에 국한된 점이 단점이 될 수 있다고 생각했습니다. 그래서 2024년 멋쟁이사자처럼 12기 프론트엔드 과정과 코드잇 부스트 1기 Node.js 백엔드 과정을 수료했으며, 특히 코드잇에서 3등상을 수상한 경험을 강조하여 답변했습니다.

 

2. 제출한 springboot 프로젝트에서는 어떤 역할을 했나요?

저는 회원가입과jwt토큰, CI/CD 배포, 뉴스 기사 크롤링 및 키워드 기능을 담당했다고 대답했고, 그때 CI/CD 배포를 해봤다는 게 좋게 작용한 것 같습니다.

 

3. 게시글에 해시태그를 여러 개 달 수 있고 하나의 해시태그가 여러 개의 게시글에서 사용이 될 때, 데이터베이스 테이블을 어떻게 설계할 것인가요?

다대다 관계를 묻는 질문이었습니다.  게시글과 해시태그는 다대다(Many-to-Many) 관계를 가지므로, 이를 효율적으로 관리하기 위해 중간 테이블(연결 테이블, Join Table)을 활용하여 설계하는 것이 적절하다는 답이 정석이었고, 저는 해시태그를 string으로 관리하여 parsing했던 경험이 있어 그렇게 답변했던 것 같습니다.

 

4. API란 무엇이며, 그 중 RESTful API는 무엇인가요?
API는 소프트웨어나 애플리케이션 간에 서로 데이터를 주고받거나 기능을 호출하는 방법을 제공하는 인터페이스입니다. RESTful API는 REST 원칙을 따르는 API로, 주로 HTTP를 통해 데이터를 요청하고 보내는 방식입니다. 일반적으로 URL을 통해 리소스를 지정하고, 데이터를 JSON 형식으로 주고받습니다.

 

5. 서버가 API 요청을 너무 많이 받아서 장애가 빈번하게 발생하고 있습니다. 이런 경우에는 어떤 방식으로 최적화할 수 있을까요?
서버 과부하를 줄이기 위해 로드 밸런싱으로 여러 서버에 요청을 분산시키고, 캐싱을 사용해 자주 요청되는 데이터를 빠르게 제공하며, API 요청 제한을 통해 지나치게 많은 요청을 막을 수 있습니다. 또한 비동기 처리로 시간이 오래 걸리는 작업을 백그라운드에서 처리할 수 있습니다.

 

6. 의존성 주입이 무엇인가요?
의존성 주입은 객체가 필요한 다른 객체를 직접 만들지 않고, 외부에서 주입받아 사용하는 방식입니다. 이렇게 하면 코드 간의 의존성이 줄어들어, 더 쉽게 관리하고 테스트할 수 있습니다. 예를 들어, A 클래스가 B 클래스를 필요로 할 때, A가 B를 직접 만들지 않고 외부에서 B를 주입받는 방식입니다.

 

6번은 아래 제가 정리해놓은 블로그가 있으니 더 자세히 알아보고 싶으시다면 다음 링크를 확인해주세요!

https://turtle0204.tistory.com/entry/springboot-With-React-NATIVE-project-02-Autowired

 

02. Autowired DRACONIST

spring 이나 springboot 코드를 보게 되면 Autowired라는 부분이 종종 보입니다. 구글에 검색해보면 의존성 주입을 한다는 말이 나오는데 이 말만으로는 이해가 쉽게 가지 않습니다. 스프링을 잘 이해

turtle0204.tistory.com

 


(감상) 합격 후기

UMC에 지원하기 전에 데모데이 전시회를 갔습니다. 친구를 축하해주기 위해 찾아간 것이었는데 생각보다 전시회 형식으로 하니 보기도 좋고 다들 너무 잘하고 열심히 한 게 보여서 저도 저렇게 프로젝트를 하고 싶다고 생각했습니다. 

결국 이렇게 UMC에 합격하고 활동할 수 있어서 너무 기쁘네요. 

즐겁고 알찬 활동할 수 있으면 좋겠습니다! 파이팅!

'대외활동 > UMC 8기' 카테고리의 다른 글

1주차. Database 설계  (0) 2025.03.22
0주차. CIDR이란?  (0) 2025.03.21
1주차. mysql과 인텔리제이로 localhost 데베 이용하기  (0) 2025.03.18
0주차 실습  (0) 2025.03.18
0주차  (0) 2025.03.18