[내일배움캠프 사전캠프] Python 랜덤 닉네임 생성기, 주니어 데이터사이언티스트에게 하고 싶은 이야기들

sleekstar·2025년 5월 9일

코딩 스터디

랜덤 닉네임 생성기

랜덤한 닉네임을 생성하는 파이썬 코드를 작성해보세요.
사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 print 할 수 있습니다.
(아래의 키워드를 사용해주세요!)

  • 기철초풍, 멋있는, 재미있는
  • 도전적인, 노란색의, 바보같은
  • 돌고래, 개발자, 오랑우탄

문법 정리

lambda 매개변수: 표현식

lambda x: x + 1

⇒ 입력값 x를 받아서 x+1을 반환하는 일회성 함수

  • 간단한 연산, 한 줄 짜리 함수에 적합. map, filter 등에 사용

map(함수, 리스트): 리스트의 각 요소에 지정한 함수를 하나씩 적용한 결과를 반환

‘ ‘.join(…): 선택된 요소들을 공백으로 이어줌

답안 1 (lambda 이용)

import random

lists= [
    ['기절초풍', '멋있는', '재미있는'],
    ['도전적인','노란색의', '바보같은'],
    ['돌고래', '개발자', '오랑우탄']
]

create_random_nickname = lambda: ' '.join(map(random.choice, lists))

print(create_random_nickname())

답안 2

import random

list_1= ['기절초풍', '멋있는', '재미있는']
list_2= ['도전적인', '노란색의', '바보같은']
list_3= ['돌고래', '개발자', '오랑우탄']

def create_random_nickname():
    #return random.choice(list_1)+' '+random.choice(list_2)+' '+random.choice(list_3)
    return (f'{random.choice(list_1)} {random.choice(list_2)} {random.choice(list_3)}')

my_nickname = create_random_nickname()
print(my_nickname)

<답안 2> 중간에 주석 처리한 부분은 저 방식으로 대체할 수도 있다는 의미이다.

원래 답안 2를 먼저 썼는데, 더 간결하게 할 수 없을지 고민하다가 람다를 쓰는 답안 1도 작성해 보았다.

아티클 스터디

주니어 데이터사이언티스트에게 하고 싶은 이야기들

[주제]

  • 주니어 데이터사이언티스트에게 필요한 조언

[아티클 요약]

  • 어떤 역량을 특화할 것인가?
  • 다양한 성장 경로 존재: (1) PM, 경영자와 같은 도메인 전문가, (2) 통계 및 머신러닝 특화 분석 전문가, (3) 분석 역량을 갖춘 엔지니어
  • 한번에 한 경로씩 선택에서 집중하라. 커리어의 방향성을 결정하면 자신에게 맞는 기회를 찾고 전문성을 쌓는 것이 더 쉬워진다.
    -커리어에서의 깊이와 넓이의 균형에 대한 고민도 필요; 특정 도메인의 전문가 vs 폭넓은 경험
  • 어떤 업계/회사/팀에 지원할 것인가?
    :구체적으로 데이터 사이언티스트가 일하기 좋은 회사의 조건

조건 (1) : 회사의 미래에 데이터 활용이 얼마나 중요한 전략적 위치를 점하는가? (판별 기준: 채용 규모 확인)

조건 (2): 내가 들어가서 가치를 만들 수 있는 포지션인가? (판별 기준: 인터뷰에서 팀의 현재 니즈 및 전략적 방향 상세히 질문)

조건 (3): 회사가 얼마나 기술적인 성장에 초점을 맞추는가? (판별 기준: 채용 공고/ 외부 자료를 통해 회사의 기술 역량 확인)

조건 (4): 회사/조직이 지속적인 비즈니스 가치를 만들어 내는가? (판별 기준: 지원하는 조직이 회사에 어떤 기여를 하고 있는지, 스타트업이라면 비즈니스 성장 커브 및 건강성은 어떤지 따져볼 것)

  • 코딩과 모델링은 얼마나/무엇을/왜 잘 해야 할까?
    단순 리포팅 업무만으로는 자신의 가치를 지속적으로 키우기 힘들다.
    -가치를 만들어내는 방법? 분석의 스케일링자동화
  • 분석의 스케일링 : 개발된 분석 기법을 다른 사람들도 쓸 수 있도록 하는 것.
  • 자동화 : 반복되는 의사결정을 단순화 및 자동화
    데이터 사이언티스트는 사내 모든 구성원이 분석가의 역할을 수행하는 것을 가능하게 한다.

