대학에서 아무도 해주지 않는 솔직한 조언

발행: (2026년 3월 15일 오전 06:17 GMT+9)
9 분 소요
원문: Dev.to

Source: Dev.to

이 글은 4분 정도 소요됩니다. 하지만 여기서 한 가지라도 마음에 와 닿는다면, 앞으로 몇 년간 공부하는 방식이 바뀔 것입니다.

1학년 또는 2학년이라면

문제 해결을 배우세요. 지금 당장의 전부가 바로 그것입니다.

  • 문제 해결에 집중하고 순위에 집착하지 마세요.
    Codeforces 레이팅이 아니라, 경쟁 프로그래머가 되는 것이 목표가 아닙니다. CP의 목적은 어려운 문제를 멈추지 않고 생각할 수 있을 만큼 똑똑해지는 것입니다. 이는 문제를 분해하고, 패턴을 찾으며, 압박 속에서 올바른 코드를 작성하도록 뇌를 훈련시킵니다. 이 능력은 기업이 기술 라운드에서 평가하는 바로 그 것이며, 생각할 수 있는 사람과 단순히 베끼는 사람을 구분짓는 요소입니다.

  • 기본기를 마스터하세요.
    자료구조와 알고리즘은 시험을 위해 외우고 잊어버리는 것이 아닙니다. 이는 앞으로 커리어 전체에서 사용할 어휘입니다. 해시맵이 O(1)인 이유나 이진 탐색 트리가 실제로 무엇을 하는지 이해하지 못한다면, 모래 위에 기반을 다지는 셈입니다.

  • 순위에 집착하지 마세요.
    문제를 푸는 이유는 실력이 향상되기 때문입니다. 빠르게 풀기보다 깊이 있게 파고드세요.

3학년 또는 4학년이라면

소프트웨어 엔지니어링에 집중하세요. 진짜 SWE. 코딩을 할 줄 아는 사람들로 가득 찬 방에서 당신을 돋보이게 하는 종류.

  • 시스템 지식 심화.
    MongoDB가 존재한다는 것만 아는 개발자 버전이 있고, primary‑secondary‑secondary (p‑s‑s) 레플리카 셋을 언제 사용해야 하는지, 프라이머리가 다운될 때 무슨 일이 일어나는지, 그 구성에서 읽기와 쓰기가 어떻게 동작하는지, 그리고 트레이드오프가 무엇인지 아는 버전이 있습니다. 첫 번째 사람은 지시를 따릅니다. 두 번째 사람은 시스템을 설계합니다. 당신은 두 번째 사람이 되고 싶을 것입니다.

  • 고수준 설계 학습.
    시스템 설계는 마법이 아니라 규모에 맞는 문제를 생각하는 것입니다. 시스템을 어떻게 내결함성(fault‑tolerant)으로 만들까요? 노드가 죽으면 무슨 일이 일어나나요? 하루아침에 10배 트래픽을 어떻게 처리하나요? 하나의 서비스가 느려지면 아키텍처는 어떻게 동작하나요? 이러한 질문들은 시니어 엔지니어가 면접에서 묻는 질문이며, 더 중요한 것은 실제 업무에서 매주 등장하는 질문이라는 점입니다.

  • 저수준 설계도 배우세요.
    여기가 바로 소프트웨어 엔지니어링 원칙이 살아있는 곳입니다: SOLID, 클린 코드, 디자인 패턴—면접을 위해 팩토리나 옵저버를 외워야 해서가 아니라, 복잡한 무언가를 만들고 그것이 부서지는 경험을 통해 패턴이 왜 존재하는지 배우게 됩니다. 패턴을 먼저 배우지 마세요. 무언가를 만들고, 고통을 느낀 뒤에 패턴이 의미 있게 다가올 것입니다.

졸업하고 문제 해결 단계를 건너뛰었다면

아직 늦지 않았습니다. 진심이에요.

하루 일과로 만들세요: 아침 식사 후 매일 한 문제씩 LeetCode를 풀기. 처음엔 어려운 문제를 고르지 말고 한 문제만 풀어요. 매일 꾸준히. 생각보다 빠르게 효과가 쌓이고, 구직 중이거나 첫 직무를 시작할 때 논리적 근육을 활발히 유지시켜 줍니다. 6개월 동안 꾸준히 해온 사람들은 2주 동안 급하게 공부한 사람들과는 인터뷰에서 완전히 다른 모습을 보여줍니다.

내가 당신에게 생각해 보길 바라는 몇 가지 사항

  • Build something real.
    튜토리얼 프로젝트도, 유튜브 따라하기도 아닙니다. 실제로 가지고 있거나 흥미로운 문제를 골라서 그에 대한 해결책을 직접 만들어 보세요. 튜토리얼이 대비하지 못한 문제에 부딪히게 되고, 그 문제를 해결하는 과정에서 진정한 학습이 이루어집니다. 채용 담당자는 무언가를 직접 만든 사람과 레포를 복제한 사람을 구분할 수 있습니다.

  • Read codebases.
    좋은 엔지니어는 다른 사람이 작성한 코드를 많이 읽습니다. 관심 있는 오픈소스 프로젝트를 하나 골라서 코드를 훑어보세요. 구조는 어떻게 되어 있나요? 왜 그런 결정을 내렸나요? 당신이라면 어떻게 했을까요? 이런 과정을 통해 감각을 기를 수 있습니다. 감각은 매우 중요합니다.

  • Write and communicate clearly.
    지루하게 들릴 수 있지만, 실제로는 그렇지 않습니다. 비기술적인 사람도 이해할 수 있게 기술적 결정을 설명하는 능력은 드물며, 팀에서 일할 때 엄청난 가치를 가집니다. 꾸준히 연습하세요.

  • Focus depth over breadth.
    현재 취업 시장은 어렵습니다. 살아남는 방법은 열 개의 프레임워크를 배우는 것이 아니라, 한 분야를 충분히 깊게 파고들어 진정으로 이해하는 것입니다. 분산 시스템을 제대로 이해하는 사람은 이력서에 “마이크로서비스”를 적어 놓고 두 서비스가 동시에 같은 데이터베이스 행을 쓸 때 무슨 일이 일어나는지 설명하지 못하는 열 사람보다 오래 살아남습니다.

  • Don’t compare timelines.
    같은 시기에 있는 누군가는 좋은 기업에 취업했을 수도 있습니다—그들에게 축하합니다. 또 다른 사람은 아직 길을 찾고 있을 수도 있습니다—그것도 괜찮습니다. 가장 빠르게 성장하는 엔지니어는 최고의 시작을 한 사람이 아니라, 꾸준히 호기심을 유지하고 지속적으로 노력하는 사람입니다.

당신은 생각보다 더 많은 시간을 가지고 있습니다. 그 시간을 현명하게 활용하세요.

0 조회
Back to Blog

관련 글

더 보기 »

트라비고

Gemini와 함께 말하는 속도만큼 빠르게 여행하세요! 라이브 에이전트가 몰입형 스토리텔링 및 3D 내비게이션과 만나는 곳. 이 프로젝트는 Gemini Live Ag...에 진입하기 위해 만들어졌습니다.