이제는 패스워드 매니져와 보안 토큰을 사용할 때

점점 많은 사람들의 생활의 축이 인터넷 으로 옮겨 가면서 패스워드 관리의 중요성이 부각되고 있다. 특히 개발자들은 웹으로 제공되는 다양한 도구들도 사용하게 되기 때문에 패스워드 관리의 중요성은 두말할 필요가 없다.  다음 방법을 통해 패스워드 입력 시간은 줄어들고 기억해야할 패스워드의 수도 적어지며  혹시 모를 패스워드 노출 사고에도 더욱 안전해 진다.  보안 토큰에 관련 해서는 별도의 Wiki 링크에  더 자세히 적는다.

사이트 별로 다른 패스워드 사용

패스워드 관리의 기본이라고 할 수 있다. 노출된 패스워드가 다른 사이트에서 동작하지 않게 하기 위해 중요하다. 특히 소규모 쇼핑몰이나 토렌트, 도박 등,, 위험도가 높은 사이트를 사용할수록 본인이  알아차리지 못한 사이에 주요 계정들을 탈취 당할 수 있다.  기사에 의하면  52%는 패스워드를 재사용한다. 왜일까? 업계에는 일상 생활에서 여러 패스워드를 번갈아 입력해야 하는 피로를 일컫는  Password Fatigue라는  단어가 있다. 그래서 현실은 대부분의 사람들이 패스워드가 노출 되도 그대로 사용한다는 것이다. (관련기사 )

패스워드 매니져를 사용한다

사이트 별로 다른 패스워드를 사용하기 위해선 현실적으로 도구의 도움이 반드시 필요하다.  아무런 의미도 가지지 않는 임의의 문자 10자리를 매번 생각해내기는 거의 불가능하다. 각 사이트 별로 암기하는 것도 힘들고 적어놓고 관리하기도 힘들다. 그럴때 도움이 되는 것이 패스워드 매니져이다. 이를 통해 다양한 사이트나 앱에서 회원가입시에 안전한 패스워드를 생성할 수 있으며 로그인시에도 자동입력까지 지원 받을 수 있다. 필자는 무료 1Password와 크롬의 비빌번호 관리자, mac의 키체인을 번갈아 가며 사용한다.

보안 토큰을 활성화한다

패스워드 매니져의 사용을 장려하는  Wired의 기사에도 브라우져에서 제공하는 패스워드 관리자를 사용하지 말것을 장려하고 있다. 로컬 컴퓨터의 관리자 자격이 있으면 누구나 평문의 패스워드를 볼 수 있다는 우려때문이다. 하지만 기사에 나온 1Password나 LastPass를 100% 신뢰할 수 있는가? 물론 나는 돈을 지불하고 서비스를 사용할 만큼 해당 서비스를  신뢰하고 있지만  언제든지 예기치 않은 사고는 일어날 수 있다.

그래서 최악의 경우를 고려해서 까지 보안을 강화할 수 있는 방법이 있다. 바로 구글이나 패스워드 매니져등 탈취 당하면 다른 사이트의 보안까지 위협 받을 수 있는 사이트에 보안 토큰을 등록하는 것이다. 이 방법으로 물리적인 토큰없이는 비밀번호 만으로는  로그인이 허용되지 않는다. Google AuthenticatorAuthy와 같은 2MFA 앱을 사용해도 좋지만 매번 앱을 열어서 코드를 입력하기는 번거로우며 OTP이외에 다양한 인증방법도 지원하지 않는다. 인증시에 정해진 토큰을 가지고 있는지 확인하는 과정은 엔터프라이즈급 보안에서는 최고등급이라고 할 수 있다.

민감함 데이터를 다루지 않는 일반인의 경우에는 1번과 2번의 조합으로 충분하지만 개발자와 같이 여러 종류의 웹앱을 사용하는 사람들은 반드시 보안 토큰 등록까지 활성화 해놓길 바란다.

참고

https://haveibeenpwned.com (이메일을 입력하면 해외 사이트 기준으로 정보가 누출된 적 있는지 알려준다)