⇒ 예: AB테스트 도입 초기는 분석가가 분석을 수행. 그러나 이후 수많은 실험이 수행되는 환경에서는 비슷한 유형의 실험에 대한 분석은 자동화하고, 분석 조직은 새로운 지표와 분석 기법 개발에 집중하는 것이 최선.
*이를 위해서는 실력있는 엔지니어와 분석가들이 함께 일할 수 있는 환경이 뒷받침되어야 함.

  • 인터뷰는 어떻게 준비할 것인가?
    지원하려는 회사와 제품, 팀에 대한 이해에 노력을 기울이기.

💡 다음과 같은 질문에 대해 충분히 고민

  • 이 회사에서 나는 어떤 인프라와 데이터를 사용하게 될 것인가?
  • 지원하는 팀이 당면한 분석 및 엔지니어링 문제는 무엇인가?
  • 이 중 내 스킬셋과 관심사에 부합하는 부분은 무엇일까?
  • 지원 회사/팀/분야에 대한 공개된 자료는 어디서 찾을 수 있을 것인가?
  • 내 성장 목표는 지원 회사/조직의 중장기 목표와 얼라인(align)되는가?

⇒ 데이터 사이언스 인터뷰는 가상의 케이스에 대한 문제 해결력 평가에 초점
⇒ 이력서 작성은 길고 화려 X, 핵심적인 이력이 중요.

[인사이트]

한국이나 미국이나 데이터 분석가와 데이터 사이언티스트를 비슷한 의미로 사용하는 것 같은데, 필자는 일반적으로 ‘분석가’라는 타이틀을 선호하지 않는다. ‘분석가’라는 단어가 이미 존재하는 데이터 파이프라인 및 인프라에서 SQL등을 사용해서 데이터를 뽑고 리포팅하는데 그치는 역할로 들리기 때문이다.

그동안 애매하다고 생각했던 ‘데이터 분석가’의 포지션에 대한 고민이 조금 해결되는 문장. 처음에 데이터 분석가라는 말을 들었을 때, 리포팅의 이미지가 더 강했던 것이 사실이다.

예전에 사내 구성원들도 필요할 때 데이터를 분석할 수 있도록 ‘데이터가 흐르는 조직’을 만드는 것이 중요하다는 아티클을 읽었던 기억이 있는데, 당시에도 구성원 모두가 어느 정도의 데이터 해석 역량을 갖추고 있다면, 데이터 분석가가 얼마나 차별점을 가지는지가 의문이었다.

오늘 아티클을 통해서 그러한 방식으로 조직을 끊임없이 개선시켜 나가는 것이 데이터 분석가(사이언티스트)가 하는 일이며 그것이 차별점이 아닐까 하는 생각을 하게 되었다.
핵심은 ‘데이터 사회에서 가치를 창출’하는 게 아닐까?

  • 사내의 데이터 분석 프로세스를 계속해서 더 편하게 만들고, 유의미한 결과를 이끌어내는 데이터 분석 기법을 개발.

팀원 전체의 인사이트

[공통 인사이트]

  • 데이터 사이언티스트가 가치를 창출할 수 있는 부분은 분석의 스케일링과 자동화라고 필자가 언급한 바 있다. 데이터 분석가가 회사의 발전에 어떤 방식으로 기여할 수 있고, 어떤 면에서 차별화될 수 있을지 방향성을 찾을 수 있었다.

[의미 있었던 의견]

  • 데이터 분석가와 데이터 사이언티스트가 하는 일에 약간 차이가 있다. 데이터 분석가는 데이터를 취합/분석하고 그에 맞게 비즈니스 인사이트를 제시한다. 반면, 데이터 사이언티스트는 데이터 분석가들이 분석하기 좋은 환경을 만드는, 즉 데이터 분석을 자동화하는 업무를 수행한다.
profile
기록용

0개의 댓글