개발 영어 문법

방금 한 일 보고: 현재완료와 과거

결과가 지금 남아 있나, 언제 했는지 말하나

2장 · Unit 2 · 현재완료 · 읽는 시간 약 10분

목차 · 진행 0%

    리뷰어가 PR에 "Any update on this?"라고 물었다. 지적받은 부분은 어제 저녁에 고쳐서 푸시해 두었다. 한국어로는 "어제 고쳤어요, 다시 봐 주세요"다. 고친 것도, 푸시한 것도 지나간 일이니 영어로도 과거형(past simple)을 쓰면 될 것 같다. 그런데 영어에는 지난 일을 말하는 형태가 둘 있다.

    이 장에서 쓰는 문법 용어
    용어뜻
    과거형(past simple)지난 일을 말하는 동사 꼴. 규칙 동사는 기본 꼴에 -ed를 붙인다(fix → fixed). 예: The build failed.
    과거분사(past participle)동사의 세 번째 꼴. 규칙 동사는 과거형과 같고(fixed), 불규칙 동사는 따로 있다(do → did → done). 예: The review is done.
    현재완료(present perfect)have/has + 과거분사. 지난 일이 지금과 이어져 있을 때, 특히 그 결과가 지금 남아 있을 때 쓴다. 예: I've pushed the fix.
    예측먼저 답해 보세요

    리뷰어에게 보낼 답장으로 문법이 맞는 것은?

    규칙: 결과가 지금 남아 있나, 때를 말하나

    A. 지난 일인데 그 결과가 지금 남아 있으면 현재완료, 곧 have + 과거분사(past participle)를 쓴다. 고쳐 놔서 지금 리뷰할 수 있다, 머지돼서 지금 main에 있다처럼 지금 상황을 알리는 말이다(British Council: Present perfect).

    • I've pushed the fix. (지금 브랜치에 있으니 보면 된다)
    • The PR has been merged. (지금 main에 들어가 있다)
    • I've added a test for the empty case.

    B. 언제 했는지 말하면 과거형을 쓴다. yesterday, last week, an hour ago, on Monday, at 14:02처럼 끝난 때가 붙으면 현재완료가 아니라 과거형이다. 같은 문서가 "언제 일어났는지 말하면 과거형을 쓴다"고 설명한다.

    • I pushed the fix an hour ago.
    • The deploy failed at 14:02.

    C. just, already, yet은 현재완료와 자주 같이 쓴다. just는 '조금 전에', already는 '이미(지금보다 앞서)', yet은 '지금까지'라는 뜻이다. yet은 주로 부정문(negative)과 의문문(question)에 쓴다(British Council: just, yet, still, already).

    • I've just merged it.
    • Has it been deployed yet? / It hasn't been deployed yet.

    미국 영어에서는 I already merged it., Did you merge it yet?처럼 already나 yet과 함께 과거형을 쓰는 일도 흔하다(Cambridge: Present perfect simple). 동료가 그렇게 써도 틀린 것이 아니다. 다만 B처럼 끝난 때를 직접 말하는 표현(yesterday, ago)과 현재완료를 같이 쓰는 것은 미국 영어든 영국 영어든 틀린다.

    표현: 상태 보고와 장애 보고

    글의 종류에 따라 주로 쓰는 시제(tense)가 대개 정해진다.

    글주로 쓰는 시제예
    리뷰 반영 알림현재완료I've addressed your comments.
    진행 상황 업데이트현재완료 + yetThe fix has been merged but hasn't been deployed yet.
    이슈 종료 코멘트현재완료This has been fixed in #123.
    장애 보고의 타임라인과거형At 14:02, error rates spiked. At 14:10, we rolled back the deploy. (roll back: 이전 버전으로 되돌리다)
    원인 설명과거형The cache key didn't include the locale.

    장애 보고서는 대개 "현재 상태"를 현재완료로 먼저 한 줄 쓰고(The issue has been resolved.), 그 아래 타임라인과 원인은 과거형으로 쓴다. 시간이 붙은 사실을 늘어놓는 부분이라서다.

    한국어 다리'-었다' 하나, 영어 두 갈래
    한국어로는'고쳤어요', '어제 고쳤어요', '방금 고쳤어요'가 모두 같은 '-었-' 하나를 씁니다.
    영어로는결과가 지금 중요하면 I've fixed it, 언제 했는지가 붙으면 I fixed it yesterday를 씁니다.
    같은 점둘 다 이미 끝난 일을 말합니다.
    그대로 옮기면한국어 문장은 '어제'를 붙여도 형태가 그대로라서, 영어로 옮길 때 I have fixed it yesterday처럼 현재완료에 끝난 때를 붙이기 쉽습니다. 때를 붙이는 순간 과거형으로 바꿉니다.

    함정 찾기: AI가 다듬어 준 상태 업데이트

    함정 찾기이 상태 업데이트에서 시제가 틀린 줄은?
    내가 AI에게 한 요청
    결제 버그 진행 상황을 팀 채널에 올릴 영어 업데이트로 다듬어 줘.

    의심스러운 줄을 모두 눌러 표시한 뒤 “검토 끝”을 누르세요. 함정은 2개입니다.

    연습

    확인 문제연습

    1. 리뷰 코멘트를 모두 반영하고 방금 푸시했다. 리뷰어에게 남길 말은?

    2. 장애 보고서 타임라인:
    "At 09:15, the payment service ___ responding."

    3. 아직 배포 전인지 물을 때:
    "Has the hotfix been deployed ___?"

    다음Unit 3. 하고 있는 일: 현재진행형아직 끝나지 않은 일, "지금 보고 있어요"는 현재진행형으로 말합니다.

    『개발 영어 문법』 Unit 2. 방금 한 일 보고: 현재완료와 과거 · younggeun0. Claude와 함께 썼습니다. 사실 주장은 공식 문서로, 데모 결과는 실제 브라우저로 확인했습니다.

    보기 옵션