https://twofactorauth.org (2FA를 지원하는 사이트들의 목록을 제공한다. 일반 사용자들이 쓰는 OTP는 소프트웨어 토큰, 유비키나 타이탄 키는 하드웨어 토큰이다)

https://passwords.google.com (구글에 저장된 데이터를 기반으로 얼마나 많은 사이트에서 중복된 패스워드를 사용하고 있는지 알 수 있으며 패스워드가 누출된 사이트에 대해서는 변경을 권하기도 한다)

패스워드 매니져

https://www.dashlane.com

https://www.lastpass.com

https://1password.com

보안토큰

https://tacogrammer.com/wiki/fido-u2f-유비키-yubikey/

https://cloud.google.com/titan-security-key/

https://www.yubico.com/product/yubikey-5-nano

이제는 패스워드 매니져와 보안 토큰을 사용할 때

아틀라시안 취업후기

채용의 시작

올해 초에 아틀라시안의 리크루터로부터 연락이 왔습니다. 당시에 프로젝트가 한참 진행중이었고 특별한 불만이 없었기에 평소처럼 거절하려고 했지만, 지금까지 근무했던 모든 회사들이 아틀라시안의 제품들을 사용했기 때문에 자연스럽게 어느 정도의 불씨는 조금 남겨두고 싶었습니다. 리크루터에게 프로젝트 런칭하고 다시 연락 하겠다고 말한 뒤 잠시 잊고 있었습니다. 6개월쯤 뒤에 프로젝트 런치가 다가오면서 문서화나 프로젝트 관리 작업에 집중하는 기간이 되었습니다. 역시 아틀라시안 제품을 주로 사용해서 관리를 하게 되니 자연스럽게 이전의 약속이 생각나더군요. 사용자 경험이 너무 좋아서 떠오르건 아니고 Jira의 이슈 렌더링 속도가 느리거나, Confluence 검색의 결과가 만족스럽지 못했던 경험 때문이었습니다. (입사해보니 어느정도 이해는 되는 문제지만 고객에게 변명이 되진 않겠지요)

지원한 포지션은 시니어 자바 개발자(요샌 이렇게 노골적으로 언어를 박는 경우는 없을 듯 하네요. 입사하고는 코틀린을 사용합니다.)이며 기술 면접 프로세스가 문제풀이에만 집중하는 실리콘 밸리 스타일 이라기 보다는 먼 옛날 네이버나 쿠팡, 라인에서 보았던 면접과 비슷했습니다. 합격을 위해선 당장 마이크로서비스 환경에서 JVM 언어로 개발 경험 여부가 중요할 것 같습니다. 여기서 언급하는 프로세스는 시드니 오피스의 채용 이야기이고 실리콘밸리의 채용은 다르다고 알고 있습니다.

리크루터와 탐색전

어찌 됐던 그렇게 가볍게 리크루터와 30분간의 탐색전을 가졌습니다. 회사가 어떤 방향으로 움직이고 있고 어떤 팀들이 존재하며 리로케이션과 비자 관련된 이야기를 나눴습니다. 아틀라시안의 주력 상품인 JIRA는 설치해서 사용하는 고객들이 주를 이루고 있지만 미래는 클라우드 서비스를 메인으로 하려 한다며 저와 같은 서비스 개발 경험 있는 사람들을 찾는다고 이야기 했습니다. 다른 기업에서는 내부 정보로 잘 공개하지 않는 내용들도 주저없이 다 이야기 해서 놀랐는데 면접 내내 Open company, no bullshit 라는 기업 가치를 제대로 느꼈습니다. 지켜야할 내용들 이외에는(고객 데이터등) 비밀이 많이 없는 회사입니다.

1차 면접

