개발자는 제 천직입니다.
흔히 개발자가 되려면 수학적인 사고력과 커뮤니케이션 능력 두 가지가 중요하다고 합니다. 저는 중학생 때 수학적인 재능을 인정받아 경기도 교육청에서 주관하는 영재 과정에 선발되어 관련 수업을 2년 간 수강 했으며, 대학생 시절에는 재수 학원 조교 및 중,고등학생 대상 학습 캠프에 수학 관련 조교로 참여한 이력이 있습니다. 이러한 수학적인 사고가 바탕이 되어, 학부 시절에 처음 접한 코딩을 거부감 없이 받아들이고 개발자의 꿈을 자연스럽게 꾸게 되었습니다.
또한 커뮤티케이션 능력 또한 제 주특기입니다. 어려서부터 해병대 캠프 및 국토 순례 등에 참여하며 처음 보는 사람들과 부담 없이 어울리는 방법을 체득했고, 그러한 경험을 바탕으로 학부 시절에는 거의 모든 팀 프로젝트 활동에서 조장 및 발표를 맡아 사람들 앞에 서고, 사람들을 이끄는 방법을 배웠습니다. 동시에 20대 내내 아르바이트 및 학원 조교를 맡으며 예의 있는 언행과 리더십에 대해 끊임없이 고민한 것이 이젠 자연스럽게 제 행동과 생각에 녹아들어 있습니다.
백엔드에 지원한 이유도 백엔드의 주요 언어 ‘자바’가 주는 명확성에 매료되었기 때문입니다. 자바는 다른 언어보다 더 명확히 문법을 제시해야 하고, 따라서 제약 사항도 많습니다. 코드의 한 줄, 한 줄에 숙지했던 모든 규칙을 유의 깊게 살펴 반영해야 하고, 조그마한 실수도 허락하지 않습니다. 저는 오히려 이렇게 명확하고 확실함을 강요하는 자바의 특성이 제 수학적인 특성에 어울려 저만의 강력한 주특기가 되었고, 따라서 자바와 가장 잘 어울리는 백엔드 개발자의 길에 매료되었습니다.
개발자에게 가장 중요한 수학적인 사고력과 커뮤니케이션 능력, 두 소양에 대해 끊임없이 고민하고 있고, 갖추고 있고, 즐길 수 있는 저에게 개발자라는 직업은 천직입니다.
백엔드 개발에 필요한 지식의 심도 깊은 이해와 백엔드에 얽혀 있는 주변 지식을 꾸준히 공부하고 있습니다.
백엔드의 가장 기초라 할 수 있는 spring 기술에 대해 인프런의 관련 강의 수강 및 클론 코딩과 프로젝트를 통하여, 실무 방식의 좋은 코드 공부와 그것에 그치지 않는 직접 체화의 방식으로 매일매일 공부하고 있습니다.
또한 좋은 개발자가 되기 위해 컴퓨터 관련 이론적인 부분의 숙지와 복습에도 빠짐 없이 힘을 들이고 있으며, 백엔드의 곁가지에 해당하는 데이터베이스, 리눅스, 프론트엔드의 이론 및 문법 또한 지속적으로 공부 중에 있습니다.
이렇게 하루 공부한 내용을 개인 티스토리에 게시하여 정리 및 복습에도 힘쓰고 있습니다.
| 취업 희망 기업 | 이유 | JD(Job Description) |
|---|---|---|
| 1. 카카오 | ||
| (카카오 스타일) | 카카오는 이미 입증된 유명 브랜드이고, 여러 분야에 손을 뻗고 있습니다. 그중 이용자와 가장 밀접하게 연관된 광고 부문에서 개발하며, 소비자의 선택에 대한 알고리즘과 대용량 트래픽 관련 경험을 쌓고 싶습니다. | [주사용 언어] |
| spring, kotlin |
[지원 자격] 3년 이상의 백엔드 개발 경험 대용량 서비스 개발 및 AWS 경험
[우대 사항] 광고 시스템 개발 경험 머신 러닝 및 추천 시스템 경험 앱&웹 프론트 개발 경험 데이터 기반 의사결정 경험 | | 2. 우아한 형제들 (배달의 민족
[지원 자격] 프로젝트 리딩 및 6개월 이상 운영 경험 cloud 환경 서비스 개발 및 운영 경험
[우대 사항] 고가용성 확장 시스템 설계 및 운영 경험 NoSQL 경험 React 경험 |
| 3. 카카오 (카카오 모빌리티) | 바이크, 택시 등의 분야에서 독보적인 1위를 점유하고 있는 카카오 모빌리티에 대해 서버의 운영 과정에 대한 경험을 쌓고 싶습니다. | [주사용 언어] spring/ruby on rails
[지원 자격] 1년 이상 서비스 개발 및 운영 경험 RDBMS/NoSQL 적용 경험 Android/IOS API 시스템 설계 및 개발 경 | | 4. 카카오 (카카오페이증권) | 보안 및 기술이 까다로운 금융 개발의 경험을 통해 보안 및 새로운 분야에 대한 경험을 쌓고 싶습니다. | [주사용 언어] spring(Java/Kotlin)
[지원 자격] 3년 이상 개발 실무 경험 RDBMS 웹 어플리케이션 모델링/개발/튜닝 경험 OOP, functional programming 디자인/개발 경험
[우대 사항] MSA 이해와 서비스 설계 및 운영 경험 Kafka, Webflux 등의 비동기 기반 서비스 경험 대용량 트래픽 시스템 경험 금융/핀테크업 경험 | | 5. 우아한 형제들 (배달의 민족
[지원 자격] 3년 이상 개발 실무 경험 JPA, Hibernate 등의 ORM 경험 AWS 개발/운영 경험 Linux/Unix 명령 사용 경험 빌드/테스트/배포 자동화 경험
[우대 사항] RDBMS 경험 AI 기반 시스템 자동화 경험 Airflow로 파이프라인 구축 경험 Hadoop 등의 대용량 데이터베이스 경험 Zeppelin, redash 서비스 지표 분석 경험 Microservices 아키텍처 기반 개발 경험 |
컴퓨터공학과 학부를 전공하여 컴퓨터의 기초 지식 및 기술에 대한 바탕이 있습니다. 입상을 하진 못했지만 데이터 분석 관련 전공자 두 명과 공모전에 참가하여 많은 데이터를 간편하게 정리하는 파트를 담당했었고, 졸업 프로젝트에서 어플리케이션 전체 설계/개발 및 팀장을 맡았습니다.
학부 생활 2학년부터 자바에 대한 흥미를 느꼈고, 이후로 기본기를 다지기 위해 자바 참고서에 나온 모든 문제의 솔루션을 공책에 모두 손코딩하여 놓칠 수 있는 세세한 부분까지 체화 하려 노력했습니다.
좋은 개발자는 새로운 기술의 경험보다는 기본기에 있다고 생각하여, 이론적인 부분에 대한 꾸준한 공부와 복습 및 손코딩 경험, 그리고 첫 코딩 테스트 연습 이후 3-4달 여간 코딩 테스트 문제를 300개 정도 풀이하며 코드의 세세한 부분과 기초 알고리즘에 대한 학습을 꾸준히 진행하였습니다.
제 가장 큰 장점은 커뮤니케이션 능력입니다. 어려서부터 다양한 경험과 학부 시절 팀 프로젝트의 다수 팀장의 역할으로 사람들을 이끌고 힘이 되어주는 방법을 경험했고, 좋은 평을 들었습니다. 하지만 제 이런 능력은 단순히 선천적이었거나 공감 없는 보여주기 식 소통 능력이 아닌, 경험을 토대로 한 깊은 성찰을 통해 길러진 장점입니다. 본래는 소심한 성격인 저는 고등학생 때부터 다른 사람들에게 말로 상처를 많이 받았고, 그런 상처를 타인에겐 입히기 싫었기에 하루 경험했던 감정을 일기에 세세히 적으며 고쳐야 할 점, 배웠던 점, 느꼈던 점을 매일 적었습니다. 그로 인해 세심히 상대를 배려하는 방법을 배웠고, 단단한 정신력으로 무너지지 않으며 타인을 아우르는 성격이 굳게 자리 잡았습니다. 그러자 놀랍게도 다른 사람들이 저를 믿기 시작하고, 저를 지지하며, 제 말에 더 관심을 기울이는 경험을 할 수 있었습니다. 저는 제 커뮤니케이션 능력에 자신이 있으며, 다른 사람을 헤아리며 의견 대립이 생긴 두 사람의 사이를 중재할 능력이 있습니다.
이렇게 남들을 맞춰주고 포용하는 성격이다 보니 자기주장에선 약한 점을 보이는 것이 제 단점입니다. 제가 선호하는 부분보다는 상대의 말을 경청하고 두 의견 사이의 장단점을 따져 팀의 방향성을 정하는 부분에 제 목적이 있기 때문에, 특정 솔루션에 대해 제 생각을 강력하게 피력하는 점에선 약합니다. 따라서 이러한 단점을 보완하기 위해 의견의 대립 시 타인의 의견을 충분히 이해하고 제 의견과 비교하여 올바른 방향으로 팀이 움직이도록 노력하고 있습니다.
컴퓨터공학과를 졸업했지만 처음 하는 취업 준비 과정에서 스스로의 부족한 점을 많이 느꼈습니다. 따라서 제 스스로 공부한 내용을 적고 복습할 수 있도록 개인 티스토리를 만들었고, 그곳에 새롭게 공부한 내용을 하루 단위로 정리하여 올리고 있습니다.
또한 이론이나 기술적인 정적인 지식만을 공부해선 안 된다고 느꼈기에 IT 관련 인터넷 기사를 스크랩하여 간략히 정리한 글을 게재하고 있습니다. 스크랩은 하루에 하나씩은 올리려고 노력하고 있으며, 스크랩을 통해 세상을 더 넓게 볼 수 있는 안목을 기르고, 제 주된 기술 뿐만이 아닌 관련된 기술, 관련된 주제의 토픽을 접하여 빠르게 변하는 IT 트렌드를 공부하고 있습니다.
졸업 프로젝트 당시 로그인 기능 구현 중 서버 단 코드를 작성할 때 집요한 수정을 통해 문제를 해결한 경험이 있습니다.
당시에는 서버 관련 프로그래밍 경험은 전무했고, 프로젝트의 주된 기능이 모바일 애플리케이션이었기 때문에 서버 관련 내용을 새롭게 공부할 수 있는 시간이 없었습니다. 로그인 기능 구현을 위해 유튜브에서 로그인 기능 구현법을 찾아 서버 관련 코드와 php 코드를 그대로 따라 작성했었는데, 코드를 전부 작성하고 프로젝트 명세에 맞춰 코드를 조금 수정하니 데이터베이스에 정보가 제대로 들어가지 않는 문제가 발생했었습니다. 문제의 원인은 회원 정보를 전달하는 과정에 있었는데, 베껴 적은 코드에는 정보가 3개 들어가서 php 코드의 매개변수가 3개인 반면 프로젝트에서는 명세에 맞게 4개의 정보를 넘겼기에 생긴 단순한 오류였습니다.
이를 해결하기 위해 서버 단의 코드 및 php의 문법을 전부 공부하기에는 물리적인 시간이 부족한 상황이었고, 애플리케이션, 서버, 데이터베이스 연동을 전부 제가 처리해야 했기에 조언을 구하거나 팀원과 함께 해결할 수 없는 상황이었습니다. 데드라인이 다가오는 초조한 상황이었지만 저는 마음을 다잡고 천천히 코드를 보며, 처음 보는 php 관련 문법임에도 불구하고 문맥적인 이해를 통해 무사히 해결했습니다.
해당 경험을 통해 저는 처음 보는 코드와 문법임에도 두려워하지 않고 천천히 읽어보게 되는 능력을 기를 수 있게 되었으며, 초조한 상황에서도 마음을 편안하게 갖고 해결해야 하는 문제에 전념할 수 있는 집중력을 갖게 되었습니다.