Skip to main content

Posts

Wanna be a Web Application Developer?

제가 만나고 이야기 나눴던 학생들 , 그리고 한국에서 컴퓨터 프로그래밍에 관심이 있어 연락을 받았던 몇몇 학생들의 대부분의 관심사가 어떻게 하면 빨리 웹 어플리케이션 개발자가 되느냐는 것이었습니다. 현재 컴퓨터 사용 범위에서 인터넷과 웹이 차지하는 비율을 실로 엄청나다 할 것입니다. 거의 모든 업무와 작업을 웹을 통해서 하고 있고, 아울러 일반 PC 나 Mac 용으로 어플리케이션이 나와있다 해도 같은 기능을 웹 어플리케이션을 통해 제공하고 있고 End User (사용자) 또한 당연히 기대하는 기대치이기도 합니다. 그래서 오늘은 앞으로 제가 시작할 "웹 어플리케이션 개발자가 되는 길" 의 시리즈에 대해 간략하게 설명하고 바로 그 첫번째 글을 시작하도록 하겠습니다.  제가 오늘 시작하는 이 시리즈는 웹 프로그래밍에 관심있는, 컴퓨터 사이언스와 상관없이, 학생들과 일반인들을 위해 디딤돌이 될 수 있기를 바라는 마음에서 시작합니다.  아주 디테일한 내용을 모두 설명할 수는 없지만, 꼭 알아야 하고 기본이 되는 지식들을 나누어 좋은 길잡이가 되어줄 인터넷 사이트와 책들을 소개하고 제 경험을 추가하여 이 시리즈가 길잡이가 되기를 바랍니다. Web Application / 웹 어플리케이션이란 무엇인가? 웹 에플리케이션이란, 인터넷 브라우져를 통해 사용자와 interact 이 가능한 사이트를 이야기 합니다. 따라서 사용자의 input / data entry 가 발생하며, 그에 따른 data processing 이 일어나고 다시금 사용자의 웹 브라우져 화면에 output 을 생성하게 하는 흐름이 포함된 모든 웹 사이트를 이야기 합니다.  따라서 input / data entry 의 processing 을 위해선 당연히 데이터 베이스가 필요하겠고, 데이터베이스와 사용자의 웹 브라우져 간의 송수신도 필요할것입니다. 이때 사용자의 브라우져와 실제 어플리케이션간의 송수신은 HTTP (Hyper Text Transfer Protocol) 라는 pr
Recent posts

우리에게도 봄은 올까?

하루 하루 뉴욕 뉴스에 끊임없이 치솟는 코로나 바이러스 환자수는 아침 저녁으로 대부분의 뉴욕 시민들을 우울하게 하고 급기야 공포감에 사로잡히게 만들고 있다. 내가 믿는 신에게, 그리고 다른 많은 사람들이 믿는 그들의 신에게, 아직도 우리 모두를 포기하지 않으시고 끝까지 붙잡아 주시리라 믿으며 또 믿는다. . . . . . 우리 모두에게도 또 다시 봄은 올까? 예전처럼 활기찬 뉴욕의 모습, 모든 사람들의 모습을 속히 보고싶다.

Ghost Town

말 그대로 고스트 타운이 되어버렸다. 어제 맨하탄 파크에브뉴에서 일하는 후배가 걱정이 되어 텍스트로 안부를 물으니 이런 사진으로 답장을 했다. 코로나 바이러스가 뉴욕을 강타하고, 그 심각함이 날로 더해지면서 거의 모든 뉴욕 뉴저지 시민은 집에 머무르거나 집에서 근무를 해야 하는 상황에 이르렀고 일부 몰지각한 사람들은 지나가는 동양인을 보고서는 '코로나' 라고 차별적인 말을 서슴치 않고 하고 가는것을 목격한다. 미국에서 미국 시민으로 살아온 세월이 한국에서 산 날보다 훨씬 많은 나로서는, 이 상황이 참 씁씁하고 내 아이들을 생각하면 가슴이 저며오기까지 한다.  대학교 2학년인 딸 아이는 이미 이런 차별적인 놀림을 몇 번 받았다고, 기숙사에서 데리고 오는 날 이 아빠에게 말을 해 주고는 자기도 너무 화가 난다고 이야기하고.  여기서 태어나 자란 우리 딸 아들은 이런 상황을 어떻게 받아들일런지... 내가 사는 타운은 동양인이 거의 없는 교외의 한적한 마을이기에, 아이들의 친구들도 다 여기서 태어나 자란 미국아이들인데 지금에 이런 상황을 맞닥뜨린 우리 딸 아들이 행여나 이런 몰지각한 사람들의 차별적인 행동으로 상처를 받거나 아이덴티티에 관해 혼란스러워 하지는 않을까 부모로서도 참 걱정이 많이 앞선다. 자택 근무를 한 지 벌써 2주가 되어가는데, 이곳 뉴욕의 코로나 바이러스 상황은 좋아질 기미가 전혀 보이질 않고 시간이 가면 갈수록 약간의 불안감이 더욱 쌓여만 가는건 나 뿐만이 아니리라. 모두가 같은 바램이겠지만, 다시한번 간절한 마음을 하늘에 띄워본다. '모두가 몇 주 전처럼 일상으로 속히 돌아갈 수 있는 날이 오기를, 그리고 사람들의 편견섞인 시선이 없어지기를...'