일반적으로 1차 면접 전에 코딩 테스트가 존재하지만 저는 리크루터로부터 연락이 직접 온 경우라 그런지 코딩 테스트는 생략 된 듯 합니다. 1차 면접은 한시간에 걸친 페어 프로그래밍이었는데 문제가 적힌 PDF와 스켈레톤 프로젝트를 면접 전에 전달받습니다. 면접자가 편한 IDE로 프로젝트를 열고 1번에서 5번까지 문제를 해결해야 합니다. 계속 면접 관과 이야기 해가며 어떤 방향으로 구현해야 하는지 이야기 해야 하는데 면접 시간에 비해 너무 큰 그림을 그리고 있으면 너가 생각하는 방법도 좋지만 조금 더 간단하게 풀어보라고도 합니다. 아마 실전 경험 많으신 분들에게는 LeetCode나 경진대회 스타일의 문제보다 수월하게 해결 가능한 문제들입니다. 반대로 이전회사와 아틀라시안의 기술 스택이 일치하는 않는다면 면접이 힘들어 집니다. TDD 나 멀티 쓰레딩, 자바코어등 실전 경험이 얼마나 있는지를 면접에서 보고 싶어하는 느낌이었습니다. 코딩으로 문제 해결하는게 주된 목적이기 때문에 커뮤니케이션이 많이 필요하지는 않았습니다.

1차 면접 뒤 다음날 바로 연락이 왔고, 여러가지 좋은 점과 개선할 점을 다 알려주었습니다. 이렇게 자세한 피드백 역시 Open company라는 기업 가치에 맞는 행동이었고 지원자로서는 굉장히 좋은 인상을 받았습니다.

2차 면접

2차 면접은 역시 페어 프로그래밍 약간과 개발관련 질문들 다수를 이루는 기술 면접입니다. 개발자 2명이 참석하며 한시간 가량은 컴퓨터 공학 관련이나 아키텍쳐에 관련된 질문들을 하고 나머지 30분 정도는 앞 단계 보다는 가벼운 코딩 테스트 입니다. 한시간에 걸쳐 받은 질문들은 대략 다음과 같습니다.

  • 프로젝트 구성이나 사용하는 기술들에 관해 설명, 면접관이 잘 아는 주제에 대해서 이야기 하면 더 깊은 질문이 들어옵니다.
  • 가장 선호하는 언어와 이유, 자바에 추가되면 좋을 것 같은 기능
  • 확장성 있는 서비스 어떻게 설계하나,
  • 데드락이 무엇이며 어떻게 방지하는가
  • 서버 느려 졌을 때 프로파일링 하는 방법
  • JVM 메모리 관련 튜닝 경험들, JVM 메모리 구조에 대해서 설명해보라
  • 시큐어 코딩하는 방법. XSS등 웹 보안 취약점 설명하고 어떻게 막을 수 있는지

한시간에 걸쳐서 대답하는데 이 역시 JVM 기반으로 마이크로 서비스 개발해본 경험이 있고 관련 주제들에 대해서 깊게 생각해본적이 있다면 대답하기 어려준 주제들은 아닙니다. 역시 문제는 영어.. 😞 합격 할 때 받은 피드백에는 몇몇 주제에 대해서 논리가 부족했다는 식으로 이야기가 나오는데 아는 질문이었지만 영어때문에 취객처럼 횡설수설한 것 같습니다. 그렇게 질문 공세 한시간이 지나면 뜬금없이 코딩 문제를 던져줍니다. 자바로된 라이브러리를 작성해보라고 하는데 1차 면접보다 꼼꼼하게 작성할 필요는 없고 수도 코드 수준에서 작성했던 것 같습니다.

이번에도 1차 면접과 마찬가지로 다음날 바로 합격 연락과 함께 피드백은 보내줍니다. 다시한번 언급하지만 면접 과정 내내 피드백 루프가 빠르게, 숨기는 것이 없이 움직이는 오픈 컴퍼니라는 인상을 주었습니다. 개발 회사 면접을 여러번 보았지만 아틀라시안 처럼 솔직하게 피드백을 해주고 회사의 분위기가 면접 과정에 그대로 들어나는 회사는 없었습니다. (합격한게 아틀라시안 밖에 없어서 그럴 겁니다 아마도. 😂 )

리크루터 찬스

