반응형
리퍼럴(Referral)은 채용 과정에서 가장 강력한 무기 중 하나입니다. 특히 빅테크와 같은 경쟁이 치열한 기업에서는 리퍼럴의 유무가 합격 가능성을 크게 좌우할 수 있습니다. 그러나 성공적으로 리퍼럴을 요청하는 것은 단순히 메시지를 보내는 것 이상입니다. 이 글에서는 리퍼럴이 무엇인지, 왜 중요한지, 그리고 모르는 사람에게도 효과적으로 리퍼럴을 요청할 수 있는 방법과 주의해야 할 점들을 구체적인 예와 함께 살펴보겠습니다.1. 리퍼럴이란 무엇인가?리퍼럴은 기존 직원이 채용 담당자에게 추천하는 지원자를 의미합니다. 회사는 내부 직원의 추천을 신뢰하며, 이를 통해 적합한 후보자를 더 빨리 찾을 수 있다고 생각합니다. 일부 회사는 직원에게 추천 보너스를 지급하기도 합니다. 또한, 회사는 우수한 인재를 놓치지 ..
이번에 소개할 표현은 "Eat the Frog"입니다. 이 독특한 표현은 작업 우선순위를 설정하고, 가장 어려운 일을 먼저 처리하는 방법론을 설명합니다. 개발자들이 생산성과 집중력을 높이는 데 매우 유용한 표현입니다.1. 표현의 의미"Eat the Frog"는 "가장 어려운 일을 먼저 처리하라"는 뜻입니다. 이 표현은 Mark Twain의 유명한 말에서 유래했습니다. 그는 "만약 당신이 아침에 살아 있는 개구리를 먹는다면, 그날의 가장 어려운 일은 끝난 것이다"라고 말했습니다. 소프트웨어 개발에서 이 표현은 다음을 의미할 수 있습니다:복잡한 문제를 먼저 해결하기.가장 시간이 많이 걸리고, 중요한 작업에 초점을 맞추기.작업을 미루는 것을 방지하기.2. 소프트웨어 개발과의 연관성개발 업무에서 "Eat the..
모던 CMake를 활용하여 효율적인 C++ 프로젝트 빌드 시스템을 구축하는 방법을 계속해서 알아보겠습니다. 이번 글에서는 생성기 표현식(generator expressions)과 커스텀 명령어(custom commands)를 활용하여 빌드 설정을 더욱 유연하고 강력하게 만드는 방법을 다루겠습니다. 또한, 대규모 프로젝트에서 모던 CMake를 효과적으로 사용하는 방법에 대해서도 살펴보겠습니다.생성기 표현식 (Generator Expressions)생성기 표현식은 빌드 시점에 조건부로 값을 평가하여 빌드 설정을 동적으로 제어할 수 있도록 하는 CMake의 기능입니다. 형태로 표현되며, 타겟의 프로퍼티나 빌드 구성 등에 따라 다른 값을 사용할 수 있습니다.기본 문법생성기 표현식은 $ 형태로 사용되며, 내부에..
C++20에서는 람다 표현식(lambda expressions)이 더욱 강력해지고 유연해졌습니다. 이번 글에서는 개선된 람다 캡처(Lambda Capture)와 관련된 새로운 기능들을 살펴보겠습니다.개선된 람다 캡처란?C++11에서 도입된 람다 표현식은 익명 함수 객체를 생성하여 함수처럼 사용할 수 있게 해주는 기능입니다. 기존의 람다 캡처 방식에서는 [=], [&], [this] 등의 캡처 모드를 사용했습니다. C++20에서는 람다 캡처가 더욱 개선되어, [=, this], [*this]와 같은 새로운 캡처 방식이 도입되었습니다. 이를 통해 람다 표현식 내에서 멤버 변수를 안전하고 효율적으로 사용할 수 있습니다.[*this]를 사용한 객체 복사 캡처기존의 문제점기존의 [=] 또는 [this] 캡처 방식..
소프트웨어(SW) 개발자라면 일상적으로 접하게 되는 다양한 영문 약어들이 있습니다. 특히 업무 중 이메일이나 채팅에서 자주 사용되는 약어들은 처음에는 생소할 수 있지만, 익숙해지면 대화의 효율성을 높이는 데 큰 도움이 됩니다. 이번 블로그 글에서는 SW 개발자들이 자주 사용하는 영문 약어들을 정리하고, 각각의 의미와 사용 예제를 소개하겠습니다. 참고하시고 업무에 유용하게 활용하시기 바랍니다!1. ASAP (As Soon As Possible)의미: 가능한 한 빨리.사용 예: "Please send me the updated document ASAP." (업데이트된 문서를 가능한 한 빨리 보내주세요.)2. FYI (For Your Information)의미: 참조용입니다, 참고하세요.사용 예: "FYI, ..
이번에 소개할 표현은 "Let’s Agree to Disagree"입니다. 이 표현은 갈등 상황에서 자신의 의견을 관철시키면서도 팀의 분위기를 상하게 하지 않도록 돕는 중요한 커뮤니케이션 도구입니다.1. 표현의 의미"Let’s Agree to Disagree"는 "우리가 동의하지 않는 것에 동의하자"라는 뜻으로, 의견 차이를 인정하면서도 건설적인 대화를 유지하려는 태도를 나타냅니다. 이는 논쟁이 감정적으로 변질되는 것을 방지하고, 서로의 관점을 존중하며 대화를 마무리하는 데 사용됩니다.예:"나는 A 방식을 선호하지만, 당신은 B 방식을 더 적합하다고 생각하네요. 그러니 우리는 동의하지 않기로 동의합시다."2. 어원이 표현은 18세기 후반 미국 정치가이자 건국의 아버지 중 한 명인 존 웨슬리(John We..
C++20의 새로운 기능들을 소개하는 시리즈의 여덟 번째 글에 오신 것을 환영합니다. 이번 글에서는 문자열 포맷팅을 더욱 편리하고 안전하게 만들어 줄 std::format 라이브러리에 대해 자세히 알아보겠습니다.std::format이란 무엇인가요?C++20에서 도입된 std::format 라이브러리는 문자열을 포맷팅하는 새로운 방법을 제공합니다. 이는 C++에서 안전하고 간편하게 문자열을 생성할 수 있도록 설계되었으며, Python의 f-string이나 format() 함수와 유사한 기능을 제공합니다.왜 std::format을 사용해야 할까요?기존의 문자열 포맷팅 방식인 printf 계열 함수나 std::ostringstream 등을 사용할 때는 타입 안전성이나 가독성 측면에서 한계가 있었습니다. std..
모던 CMake를 활용하여 효율적인 C++ 프로젝트 빌드 시스템을 구축하는 방법을 계속해서 알아보겠습니다. 이번 글에서는 CMake를 활용한 테스트 설정과 CI/CD 파이프라인에 연동하는 방법에 대해 다루겠습니다.CMake와 테스트 프레임워크소프트웨어 품질을 높이기 위해서는 단위 테스트(Unit Test)가 필수적입니다. CMake는 테스트를 지원하기 위한 모듈과 명령어를 제공하며, 다양한 테스트 프레임워크와 쉽게 연동할 수 있습니다.CTest 소개CTest는 CMake에 내장된 테스트 러너로, 테스트를 실행하고 결과를 보고하는 기능을 제공합니다.enable_testing(): 테스트를 활성화합니다.add_test(): 테스트를 등록합니다.Google Test와 CMake 연동Google Test는 C+..
빅테크(Big Tech) 기업에서의 성공은 기술뿐만 아니라 그 회사의 문화, 업무 방식, 그리고 팀과의 협업 적합성, 즉 "fit"에 크게 좌우됩니다. 이 글에서는 빅테크 fit test를 통해 당신이 빅테크 환경에서 잘 적응할 준비가 되었는지 점검하고, 부족한 부분을 채울 수 있는 방법을 구체적으로 살펴보겠습니다.1. 빅테크의 주요 특징빅테크 기업은 보통 아래의 공통된 업무 문화를 가집니다. 각각의 특징을 예시와 함께 살펴보겠습니다.데이터 중심 문화예: 구글은 A/B 테스트를 기반으로 사용자 경험을 개선합니다. Gmail의 스팸 필터는 데이터 분석을 통해 지속적으로 정확도를 높입니다.협업 지향예: 메타에서는 "Code Review Culture"가 매우 중요합니다. 동료들이 서로의 코드를 리뷰하며 품질..
C++20의 새로운 기능들을 소개하는 시리즈의 일곱 번째 글에 오신 것을 환영합니다. 이번 글에서는 컴파일 타임 상수 표현식을 더욱 엄격하게 제어할 수 있는 consteval과 constinit 키워드에 대해 자세히 알아보겠습니다.consteval과 constinit이란 무엇인가요?C++20에서는 컴파일 타임 상수 계산을 더욱 엄격하게 관리하기 위해 consteval과 constinit 키워드가 도입되었습니다.consteval: 함수를 컴파일 타임 상수 표현식으로만 평가되도록 강제합니다.constinit: 변수가 컴파일 타임 초기화되도록 보장합니다.이를 통해 상수 표현식과 관련된 버그를 방지하고, 코드의 안전성과 명확성을 높일 수 있습니다.왜 consteval과 constinit을 사용해야 할까요?기존의..