WFH, Work from home

인터넷이 발달하고 데이터의 속도가 빨라짐에 따라 컴퓨터 프로그래머와 엔지니어들은 오래 전부터 회사와 집에서 번갈아 가며 재택근무 (Work from home)를 해 오고 있습니다.  따라서 지금의 코로나 바이러스로 인한 사태에 집에서 자택근무를 하는 엔지니어들은 크게 변할게 없어 보입니다. 지금의 추세는 대부분의 기업이 직원용 컴퓨터를 실제 컴퓨터가 아닌 VDI (Virtual Device Interface) 로 네트워크 단말기 형태로 제공하고 있기에, 자신의 로그인 아이디와 패스워드를 안다면 같은 회사내에서는, 아니 정확하게 이야기 하자면, 회사내 같은 네트워크 상에서는 어느 자리에서든지 자신의 로그인 아이디와 패스워드로 자신의 시스템에 접근할 수가 있습니다.  이러한 이유로 많은 대기업들은 Open Floor 환경을 쉽게 구축할 수가 있었고, 넓게 펼쳐진 각 층에는 단말기와 키보드 그리고 모니터만이 덩그러니 삭막하게 놓여져 있습니다.  물론 전화도 소프트폰이라하여 컴퓨터를 이용하여 전화를 이용하는 추세입니다. 내 로그인 아이디와 패스워드만 있으면 언제 어디서든 회사내 내 시스템에 연결이 가능하다... 그렇다면 집에서도 재택근무가 쉽게 가능하게 되겠지요?  네, 회사에서는 직원들이 재택근무가 가능하도록 물론 LOB (Line of Business) 별로 그리고 메니져의 재량껏 일 주일에 한 번 혹은 두 번씩 집에서 자유롭게 재택근무를 하도록 하고 있는데 이를 위해 Security 관련 철저한 보안 시스템을 사용하고 있습니다.  집에서 회사내 시스템을 사용하기 위해서 가장 보편적으로 사용하는 Citrix Client 를 이용하고 회사에서 제공하는 직원 개인별  RSA Token 을 이용하여 Two Factor Authentication  을 통해 자신의 시스템으로 들어가 업무를 하게 됩니다. 회사의 중요한 서류 또는 내용을 회사 네트웍 밖으로 유출하는것을 막기위해 화일 카피및 트랜스퍼가 금지되며, 직원들의 온라인상 모든 활동은 자동으로 기록되어 남게

컴퓨터 사이언스 전공자들의 업무 분야에 대해서

지난번에는 우선 컴퓨터사이언스를 전공한 후에 사회에 나와서 얻을 수 있는 직업과 분야를 두고 조금 더 자세하게 이야기 해 보겠다 하였는데, 오늘은 부모님들에게 먼저 설명해 드리는 시간을 갖도록 하겠습니다. 자녀분이 대학교를 다니며 3학년이 되면서 부터는 일반 기업에 인턴쉽을 신청하고 방학동안에 실제 업무에 참여할 수 있는 인턴으로 일을 할 수 있게 됩니다. 보통 인턴쉽을 신청하는것은 학교 전공과목 Department 을 통하여, 그리고 일반적으로 원하는 기업의 Job Site를 들어가 Resume 를 제출하고 기다리는 것입니다.   현재 뉴욕에는 많은 파이낸셜 관련 회사들, JP Morgan, Goldman, Morgan Stanley, Bank of New York Mellon, Bank of America, UBS, American Express 등 부터 일반 컨설팅 기업들 그리고 많은 부모님들이 잘 모르시는 asset management / hedge fund 회사등에서 많은 인턴 사원을 여름 기간동안에 뽑고 다시 그들이 정식직원으로 졸업후 찾아오고자 한다면 Offer 를 먼저 내미는 경우도 많이 보고 있습니다. 그렇다면 위의 기업에서는 소프트웨어 엔지니어가 하는 일들이 어떠한 것들이 있는지 분야별로 설명해 드리도록 하겠습니다. 참고로 다음의 설명들은 제 실제 경험과 주위 후배들의 경험을 토대로 한 것임을 알려드립니다 (저는 현재 파이낸셜 관련 회사의 한 부서의 개발팀 총 책임자로 일하고 있으며, 매년 인턴을 뽑아 팀 내에서 교육을 시키고 있습니다). 제가 멘토링 하는 많은 대학 졸업생들에게 적극적으로 추천하는 분야가 일반 대기업, 특히나 파이낸셜 관련된 회사들입니다.  이러한 회사들은 다양한 비즈니스를 하고 있기에, 우선은 처음 직장을 고르고 분야를 고르는데 있어 새롭고 도전적인 많은 부서들로 선택의 폭이 넓으며 후에 회사 내에서도 Mobility 기회라 하여 타 부서나 다른 지역의 같은 회사로 옮겨 일 할수 있는 기회를 적