아마 2차 면접까지 보고 났으니 리크루터 입장에서는 합격할 가능성이 높아졌다고 판단한 것 같습니다. 짧게 30분 정도 지금 까지 경과와 다음 단계 들은 어떻게 진행 되는지에 대해서 알려 줍니다. 특히 다음 면접에서 떨어지는 사람들이 많다고 절대로 방심하지 말라는 이야기를 합니다.

3차 면접

3차 면접은 매니져 2명과 한시간, 시니어 매니져 한명과 30분 동안의 면접입니다. 아틀라시안은 팀 협업 도구를 만드는 회사이기 때문에 팀으로 일할 수 있는 사람들을 뽑습니다. 기술 면접에 비하면 쉽게 보일 수도 있습니다. 네, 사실 어떻게 보면 가장 쉬운 단계 라고도 할 수 있습니다. 특히 관련 업계에서 애자일로 개발하셨던 분들은 몸에 체득하고 계실 거라 그저 하던 대로 이야기하면 술술 풀릴 수 도 있습니다. 다만 더 논리적으로 이야기 하기 위해 이론적인 지식을 어느 정도 가지는 것이 좋습니다. 아래 더 읽기 영역에 도움이 될 만한 링크들을 추가합니다. 그냥 회사에서 시키는 데로 좋아서 했다 보다는 업계에서 누구나 동의하는 이유를 대는 것이 훨씬 설득력이 있겠죠. 아참, 매니져들도 개발에 문외한이 아니라 전부 얼마전까지 개발 하던 사람들이라 기술 관련된 질문도 받게 됩니다.

저도 3차는 그냥 지나가는 라운드라고 생각했지만 3차에서 끝나지 않고 매니져 한명과 한시간 더 면접을 하게 됩니다. 이번 면접의 시니어 매니져는 제가 질문한 내용에 관해서 너무 열정적으로 대답해줘서 동기부여가 됐습니다.

3.5차 면접

현재의 매니져와 한시간 가량 더 면접을 보게 되었습니다. 여러가지 인성 질문들과 함께 주로 협업 능력을 알아보는 질문들을 많이 받았습니다. 다른 시니어 개발자들과 어떻게 커뮤니케이션 하는지, 새로운 기술들을 어떻게 배우고 도입하는지 등, 기본적으로는 3차 면접의 연장선에 있지만 30분쯤 지난 시점에 합격이라는 느낌을 받았습니다. 어느 정도 눈치로 합격이란 걸 알게 되서 좋았습니다. 조금 웃긴 사실은 공식적으로 합격이라는 메일을 그 뒤로도 받은 적은 없습니다. 꼭 그걸 말로 해야 아나? 하는 느낌입니다. 보통은 합격 통보까지 적게는 2-3일 많게는 이주까지 걸렸는데 아틀라시안은 빨리 알게 되어서 굉장히 스트레스가 적었습니다. (합격자들의 공통된 경험일까요?)

요구하는 영어 수준

당연하지만 잘하면 잘할 수록 좋습니다. 영어가 안되면 합격이 문제가 아니라 넘어와서 생활 자체가 전혀 즐겁지 않을 수 있습니다. 일단 저는 토플 점수 100점 언저리인데, 힘들게 살아야 하는 점수입니다. 다만 100점 정도면 인터뷰는 합격할 수 있는 레벨이라고 봐야겠지요.

보상 수준

글래스도어에서 검색해 보시면 얼추 맞습니다. 이건 사실 전세계 공통이지만 숫자가 커보인다고 해서 여유롭게 지낼 수 있는 금액은 아닙니다. 어느 곳이나 살기 좋은 도시들은 이민자들로 넘쳐납니다. 시드니도 마찬가지로 동양계 이민자들(반 이상은 중국계)이 많이 늘어나서 생활비 대비 집값이 엄청나게 증가했습니다. 하지만 여기서도 소프트웨어 엔지니어는 일반적으로 나쁘지 않은 생활 수준을 누릴 수 있습니다.

더읽기

아틀라시안 취업후기