-
OCP 자격증 취득을 위한 로드맵!
-
취향저격하는 알고리즘의 원리!
-
[개발자 인터뷰] 삼성전자 시뮬레이션팀 연구원 이야기
이번에 만나본 현직자는 삼성전자 시뮬레이션팀 연구원입니다!궁금할만한 내용들을 쏙쏙 담아 왔습니다. 바로 보러 가시죠 :) 1. 맡고 계신 부서와 업무에 대해 간단히 말씀해 주세요!저는 삼성전자 시뮬레이션 팀에 있고, 팀 이름은 CSE 팀이라는 곳에 있어요. Computational Science and Engineering (계산과학공학)이란 팀이고 거기서 각종 시뮬레이션 업무들을 하고 있구요.저희 팀에서는 메모리 소자, 비 메모리 소자, LED 같은 것도 반도체를 시뮬레이션 하고 있어요.아니면 새로운 시뮬레이션 하기 위해서 프로그램 개발 같은 것도 하고 있고요.메인 시뮬레이션 하는 건, 소자 시뮬레이션이랑 금속 선 같은 거 불량 나나 안 나나 시뮬레이션 하고 있어요. 2. 여기까지 오게 되신 전체적인 커리어에 대해 말씀해 주세요.저는 물리학과를 나왔는데...원래 학교 다닐 때, 물리 쪽을 좋아했었고,그전에는 저는 약간 전자 소자 쪽에도 관심 있었어요.그래서 대학교 2학년 때, 전공을 어디 갈지 하다가 일단 전자과를 선택을 했고,근데 전자과를 가서 소자를 이해하기엔 어려움이 있어서, 물리를 복수 전공을 했구요.물리가 되게 재밌었어요..그렇게 해서 대학원을 물리학과로 갔었고, 물리학과에서 아까 말했던 원자 시뮬레이션..계산 이론 물리를 했었고, 박사 학위를 따고, 박사 연구원을 1년간 했구요.학교에서 13년 있었어요. ㅋㅋㅋ 3. 반도체 시뮬레이션 절차에 대해서 간단히 설명해 주실 수 있을까요?맨 처음에는 협업하는 팀에서 문제 제기를 하거나 어떤 걸 하고 싶다는 구조가 있어요.그러면 (시뮬레이션 팀에서는) 컴퓨터 캐드 하듯이 만드는 거예요.시뮬레이션을 찾아보면은, TCAD를 찾아보면 많이 나와요.Technical CAD라고 Technology Computer Aided Design인데캐드처럼 구조를 만든 다음에 그 구조에서 이제 전압을 걸든지 해서 시뮬레이션을 하는 거거든요. 그래서 그림을 그리듯이 구조를 만들고, 거기서 구조를 만든 다음에 그 사람들이 요구하는 걸 보죠.전압을 가하면 어떻게 소자가 작동하는지 보고,아니면은 배선을 깔고 싶은데 끊어질 수 있나와 같은 안정성 같은 걸 물어보고,열이 많이 나지 않겠냐 하고 해 보고,이런식으로 구조를 만들고 캐드를 만들고 각각 거기에 맞는 시뮬레이션을 해주는 거죠.그걸 넘겨주면.. 왜 그렇게 되는지를 분석은 해야 되겠지만은, 이런 식으로 반영하는 거죠. 4. 되게 꼼꼼하고 절차 지향적이실 것 같은데 특별한 직업병이 있을까요? 절차 중요하죠..게임할 때, 롤 하거나 할 때, 스타크래프트하고, 절차대로 가는게 좋죠 ㅋㅋㅋㅋㅋ 5. 그렇다면 해당 직무를 하려면 꼭 필요한 지식 또는 역량은 어떤 게 있을까요? 오픈 마인드가 제일 중요해요.오픈 마인드로 해서 배우겠다는 마음이 있으면 좋은 것 같아요.학부 이공계 나왔으면은 뭐 괜찮은 것 같아요.뭐 보면은 수학과 나온 사람도 있고, 철학과 나온 사람도 있고.. 문과도 있죠..그나마 편하게 이 직무를 수행한다면 요새는 그래도 전자과 나오면 좀 편하게 할 수 있죠.. ㅋㅋ6. 이 직무랑 잘 맞나요?이쪽 직무랑 연구를 좋아하는 사람은 진짜 잘 맞는 게..이게 진짜 실험하는 쪽으로 가면은 보통 이런 걸 해보겠다고 결정을 내리면은 일단 나오는데 한 달이 넘게 걸려요.그리고 제대로 실제로 보냈던 대로 나온 적도 없고 또 돈이 많이 들어가기 때문에 자기가 해보고 싶어도 못하는 경우가 많거든요.근데 시뮬레이션은 내가 만들고 싶은 대로, 말 그대로 시뮬레이션이니까이것 좀 궁금하면 만져보고, 저것 좀 궁금하면 만져보고 하면 되니까. 남한테 허락도 안 받아도 되고,자기가 궁금하면 해보면 되거든요.7. 직무의 전망은 어떻게 바라보세요?전망은 아마 시뮬레이션은 계속 더 커질 거예요.이게.. 왜냐면은 어쩔 수가 없는 게 반도체 공정은 점점 어려워지고 있거든요.근데 옛날에는 뭐 소위 맨날 뭐 우리나라 반도체 막 시작하고 그럴 때는이게 들어보면은 손에다가 수레에다가 싣고 다니면서 손으로 작업하기도 하고 그랬다는데지금은 되게 그 뭐라 그래야 되지?.. 되게 복잡하거든요 공정이.엄청나게 많은 것들이 얽혀있고..예를 들어서 반도체 소자가 가로세로 1mm에 기본으로 1억개는 박아요.1억 개를 박아야되고 배선 연결을 오차 없이 1억 개가 동작을 해야 하거든요.그런 것들을 하다 보면은 이제 실험을 하는데 돈이 많이 들어갈 수 밖에 없어요.애초에 비싼 기술이 들어가는 거라서 맨 처음에 결정할 때, 신중하게 해야 되고,그리고 이것저것 많이 못 하기 때문에 항상 시뮬레이션 팀에 의지를 하는 편이거든요.점점… 왜냐면 실제로 만들기 점점 힘드니까 .. 그래서 전망은 좋을 것 같아요.자! 여기까지! 이지업이 준비한 현직자 인터뷰 내용이었습니다 :)조금은 생소하기도 한 '시뮬레이션 연구원', 조금 감이 오셨나요? IT 분야에서는 절대 빠질 수 없는 산업이 바로 반도체 산업인데요! 더 많은 반도체들을 개발할 수록 그를 위한 시뮬레이션 작업은 더 많이 이루어질 수밖에 없을 것 같아요. 이번 인터뷰 내용도 여러분에게 많은 도움이 되었길 바랍니다
-
[개발자 인터뷰] 구글 데이터 분석가 이야기
이번에 키미가 만나본 현직자는!구글 비즈니스 데이터 분석가입니다. 구글 데이터 분석가의 유익한 구글거림~ 바로 보러 가시죠! go~go~go~1. 요즘 데이터와 관련된 직업이 많이 생기고 있는데(데이터 사이언티스트, 데이터 애널리스트, 데이터 엔지니어)데이터 애널리스트가 어떤 직무인지 비교를 통해 알려주실 수 있을까요? [데이터 사이언티스트]데이터 사이언티스트는 보통 모델링 같은 것을 많이 하세요.그래서 데이터를 가지고 어떤 포캐스팅 모델(forecasting model)을 만든다던가A/B 테스트 라던가 그런 것을 많이 하시고,보통 석박사분들이 많이 하세요. 통계나 수학 전공하시는 분들이.*포캐스팅: 현재를 기점으로 미래를 예측하는 사고 방법[데이터 애널리스트]데이터 애널리스트는 데이터를 가지고 정리를 해서 트렌드를 파악하거나,비즈니스 임팩트를 낼 수 있는 부분을 파악하는 일들을 하는 거구요.[데이터 엔지니어]데이터 엔지니어는 데이터 애널리스트나 데이터 사이언티스트가 데이터를 가지고 플레이를 할 수 있게데이터베이스를 구축하고 뭔가 이런 시스템을 만드는 그런 역할이죠.[비즈니스 애널리스트]비즈니스 애널리스트는 데이터 애널리스트랑 비슷한 부분이 많고 조직마다 다르기는 하지만,비즈니스 애널리스트는 좀 더 비즈니스랑 관련됐다고 보시면 돼요. ♦ 매출에 관련되는 장표를 잘 만든다던가, 키 스테이크홀더(StakeHolder)들에게 메시지를 전달해주는♦인사이트를 뽑아내는 역할이고, 데이터 애널리스트는 말 그대로 데이터에 좀 더 집중이 되어있고,데이터를 분석하고 오류를 찾는다던가 그런 걸 주로 하는건데 저는 약간 중간이라 보시면 돼요.그래서 구글 내에서 제가 광고사업팀에 있는데 광고 관련, 비즈니스 관련 대시보드를 만든다던가툴을 만든다던가 하는건 좀 더 데이터 애널리스트에 가까운 것 같고 그리고♦ 이 데이터를 가지고 인사이트를 뽑아내서 영업팀에 도움을 주거나,♦ 전략을 수립하는데 도움을 주는 방향은 좀 비즈니스 애널리스트에 가까운 것 같아요. 2. 직무와 관련된 전공을 하셨나요? 아니라면 이 직무를 선택하게 된 계기는?보통 비즈니스 애널리스트와 데이터 애널리스트는 경영학과 출신 분들이 컨설팅을 거치고 나서 되시는 경우도 있고아니면 엔지니어 출신 분들이 하시는 경우도 있는데, 저는 후자에요.저는 전기전자공학부였어요. 전기전자공학부가 컴퓨터 사이언스와 비교해보면 코딩을 많이는 안하는데,어쨌든 저도 프로그래밍, 알고리즘 그런 쪽으로 공부를 했었고그러다가 이쪽으로 넘어오기 전에 제가 세일즈 마케팅 쪽으로 일을 했었어요.이전 직장이 에어비앤비인데 에어비앤비에서는 처음에는 마케팅 쪽으로 했어요.그 다음에 세일즈쪽에 있었는데, 사실은 전공이라는 전혀 상관은 없잖아요.근데 제가 스킬셋(Skillset;역량)으로는 프로그래밍을 할 수 있고 비즈니스 사이드에 있다 보니까데이터를 가지고 어떻게 전략을 짜고, 비즈니스 임팩트를 줄 것인지를 알게 되니까 도움이 많이 됐고,세일즈 조직 같은 경우나 뭐 마케팅 조직도 마찬가지지만 데이터에 대한 니즈는 많아서 센트럴팀에다가 요청을 해요.근데 이거를 제가 직접하다보니까 점점 이쪽(데이터 분석가)으로 와서, 이번에 이직하게 된 거죠. 3. 데이터 애널리스트가 되려면 필요한 지식과 자격증은 뭘까요? ( SQL / 프로그래밍 언어 / 기초학 등)프로그래밍은 언어 상관없이 하나는 무조건 꼭 해야 될 것 같아요.그래야 데이터 처리가 어떻게 되고, 어떻게 돌아가는지를 이해할 수 있으니까요.근데 데이터 애널리스트가 엔지니어는 아니다 보니까 직접 프로그래밍을 하는 경우는 없어요.하지만 SQL을 가지고 데이터를 뽑고 하는 게 어플리케이션을 만드는 프로그래밍은 아니지만,Python이나 Script등으로 tool을 개발하는 경우도 있고,어쨌든 프로그래밍 지식이 있어야 할 수 있는 거기 때문에 SQL을 알아야 돼요.근데 SQL을 회사를 안 다녀본 상태에서 책만 보고 하면 사실 큰 의미는 없거든요.그래서 제 생각에는 프로그래밍 지식을 자바라던가 C라던가 파이썬이라던가 상관없이 하나는 꼭 해야되고 거기에 플러스 SQL은 할 수 있어야 되는데,직접 경험해보기엔 쉽지 않으니까 작은 회사나 스타트업에서 경험을 해보면 좋을 것 같고,그 외에는 통계학이라던가 수학에 대한 백그라운드가 많으면 도움이 많이 되죠. 4. 데이터 애널리스트니까 뭔가 분석하는 거를 자연스럽게 많이 하실 것 같은데, 직업병 같은 게 있을까요?거의 모든 면에 있어서 숫자를 체크하는 것 같아요.드라마를 본다던가 그러면은 드라마의 시청률, 제작사 규모 뭐 이런 거를… 드라마 보면서 집중을 못 하고…ㅋㅋㅋ아 그리고 제가 뭘 하더라도 엑셀이나 구글 스프레드시트도 많이 쓰거든요.제가 아는 여자 동생이 남자친구랑 싸우면 아무 말도 못하고 혼나는 것 같다고…그래가지고 싸운 이유를 엑셀에 이렇게 쭉 써라, 왜냐면 이겨야 되니까. 그 친구는 싸워서 이기고 싶다가 목적이었어요.그래서 너의 포인트를 이제 쭉 엑셀에 쓰고 A라고 했을 때 반응 A, B, C 써보고 거기에 대한 너의 반응을 또 써보고 해라 했더니,와 저 미친놈 뭐지? 했다가 또 결국에 이겼어요 그렇게 해서. 5. 구글 데이터 애널리스트로 일하면서 가장 기억에 남는 경험은? 만족스런 경험 or 후회되는 경험제가 구글에서는 몇 달 안됐어요. 한 8개월 됐나? 회사를 한 번도 못 가봤거든요. 재택하느라.그래서 사실은 뭔가,, 그런 독특한 경험 같은 것은 없고 그래서 이거를 좀 예전 경험으로 말씀드리면전에는 에어비앤비에서 숙소 수를 늘리는 세일즈팀에 있었어요.숙소 수를 늘릴려면 사실 처음에 한 7년 전에는 그냥 좋은 집을 찾아서 다이렉트 영업 위주로 했었고, 도어 투 도어로.근데 이제 스케일이 좀 커지면 그렇게 할 수가 없으니까 어떤 지역의 어떤 타입의 어떤 숙소가 예약을 잘 받고..그런 것을 이제 분석을 해서 그렇게 세일즈를 하는데, 뭐 마찬가지로 거기도 인력이 많지가 않으니까분석 같은 것을 미국 본사에서 한국에 적용되는 것은 또 다르고, 아시아는 또 다르고.그러다 보니까 제가 좀 적극적으로 숙소 이런 이런 타입들이 예약을 더 잘 받고,어떻게 해야 예약을 더 많이 받는지 이런 걸 분석하고, 대시보드처럼 만들고 해서택틱컬한 세일즈를 성공사례를 만들어 일본 쪽이랑 인도 쪽에 ‘너네도 이렇게 해봐’ 하면서 전달해서 잘 된 경우가 있었어요. 6. MBTI 해보셨나요?네 저 해봤어요. ISTJ요.해외사이트 보면 MBTI가지고 비슷한 연예인들 해놓잖아요.그 중에서 그,, 본 아이덴티티의 멧데이먼으로 나오더라고요.소시오패스 같고 약간 내성적이고 목적달성을 위해 뭐든지 하고 그런 거…제가 지금 찾았는데 읽어드리면 정확하고 체계적이고 일처리도 신중하고 책임감 있는 성격이래요. 그래서 문제를 해결하는데 있어 과거의 경험을 잘 적용하고 반복되는 일상적인 것에 대해 인내력이 매우 강한 사람이래요. 청렴결백한 논리주의자래요. 청렴결백은 모르겠고 논리주의자는 맞아요.근데 제가 너무 신기한게 제가 ENFP거든요. ㅋㅋ제 와이프도 그래요.아 진짜요? 네 ㅎㅎ 하나도 안겹치는… 그래서 저는 약간.. 뭐지?...뭐가 제일 안 맞아요? 음 뭐랄까. 계획을 안 세워요. 저는 계획을 세우고. 예를 들어 코스트코를 간다. 저는 막 가기 전에 계획을 세우는데 근데 와이프는 안 써요. 그냥 가요. 저는 왜?라는 질문을 되게 많이 하고 와이프는 약간 이유가 어디 있어 이런…ㅋㅋㅋ 7. 내 자식도 나와 같은 직무 시킨다? 안 시킨다?일은 안 시켜도 이런 공부는 시킬 것 같아요.일은 뭐 자기 하고 싶은 거 하게 두더라도 제가 했던 공부 같은 것들을 하면 어느 분야에서 일을 하더라도 좋을 것 같아요.뭐 예를 들어서 세일즈나 마케팅 팀에서 일을 한다고 하더라도데이터를 가지고 분석적인 사고(logical thinking)스킬같은 것을 할 수 있으니까 돋보일 수 있죠. 8. 마지막으로 데이터 애널리스트의 전망은 어떻게 바라보시나요?일단 되게 좋은 것 같아요. 빅데이터 얘기를 많이 하잖아요.근데 사실은 말이 빅데이터지 결국은 사람이 사람이 그런 환경을 만들고, 결과에서 의미를 도출해내야 되거든요.사람이 해야 되는데 아직까지는 그거를 할 수 있는 사람이 많지 않고 그런 기회도 많지 않은 것 같아요.이제 이게 시장이 좀 더 커지면 포지션도 더 많아질 거고 옛날에 왜 게임 개발자들이 많지 않았는데 지금 엄청 많은 것처럼,, 그런식으로 되지 않을까? 해요.주변에 보면은 엔지니어 분들 중에 비즈니스 쪽으로 넘어가고 싶어하시는 분들도 계시고비즈니스 쪽에서 엔지니어 쪽으로 넘어가고 싶어 하시는 분들도 있는데그게 바로 넘어가기가 사실 쉽지가 않거든요. 근데 어느 정도 그 교집합에 속하는 스킬이 필요한 것 같아서… <추가 질문 : 강의 추천>
-
웹 개발자가 알아야 할 2021년 최신 트랜드
본문은 유튜버 드림코딩by엘리님의 영상을 정리하면서 추가한 글로써, 자세한 내용은 하단의 영상을 참조해주세요. 깃헙의 놀라운 성장세와 의미 있는 수치들지난해 6천만개가 넘는 repository가 새로 생성되었고 약 35%의 증가세를 보였습니다.소스기여자는 25% 증가했으며, 머지하는데 걸리는 시간은 약 7시간정도 빨라졌다고 합니다.대기업 기준 72%의 기업이 깃헙을 이용하고 있는 것으로 집계되었습니다.많은 개발자들이 평일에는 회사일을 하고, 주말에는 오픈소스에 기여하는 것으로 나타났습니다. 아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 프로그램 언어별 성장세아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 역시나 자바스크립트가 부동의 1위입니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 자바와 파이썬이 엎치락 뒤치락하는 상황에서 아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 자바스크립트의 문제를 보완하기 위한 타입스크립트가 급속도로 성장하였습니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 특히 대규모 프로젝트에서 자바스크립트의 문제점을 보완하기 위해 타입스크립트가 사용되어 지고 있습니다. 아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 웹 프레임웍스아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. jquery는 자바스크립트관련 프레임워스에서 가장 오래된 프레임언어 이기 때문에 아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 사실상 React가 1위라 볼 수 있습니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 스테이트 관리를 위해 리엑트 훜이 가장 많이 사용됩니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 리액트훅 덕분에 리덕스처럼 복잡하고 코드도 많이 짤 필요 없이, 깔끔하게 스테이트를 관리가 가능합니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 리액트, 앵귤러, 뷰js 등을 중심으로 웹프레임웍스가 발전하고 있는 가운데, 아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 최근 컨포넌트 프레임웍스 중에 하나인 Svelte가 뜨고 있습니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. Svelte는 리액트, 앵귤러, 뷰js의 VDOM과 달리 필요한 DOM요소를 미리 만들어 놓아 성능을 끌어 올릴 수 있다라는 장점이 있어 눈여겨 볼 필요가 있습니다. 아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 자바런타임환경아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 브라우저 위에서 동적인 프로그래밍이 가능하도록 만들어진 자바스크립트는 자바런타임환경에서 구동됩니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 최근 자바런타임환경은 브라우저 밖에서도 사용되고 있는데 대표적으로 nodejs가 있습니다.아시아지역의 기여자 수치는 저년도 대비 1.1% 증가된 것으로 나왔습니다. 그리고 그런 node.js의 단점을 보완하기 위해 나타난 Deno가 최근 이슈로 뜨고 있으니 이 부분도 확인이 필요합니다. No Code & Less CodeNo Code & Less Code 라는 개발페러다임이 최근 뜨고 있습니다.해당 페러다임은 원하는 UI 컴포넌트를 여기저기 가져와서 쉽게 만들수있는 개발 페러다임입니다.대표적으로 Bubble과 Airtable 등이 있고 점차 뜨고 있긴 하지만 아직 걸음마 단계 입니다.만약 이러한 개발패러다임이 고도화 될 경우, 개발자들은 어떻게 될까요? (강한자만이 살아 남겠죠..) Serverless 개발AWS, 구글 등 다양한 클라우드와 서버리스 업체들이 생겨나고 있는 가운데, 그중 Netlify, Vercel 등의 서버리스를 중점적으로 제공해주는 Serverless 프로바이더들이 성장하고 있습니다.특히 클라우드는 서버리스가 미래라고 까지 말하고 있는 상황을 고려 한다면 이런 환경에 대한 공부를 하는 것도 나쁘지 않을꺼 같습니다. JAM 스택JAMstack 이란..? (추가 자료 링크) 잼스택은 서버가 없이 그리고 백앤드의 지식이 없어도 풀스택을 구현할 수 있게 도와주는 프레임웍스 입니다.잼스택은 자바스크립트, APIs, 마크업으로 구성되어 있으며 자바스크립트로는 서버사이드 랜더링이 가능한 NextJS, Gastby가 많이 이용되고 있습니다.APIs는 Headless CMS를 이용하여 간편하게 컨텐츠를 관리할 수 있도록 데이터베이스도 생성해주고 다양한 것들을 지원해주는 시스템을 이용합니다.그리고 마크업을 이용하여 프론트엔드를 구현할 수 있습니다.요즘 가장 핫한 트렌드 아닐까 합니다. SPA와 PWASPA(Single Page Application)와 함께 뜨고 있는 것이 바로 PWA (Progressive Web Apps)PWA는 웹기술을 이용해서 만든 웹 어플리케이션을 모바일프로그래밍을 전혀 필요로 하지 않고 웹어플리케이션 자체를 모바일에 다운로드 받아서 모바일에 관련된 다양한 API를 이용할 수 있고 또 기기가 오프라인일 때도 끊임없이 어플리케이션을 사용할 수 있도록 지원해주는 솔루션을 말합니다. 웹어플리케이션 성능을 극한으로 끌어올릴 Web AssemblyWeb Assembly가 있기 때문에 이제 C, C++, Rust와 같은 저 수준의 프로그램 언어로 웹어플리케이션을 만들 수 있게 되었습니다.이렇게 만들어진 웹어플리케이션은 폭발적인 성능을 보장하고 컴팩트한 바이너리 포맷을 제공해 주기 때문에 성능 좋은 웹어플리케이션을 만들수 있습니다.웹 어셈블리를 이용하는 어플리케이션중에는 고성능을 요하는 웹게임(MMORPG 같은)이 있을수 있고 대표적으로 웹디자이너들이 사용하고 있는 Figma를 꼽을 수 있습니다.사례를 보면 웹어셈블리를 이용하면 컨텐츠의 로딩속도를 3배 이상 향상시킬 수 있다고 합니다. 모션 디자인웹어플리케이션 성능을 극한으로 끌어올릴 Web Assembly 입니다. 출처: 드림코딩by엘리_ 2021 웹개발 트렌드
-
[개발자 인터뷰] 현대차 PM 이야기
이번에 이지업 MD 키미가 만난 사람은 바로! 현대차 PM입니다! PM은 제품과 관련된 모든 활동을 관리하며 책임을 지는 사람(출처:매일경제)을 말하는 데요.뭔가 알 것 같으면서도 아직 감이 안 잡히는 PM 직무! 직접 만나 담아온 생생한 스토리를 통해, 한번 알아봅시다!! Q. 어떤 업무인지 간단히 설명해 주시겠어요?제가 하고 있는 업무는 차량 프로젝트가 제안되면 초기부터 양산까지프로젝트가 원활히 돌아갈 수 있도록 전체적인 업무를 매니징/리딩 하는 업무라고 보실 수 있어요.목표한 일정 안에 개발 목표와 수익성, 품질을 달성하는 것이고, 이런 과정에서 굉장히 많은 일들이 일어나게 돼요.양산전에 시험팀에서 테스트할 수 있게 차를 미리 제작을 해보는데 조립이 안된다든가,막상 차를 제작해서 테스트를 하는데 목표 달성이 어렵다든가, 중간에 경영층 지시로 사양을 바꾼다든가이런 모든 일들에 PM으로서 관련 담당자들과 소통해가며 수습하고 경영층에 보고도 해가며 프로젝트를 '되게끔' 성공시켜야 해요.가만히 두면 계획대로 진행될 수가 없기에 PM이 반드시 필요하고,다가올 이벤트에서 발생할 수 있는 리스크를 예측해서 사전에 관리하는 업무도 저희의 중요한 일중 하나에요. Q. PM을 하기 위해서는 어떤 준비가 되어 있어야만 하는지?PM 직무가 사회생활 처음 시작했을 때부터 맡기에 쉽지 않은 일 일수 있어요.저보다 훨씬 더 많은 시간을 특정 분야에서 근무하신 전문가들의 의견을 조율해야 하기 때문에,다양한 분야에 대해 어느 정도 알고 있어야 하고 그들에게 PM만의 해결책을 제시해 줄 수 있어야 하기 때문이죠.PM의 가장 큰 무기는 일정과 투자비 그리고 개발 목표에서 오는 당위성과 필요성이라고 생각해요.실무선에서 조율이 안될 때는 경영층 보고라는 카드를 활용해서 프로젝트를 끌고 가셔야 할 때도 있겠죠.처음 PM으로 업무를 시작하게 되면 선배 PM님들이 매니징에 집중할 수 있게끔 하는 게 더 중요하고그러다 보면 프로젝트 매니징과는 직접적으로 연관 없는 일들을 많이 하게 되실 거예요. 이 과정에서 어떻게 업무를 처리하는지 간접 경험하고또 작은 매니징 일부터 하나씩 맡게 되어 PM으로 성장하게 되는데, 쉽지 않은 과정입니다.직무 자체가 업무가 많고 빠르게 돌아가기 때문에 대학교 때처럼 가르쳐줄 사람도 없고자리에 앉아서 책이나 매뉴얼로 배울 시간도 없다는 건 어려움을 가중하는 환경이에요.보고 듣고 배우는 과정이기 때문에 실제로 업무를 수행하면서는 많은 시행착오를 겪게 되실 거고또 그 와중에 빠르게 적응하는 걸 요구받게 되죠ㅎㅎ저는 설계나 시험 등의 직무로 시작해서 (IT 업계로 따지면 개발자 직무가 되겠죠)경험을 쌓고 업무 SCOPE를 넓혀서 PM 직무로 가는 커리어를 추천드리기도 해요. 대학 졸업 후 아예 처음부터 PM 업무를 하고 싶으시면 생각하셨던 매니징 업무를 하게 될 때까지 3~4년 정도의 인내가 좀 필요하실 거예요.PM 조직에 지원하실 때 어필하실 수 있는 부분이 있다면(조직마다 원하는 인재상이 다르겠지만) 저희 회사 PM 같은 경우에는'꼼꼼함', '소통력 (언어전달력/이해력)', '인내심', '끈기', '체력'이라는 역량이라고 생각해요.이 역량들을 갖춘 지원자임을 어필하시고 설득할 수 있게 경험을 쌓는 걸 추천드립니다.다양한 사람들을 만나서 남들과 다른 프로젝트 해보고,그 과정에서 의견 조율을 하기도 하고 계획을 세워서 리딩을 하는 조 모임/프로젝트 경험은 당연한 거겠죠. Q. 엄청 많은 프로젝트를 담당 했을 텐데 기억에 남는 프로젝트 또는 만족하는 프로젝트?지금 진행 중인 프로젝트를 가장 만족스럽게 하고 있어요.처음 일을 했을 때보다 경험과 노하우가 쌓여서 주도적으로 일을 할 수 있고,많이 배울 수 있는 좋은 선배님과 같이 업무를 하고 있어서 만족도가 높은 것 같아요.또 프로젝트 자체의 성격도 앞으로 미래에 다가올 친환경차를 개발 업무라 새로워요.미래에 진행하는 프로젝트는 아마 더 만족스러울 거라 기대해요. Q. 쉬어가는 코너 극혐 튜닝차 월드컵튜닝차 월드컵 레전드라고 ..이건 진짜 너무 창피해서 못 타고 다니겠다 하는 튜닝카 1등을 뽑아주시면 되는 거예요. 제가 해봤는데 이거 되게 고르기 힘들어요 ㅋㅋㅋㅋ 최악을 고르시면 돼요. ㅋㅋㅋ 자 이제 시작을 하시면 돼요ㅋㅋㅋ (출처: https://www.piku.co.kr)...(8강전) 벌써 막히시죠? ㅋㅋㅋ난 이건 진짜 못 타 이런 거 ㅋㅋㅋ... (결승전)이런 거 실제로 있나 ㅋㅋㅋ아 되게 이런 거 잘 찾으셨네요 ㅋㅋ제 생각엔 이거 일등 할 것 같아.. (오타쿠 차)아 대박이다.. ㅋㅋㅋㅋ이거죠 뭐 ㅋㅋㅋ ( 오타쿠 차) 오..오덕차 전체랭킹 6위에요 6위 ㅋㅋㅋ사람들이 의외로 ㅋㅋ 나쁘지 않게 생각하나 봐요 Q. 현대차 중에서 혹시 특별히 애정이 가거나 내가 봤을 때 객관적으로 예쁘다 하는 차?저는 아반떼가 예쁘게 뽑힌 것 같아요. 혹시 색같은 경우는 어떤 색이 괜찮다고 생각하세요? 색을 원래 약간 푸른 계열하고 제네시스 보면 입고 계신 .. 아! 뭔지 알아요 ㅋㅋㅋ 그게 되게 괜찮더라고요. 빨간색은 너무 튀고, 제네시스로 치면, 약간 요런색 그 파란색 차도 예쁘던데..ㅎㅎ빛 받으면 빛나지않아요? 풍뎅이색 ㅋㅋㅋ그러면은 기능과 디자인이 있다고 한다면 그래도 나는 기능이다 or 디자인이다? 비슷한 조건이라면 pm으로서 어떤 결정을 할지 궁금해요 ㅋㅋ둘 중에 하나는 어렵긴 하네요...음.. 차를 타기 전에는 디자인을 많이 보긴 하는데 차를 많이 몰고 다니면 실제적으로 기능이 더 중요하기도 하고예를 들면 초기 가속 구간에서 변속으로 인한 충격이 지속적으로 발생한다 그러면차를 한번 탈 때 5년 10년 동안 계속 그걸 타니까 되게 힘들 수 있거든요그래서 저는 어쨌든 디자인? ㅋㅋㅋ아 뭐야ㅋㅋ 반전이에요 ㅋㅋㅋ그래서 디자인이라눀ㅋㅋ 저는 디자인 보고 살 것 같아요 ㅋㅋㅋ제 스타일이 빨리 달리는 편은 아니어서,요새는 주로 가족들이랑 같이 장을 보거나 여행을 간다던 하는 정도거든요.제가 만약 20대다 그러면 좀 속도와 성능이 좋은 차를 선호했을 텐데현재 제 라이프스타일은 디자인과 공간이 더 중요한 게 맞는 것 같아요.요샌 차를 가지고 돌아다니지 않고 집돌이로 살고 있어서요 ㅋㅋㅋ그래서 그런 게 있기 때문에 디자인 ㅋㅋ~!이쁜 게 다니까. Q. PM의 매력?이나 장점이 있을까요?PM의 매력은 무엇보다 넓은 시야를 가지고 사장처럼 업무를 할 수 있다는 점,그리고 몇 년 뒤 나올 결과물에 대해 가장 애정과 책임감을 가지고 업무를 진행할 수 있다는 점인 것 같아요.물론 이런 매력을 느끼기까지는 시간이 좀 소요될 수 있다는 건 어떻게 보면 단점일 수가 있겠네요ㅎㅎ정도의 차이가 있겠지만 이건 어떤 업무나 마찬가지겠죠?프로젝트 완료가 되면 언제 그랬냐는 듯 다시 새로운 일을 해야 해서 오래 만끽하진 못하는 것 같지만,실제로 개발한 차들이 도로에 돌아다니는 모습을 보면 묘한 뿌듯함을 느끼게 돼요.이게 제가 그동안 PM 업무를 하면서 느꼈던 매력이라고 생각돼요ㅎㅎ모쪼록 이 글을 보시는 분들 모두 준비하시는 일들이 성공적으로 풀리셔서 만족하시는 커리어를 이어나가시길 진심으로 응원드립니다. 자! 여기까지 키미가 준비한 현대차 PM 이야기였습니다! 어떠셨나요~?저는 개인적으로 현대차 PM직무가'도로에 내가 이끌었던 프로젝트 차가 진짜 돌아다니는 걸 볼 수 있다'라는 게 굉장히 매력적으로 다가왔어요ㅎㅎ물론 엄청난 책임감이 따르겠지만요..ㅎㅎㅎ평소 PM에 관심 있었던 분들, 진로에 많은 고민이 있으셨던 분들에게 많은 도움이 되었기를 바랍니다 :)이지업 MD 키미의 더 많은 콘텐츠가 궁금하다면?인스타그램: @easyupclass 네이버 블로그: 이지업_네이버 블로그
-
프로그래밍언어 슬로건(feat.Python/Java)
-
해킹공부의 효율을 높여주는 SITE
-
[paper review] MG VTON #2
지난 리뷰에서 MG VTON의 Parsing과 Warp-GAN에 대해 살펴봤습니다. 세밀한 GAN 학습, 생성 모델을 통해 고품질의 부드러운 결과물을 생성시켰습니다. 계속해서 MG VTON의 Refinement rendering과 Geometric Matching Learning에 대해 살펴보겠습니다. 3. Refinement Rendering Refinement Rendering은 위 과정에서 (e)의 단계를 나타냅니다. coarse 단계에서 사람의 식별 정보와 모습은 유지될 수 있지만, 옷 이미지의 복잡성으로 인해 디테일한 질감을 잃어버리게 됩니다. Warping된 옷을 사람에게 직접 붙여 넣으면 인위적이고 부자연스러운 형상이 생성될 수 있으며 warping된 옷 이미지와 1차 합성된 결과 사이의 composition mask를 학습하면 다양한 포즈로 인해 부자연스러운 요소가 생성됩니다. 위의 문제를 해결하기 위해 저자는 multi-pose composition 마스크를 사용하여 디테일한 질감과 일부 인공적인 요소를 제거하는 refinement render를 제시하였습니다. Cw를 geometric matching module에 의해 얻어진 warping된 옷 이미지로, (I hat)C는 Warp-GAN로 생성한 coarse result, P는 타겟 포즈 히트맵으로, GP는 refinement render의 generator로 정의하여 Refinement Render Generator는 CW, (I hat)C, P를 인풋으로 하고 GP는 multi-pose composition mask를 예측하여 렌더링된 결과를 합성합니다. ⊙은 행렬 곱 연산이며 저자는 성능을 향상시키기 위해 perceptual loss를 채택하였습니다. GP의 목적 함수는 다음과 식과 같이 μ1은 perceptual loss의 가중치 값이며 μ2는 mask loss의 가중치를 나타냅니다. composition mask가 지속적으로 학습을 하여 오차를 줄여나가고 Real Image와 거의 일치하는 옷의 형태를 생성합니다. 4. Geometric Matching Learning 저자는 feature 추출 레이어, feature matching 레이어, transformation 파라미터 추정 레이어를 포함하는 deconvolutional neural network를 채택하였습니다. 위 그림 (f)에서 볼 수 있듯이, 옷 이미지의 마스크와 몸 형태의 마스크가 먼저 feature extract layer의 인풋으로 전달됩니다. 그 다음 matching layers를 사용하여 두 마스크 사이의 상관관계 맵인 correlation map을 예측합니다. 마지막으로, 회귀 네트워크를 적용하여 correlation map을 기반으로 TPS (Thin-Plate Spline) 변환 파라미터를 추정합니다. 이를 도식화하면, conditional parsing 학습 단계 이후에 인풋 이미지로 옷 C와 마스크 Cmask가 주어지면, 합성된 human parsing으로부터 몸 형태 Mb와 합성된 옷 마스크 (C hat)mask를 얻습니다. 이 하위 작업은 인풋으로 넣을 옷 이미지 C를 warping하기 위해 파라미터 θ를 가진 변환 매핑 함수 T를 학습하는 것을 목표로 합니다. 합성된 옷은 보이지 않지만 합성된 옷의 마스크를 가지고 있기 때문에, 몸 형태 Mb에 맞게 원래의 옷 마스크 Cmask에서 합성된 옷 마스크 (C hat)mask를 매핑하는 것을 학습합니다. 위와 같은 학습 과정을 토대로 geometric matching function의 목적 함수는 다음과 같이 수식화 하였습니다. 그러므로 warping된 옷 Cw는 Cw = Tθ(C) CW = Tθ (C)로 수식화 할 수 있는데 이것은 오배치 및 compoistion 마스크 학습 문제를 해결하는데 도움을 주었습니다. Implementation Details 환경. ADAM optimizer를 사용하여 conditional parsing 네트워크, Warp-GAN, refinement render, geometric matching network를 각각 200, 15, 5, 35 epochs만큼 배치 사이즈는 40, learning rate는 0.0002, β1=0.5β1=0.5, β2=0.999β2=0.999로 학습하였습니다. 리뷰 1편에서 알려드린것처럼 2개의 NVIDIA Titan XP GPU, Ubuntu 14.04에서 Pytorch 플랫폼을 사용하였습니다. 아키텍처. MG-VTON의 각 generator는 ResNet과 유사한 네트워크로 3개의 다운샘플링 레이어, 3개의 업샘플링 레이어, 9개의 residual 블록으로 구성되어 있습니다. 각 블록은 3x3 필터 커널이 있는 3개의 convolutional 레이어를 가지고 있으며, 이어서 batch-norm 레이어와 Relu 활성화 함수를 연산합니다. 필터 수는 64, 128, 256, 512, 512, 512, 512, 512, 512, 512, 512, 512, 256, 128, 64로 구성되어 있습니다. discriminator는 서로 다른 레이어로 다른 규모의 피쳐 맵을 다룰 수 있는 pix2pixHD와 동일한 아키텍처를 적용하였습니다. 각각의 discriminator는 4x4 커널과 InstanceNorm, LeakyReLU 활성화 함수를 포함하는 4개의 다운샘플링 레이어를 포함하고 있습니다. 기존의 loss값을 단순히 학습하던 모델들과 달리 mask를 차용하여 오차를 줄이고 GML을 통한 mask의 변형을 구사한 모델로 정확성과 시인성이 뛰어난 모델입니다. 하지만 이 모델도 현재 개발중인 딥러닝 모델에서는 정확도가 어느정도 차이나는 것을 볼 수 있으며 학습 모델의 한계점을 가지고 있습니다. 완벽하게 합성이 되지 않거나 원본 모델의 픽셀이 보존되지 않는 점 등이 존재합니다. 최근에는 이를 개선한 모델을 발표한 NHN LA-VITON (←링크)모델의 경우 피사체가 상의를 가리는 부분에 대한 복원성, 일반적으로 좌표를 찍어 mask를 생성하여 매칭시키는 GML을 grid를 왜곡시켜 학습하는 GMM & TOM 등을 활용하여 정확도를 더욱 높였습니다. 언택트 시대에 맞춰 가상착용의 모델 연구는 지속적이고 활발하게 진행중입니다. 추후 좀 더 멋지고 정확한 모델이 발표된다면 계속해서 리뷰를 통해 분석해 보겠습니다. 고맙습니다!
-
[paper review] MG VTON #1
2019년 2월 28일자로 등재된 Towards Multi-pose Guided Virtual Try-on Network (←링크) 논문을 간략히 살펴보고자 합니다. 위 논문은 Sun Yat-sen Univ., South China Normal Univ. 연구원들의 공저 논문으로 기존에 발표된 Virtual Try-on Network 모델을 개량한 것으로 딥러닝 모델링에서 사용된 human parsing network, Warp-GAN 기술 외에 추가적으로 refinement와 geometric matching을 통하여 parsing된 이미지의 범위를 복원/복구 한 뒤 합성 이미지의 품질을 향상시켰습니다. 제 프로젝트를 구현할 때 위의 기술을 직접 구현해보려고 부단히 애를 쓰고 공부를 했었기에 위의 논문을 첫번째 리뷰로 선정하였습니다. 그럼 살펴보겠습니다! Multi-pose Guided Virtual Try-on Network(이하 MGVTON)은 이미 많이 보았던 이미지 합성 모델과 비슷하지만 조금 더 세부적인 사항으로 의류 합성 모델 중 사람의 다양한 포즈를 기반으로 학습하는 모델을 생성하였습니다.MG VTON Network의 기본 과정 진행 과정은 다음과 같습니다.Conditional ParsingWarp-GANRefinement renderGeometric matching learning 학습 workstation은 NVIDIA Titan XP GPU (x2), Ubuntu 14.04, Pytorch 를 사용했다고 합니다. 이번 포스팅에서는 먼저 Conditional Parsing과 Warp-GAN의 내용을 살펴보겠습니다. 1. Conditional Parsing Learning 합성 모델을 생성하는 가장 첫번째 단계는 사람의 포즈에서 각 형태를 분해하는 것입니다. 옷 이미지, pose heatmap, 몸의 형태, face mask, hair mask를 조건으로 human parsing network를 생성했다고 합니다. 위의 이미지에서 보듯 기존 방식은 사람에게 옷 이미지를 직접 넣었기 때문에 특정 영역의 보존이 제대로 이루어지지 않았습니다. 이를 보완하기 위해 human parsing maps를 활용하여 해결하였고 generator가 고품질 이미지를 생성하는데 효과적이었다고 합니다. 위에서 (b)를 생성한 식은 다음과 같습니다. 식을 정리해보면, 헤어 마스크 Mh, 얼굴 마스크 Mf, 몸 형태 Mb, 타겟 포즈 P를 추출한 후 옷 이미지를 연결하여 conditional parsing 네트워크의 인풋으로 넣습니다. S′t의 inference는 사후 확률 p(S′t | (Mh, Mf, Mb, C, P))을 최대화하는 것으로 수식화 할 수 있습니다. 또한, 이 단계는 이미지 조작에 좋은 결과를 생성하는 conditional generative adversarial network (CGAN)을 기반으로 생성하였다고 합니다. 이것으로 posterior probability가 표현 되었습니다. ResNet과 같은 네트워크를 generator G로 채택하여 conditional parsing model을 작성하였으며 pix2pixHD의 discriminator D를 채택하고 성능 향상을 위해 L1 loss를 적용하였는데 이것이 부드러운 결과를 생성하는데 유리합니다. 마지막으로 pixel-wise softmax loss를 적용하여 generator가 좀 더 높은 품질의 human parsing maps을 합성하도록 하였습니다. 결과적으로 conditional parsing 학습은 다음의 수식대로 이루어졌습니다. 여기서 M은 Mh, Mf, Mb 를 묶은 값이며 Lparsing은 pixel-wise softmax loss를 나타냅니다. St는 human parsing, pdata는 실제 데이터의 분포를 나타냅니다. 2. Warp-GAN 픽셀의 오배치로 결과물이 흐릿해지기 때문에 deep Warping Generative Adversarial Network(Wrap-GAN)을 도입하여 원하는 옷 모양을 합성된 human parsing maps에 warping을 시켰습니다. 이 논문에서는 다른 논문 deformableGANs와는 달리 affine에서 TPS(Thin-Plate Spline)을 사용하여 bottleneck 레이어에서 feature map을 warping 시켰습니다.human parsing maps 생성 후 warping network 과정 위 그림의 (c), (d)단계에서 나타난 결과물들은 geometric matching module을 구성한 것을 사용하여 옷 이미지를 warping합니다. perceptual loss를 적용하여 pre-trained 모델의 high-level feature 간의 거리를 측정하여 generator가 높은 품질의 실제같은 이미지를 합성하도록 작성되었습니다. 위에 기술된 perceptual loss는 위와 같은 수식으로 구성되어있는데 이것은 pre-trained 모델에 적용된 것이므로 feature loss에 이것을 도입하여 다음의 수식을 작성하였습니다. 이 논문에서는 Dwarp 값은 feature map의 i번째 레이어 값으로 각각의 loss 계산 값들은 Gwarp가 좀 더 부드러운 결과물을 학습 할 수 있도록 연산되었습니다. 우선 여기까지가 parsing 및 Warp-GAN의 단계였습니다. 각각의 feature map들의 loss값들을 정밀하게 계산한 후 가중합을 토대로 generator가 부드러운 결과물을 생성할 수 있도록 학습시키는 과정이었습니다. 다음 포스팅에서는 정제된 렌더링과 합성물 단계에 대해 살펴보도록 하겠습니다. 고맙습니다!