컴퓨터 사이언스 전공에 대하여

컴퓨터 사이언스라고 흔히들 말하는 대학교 전공에는 컴퓨터 관련 모든 과목을 듣고 학위를 받으면 되겠지 하고 막연히 생각하시는 분들을 많이 봅니다.  세상이 바뀌고 너무나도 빠르게 모든게 발전해 가는 지금에는 물론 컴퓨터 사이언스 전공과목에 광범위한 모든것을 가르치고, 나아가 필드에서 엔지니어로 일할 수 있는 자질을 갖춘 사회인으로 키우기엔 제 생각엔 대학교 4년이 짧으면 짧을 수가 있다 생각이 듭니다.  그래서 전공을 시작하면서 어느 필드에 focus 를 할지 선택을 하고, 그 focus 에 맞춰서 requirements 가 달라지게 됩니다. 컴퓨터 사이언스 전공에서, Hardware 와 Architecture 를 좀 더 집중적으로 공부할 수 있는 track 이 있고, 우리가 흔히 알고있는 Software Engineering 를 좀 더 집중적으로 공부할 수 있는 track 으로 보통 나뉘어져 있으며 Software Engineering 에서도 분야가 좀 더 세분화 되어가고 있는 추세인것 같습니다. 따라서 자녀분들이 컴퓨터 사이언스에 관심이 있거나 앞으로 대학교 입학후 전공과목으로 관심이 있다면, 이렇게 세분화 되어 나뉜다 생각하시고 학생의 interest 와 problem solving 능력을 고려해 선택하시면 될 듯 합니다.  컴퓨터 사이언스는 절대 쉬운 전공과목이 아니지만, 일단 학생이 problem solving 에 관하여 많은 interest 가 있고 집중하고 끊기있게 문제를 풀어나가는 평소 학습태도를 보인다면 충분히 즐겁고 재미있게 공부하고 평생 즐거운 직업을 가져다 줄 수 있는 전공과목이기도 합니다. 저 또한 30년 전 이 전공을 택하였고, 그 이후로 소프트웨어 엔지니어로 각 펀드메니지먼 회사들과 월스트릿에서 일할 수 있었고, 지금까지도 즐겁게 엔지니어로 일을하며 뉴욕의 제 1 금융사에서 소프트웨어 엔지니어 개발팀 메니저로 근무하고 있기도 합니다. 우리 자녀들은 더 좋은 환경에서 더 좋은 방법으로 테크널러지를 습득하고 학습하기에, 우

컴퓨터 사이언스에 관심있는 학생들에게 추천하는 책들

지난번에 마무리 하며, 이번 주엔 관련 책들을 소개 시켜 드리겠다 약속 드렸습니다. Head First Python: A Brain-Friendly Guide , by Paul Barry Head First Learn to Code: A Learner's Guide to Coding and Computational Thinking   Problem Solving with Algorithms and Data Structures Using Python , by Bradley N Miller Practical Programming: An Introduction to Computer Science Using Python 3.6, by Paul Gries  위에 언급한 책들은 제가 개인적으로 한 번씩 리뷰 해 보았던 책들입니다. Head First 시리즈는 개인적으로 좋아하는 시리즈로, 어려운 내용들도 쉽게 그림을 섞어 설명이 되어 있습니다.  책을 선택하고 이제 막 시작해 보려는 학생들 그리고 부모님들께서 궁금하신 사항이 있다면, 제가 도움이 될 수 있는 한도 내에서는 Q&A 로 도와드리도록 하겠습니다. 우선은 이메일로 여쭤봐 주시고, 조만간 Slack 채널을 Q&A 만을 위해 열도록 하겠습니다.