소프트웨어 엔지니어가 되는 법

PDF 다운로드PDF 다운로드

기술이 점점 발전해 나가면서 우리 생활에 떨어뜨릴 수 없는 부분이 되어가는 만큼, 기술 전문가에 대한 수요가 점점 늘어나고 있습니다. 소프트웨어 엔지니어는 우리의 삶이 조금 더 편리해지도록 컴퓨터 프로그램을 디자인하고 설계하는 직업입니다. 독학으로도 직장을 구할 수 있지만 정규 교육을 거치면 좀 더 직무가 많고 연봉이 높은 직업까지 노려볼 수 있습니다.

방법 1
방법 1 의 2:

소프트웨어 엔지니어로 경력 시작하기

PDF 다운로드
  1. How.com.vn 한국어: Step 1 소프트웨어 엔지니어링이나 관련 분야를 전공합니다.
    대부분의 소프트웨어 엔지니어 자리는 대학교 학사 학위를 요구합니다.[1] 소프트웨어 엔지니어링을 전공하면 입사 후 소프트웨어 설계 및 디자인에 활용할 수 있는 실무 지식을 배우게 됩니다. 컴퓨터 공학을 전공해도 좋지만, 컴퓨터 공학은 이론을 중심으로 한 수업이 많아 대학원까지 생각하고 있는 사람이나 연구 개발 쪽으로 진로를 생각하는 사람에게 더 적합합니다.
    • 전문 대학교에서 학위를 취득하거나 독학으로만 배운 사람도 소프트웨어 엔지니어로 취직할 수 있지만 이럴 경우 “소프트웨어 엔지니어”라는 직함이더라도 단순 프로그래밍 직무만 담당하게 될 확률이 높습니다.
    전문가 팁
    How.com.vn 한국어: Gene Linetsky, MS

    Gene Linetsky, MS

    스타트업 창업자 & 엔지니어링 디렉터
    진은 샌프란시스코의 스타트업 창업자이며 소프트웨어 엔지니어다. 그는 테크 산업에 30년 이상 종사하였고 현재는 스마트 POS(Point-of-Sale)터미널을 만드는 회사인 Poynt에서 엔지니어링 디렉터로 근무하고 있다.
    How.com.vn 한국어: Gene Linetsky, MS
    Gene Linetsky, MS
    스타트업 창업자 & 엔지니어링 디렉터

    이공 계열 전공이라면 코딩에 도움이 됩니다. 소프트웨어 엔지니어팀 관리자 진 라인츠키는 말합니다. "최고의 엔지니어들 중 일부는 전기 공학 과정에서 배출되기도 하는데, 그 이유는 사고 능력을 개발하고 훈련하는 과정을 거쳤기 때문입니다. 소프트웨어 공학은 예술자의 사고방식으로는 다룰 수 없는 예술이라고 볼 수 있습니다. 정말 많은 훈련이 필요하다는 뜻이죠."

  2. How.com.vn 한국어: Step 2 프로그래밍 언어를 바로 시작합니다.
    아직 학생이라도, 프로그래밍 언어를 스스로 공부하면 취업 시장에서 유리합니다. 소프트웨어 엔지니어링은 코딩만을 전문으로 하는 학문은 아니지만 프로그래밍 언어를 몇 개쯤 알고 있고 이것들이 어떻게 작동하는지 잘 이해해야 합니다. 어떤 프로그래밍 언어가 제일 유용한지에 대해서는 의견이 다분하나 일반적으로 다음과 같은 언어를 많이 공부합니다:
    • 파이썬
    • 루비
    • 자바스크립트
    • C#
    • 자바
    • C++
    • 프로그래밍 언어마다 장점이 다르다는 점을 인지하세요. 더 낫거나, 더 쉬운 프로그래밍 언어는 없습니다. 모든 언어는 문제해결을 위해 작성되는 것이기 때문에 특정 문제 해결에 특화된 언어들이 있습니다. 당신에게는 어떤 언어가 더 잘 맞는지 테스트해보세요. 첫 시작으로, 하나의 언어로 대부분의 기본 프로그램을 만들 수 있도록 연습하세요. 한 언어에 편안해졌다면 두 번째 언어에 도전해보세요. 모든 언어를 배울 필요는 없습니다. 특화할 수 있는 분야를 찾고 이를 정복해보세요!
    • MIT에서 청소년을 위해 웹사이트 및 프로그래밍 도구인 Sratch를 개발했습니다. 이 도구는 프로그래밍 컨셉을 텍스트 보다 시각적인 방법으로 더욱 쉽게 알려줍니다. 비주얼적인 것을 더 선호하는 어른들도 편안하게 사용하기 좋아요.
  3. How.com.vn 한국어: Step 3 데이터 구조와 알고리즘을 공부하세요.
    쉽게 말하자면, "알고리즘은" 문제 해결을 위한 과정 또는 방안을 뜻합니다. [2] 예를들면, 최단 거리를 찾기 위한 길찾기[3], 방대한 데이터 중 특정 아이템 찾기, 특정 순서에 맞춰 데이터를 분류하고 정리하기 등이 있습니다.[4][5] "데이터 구조"란 특정 문제 해결을 위해 데이터를 쉽게 정리하는 것을 뜻합니다.[6] 예를 들면, 특정 순서에 따른 데이터 배열, "키"에 의해 데이터를 저장하는 해시표 등을 뜻합니다.[7][8] 소프트웨어 엔지니어 포지션이 생겼을 때 가장 좋은 모습을 보여주기 위해 평소 기술을 배우고 유지하는데 집중하세요. [9]
    • (선택사항) 수학을 공부하세요. 수학은 컴퓨터와 관련된 모든 전공들과 밀접한 관련이 있으며 많은 알고리즘, 데이터 구조도 수학을 기반으로 합니다. 필수까지는 아니지만 수학을 잘하면 새 알고리즘을 분석하고 디자인하는데 큰 도움이 됩니다. 혁신적인 리서치와 개발을 하는 회사에 입사를 희망한다면 수학은 필수입니다.
    • 소프트웨어와 관련된 여느 수학 과정과 마찬가지로 이산 수학은 매우 유용합니다.
  4. How.com.vn 한국어: Step 4 추가로 공부하세요.
    교육 과정은 최신 기술 혹은 정보를 다루지 못할 때가 많습니다. 소프트웨어 기술이 교과서 개정보다 더 빠르기 때문입니다. 교육기관에서도 이론적인 컨셉을 제공하기에 무시해서는 안됩니다. 하지만 현실에서는 이론을 소프트웨어에 접목시킬 줄 아는자가 승리하게 되기 때문에 추가적인 공부가 필요합니다.
    • 스택 오버플로(Stack Overflow)를 검색해보세요. 개발자들을 위한 질의응답을 할 수 있는 웹사이트 입니다. 기술, 문제 해결, 언어 사용 등과 관련한 질문을 할 수 있고 여러 정보도 얻을 수 있습니다. 타 이용자들의 질의응답을 보며 여러 인사이트도 기를 수 있습니다.
    • 코딩 연습 사이트를 이용해보세요. CodeWars, CodinGame과 같은 사이트에서는 기술 테스트를 위한 수 천가지의 문제를 제공합니다.
    • 지속적으로 배울 수 있고 네트워킹을 할 수 있는 그룹을 찾아보세요. Meet up과 같은 사이트에서 소프트웨어 엔지니어들을 만나고 그들의 커리어에 대해 알아갈 수 있습니다. 소셜미디어 웹사이트도 이용해보세요.
  5. How.com.vn 한국어: Step 5 소프트웨어를 설계합니다.
    실력을 늘리고 싶다면 배운 내용을 직접 사용해보고 부딪쳐야 합니다. 상업적 혹은 전문 프로젝트냐 개인적으로 소소하게 하는 일이냐에 상관없이, 직접 소프트웨어를 디자인하고 코딩을 해보면 자신의 한계와 약점을 깨달으며 많이 배우게 됩니다. 취업할 때는, 이렇게 실무에 가깝게 진행한 프로젝트가 대학교 성적이나 이론 지식보다 훨씬 유용합니다.[10]
    • 설계한 소프트웨어를 상업적으로 판매하고자 하는 것이 아닌 이상 온라인에 배포해보세요! 업계 관련자들이 당신의 프로젝트를 보고 능력을 판단할 수 있게요. 피드백을 받고 기술을 향상시킬 수 있는 좋은 방법입니다.
  6. How.com.vn 한국어: Step 6 인턴십을 찾아봅니다.
    소프트웨어 엔지니어링을 공부하는 많은 학생들이 대학교 재직 중 인턴십을 합니다.[11] 인턴십을 통해 실무 경험을 얻고 좋은 인맥을 얻을 수 있게 됩니다. 구직 사이트나 인맥을 통해 인턴십 기회를 찾아보고 지원하도록 합니다.
  7. How.com.vn 한국어: Step 7 취업 기회를 찾아봅니다.
    소프트웨어 엔지니어링은 빠르게 확장되고 있는 분야입니다. 처음에는 단순 프로그래머로 취업해서 소프트웨어 엔지니어가 되기 까지 노력해야 할 수도 있지만, 일단 취업 자체는 어렵지 않습니다.[12] 대학교를 졸업하기 전에 미리 취업의 길을 찾아보고 구상해보도록 합니다:
    • 학교에서 졸업생들을 도와주는 경우가 많습니다. 교수나 교직원을 만나보거나, 취업 관련 센터에 가서 구직에 관련한 조언이나 충고를 듣도록 합니다.
    • 생각보다 많은 사람들이 인맥을 통해서 직장을 구합니다.[13] 지인 혹은 취업 센터나 학회에서 만난 사람들에게 구직 관련 이야기를 하여 도움을 받을 수 있는지 확인합니다.
    • 구직 사이트를 자주 확인합니다. 계정을 만들고 이력서를 올려 인맥 확장에도 힘을 쓰도록 합니다.
  8. How.com.vn 한국어: Step 8 진로의 목표를 세웁니다.
    소프트웨어 업계는 오늘과 내일이 다릅니다. 항상 공부하고 실무에 도움이 되는 기술을 향상시켜 진로의 길을 넓히고 확장하도록 합니다. 다음과 같은 방법을 통하여 취업 가능성을 높이도록 합니다:
    • 인맥 형성을 위해 전문 기관 혹은 협회에 가입하는 것도 좋습니다.
    • 소프트웨어 엔지니어링 분야에서 오래 일하고 싶다면 석사 학위를 취득하는 것을 고려해봅니다. 석사를 필수 요소로 내세우는 회사는 많이 없지만, 석사 학위를 가지고 있다면 업계 선두 업체에 입사가 쉬워지거나 매니저 자리로 빠르게 승진할 수 있고, 또는 임베디드 소프트웨어 필드에서 취업하는 데 도움이 됩니다.[14]
    • 살고 있는 지역이나 취업을 하고 싶은 정확한 분야에 따라 자격증이 도움이 될 수 있으나 이렇게 특성화된 이력서는 또 다른 분야에서 꺼려질 만한 요소가 되기도 합니다.[15] 가고자 하는 분야에서 이미 일하고 있는 엔지니어들과 이야기를 해보고 정말 나에게 필요한 자격증인지 따져보도록 합니다.
    광고
방법 2
방법 2 의 2:

소프트웨어 엔지니어 분야로 이직하기

PDF 다운로드
  1. How.com.vn 한국어: Step 1 일자리 전망을 조사합니다.
    소프트웨어 개발은 앞으로도 성장이 많이 예측되는 분야입니다. 특히 소프트웨어 엔지니어링은 일반 프로그래밍과 비교해서도 훨씬 촉망되는 분야입니다. 소프트웨어 엔지니어의 연봉은 미국으로 취업할 경우 평균 팔만 불에서 십만 불 정도 됩니다.[16][17]
  2. How.com.vn 한국어: Step 2 프로그래밍을 바로 배우기 시작합니다.
    실무에서 사용되는 소프트웨어 설계나 코딩을 우선 순위로 잡습니다. 이를 배우기 위해서는 다양한 방법이 있습니다.
    • 온라인 튜토리얼 혹은 친구를 통해 프로그래밍하는 법을 배웁니다.
    • 온라인 공개강좌(MOOC)를 듣습니다.
    • 이미 관련된 직무 경험이 있다면 깃허브(GitHub) 등지에서 다른 프로그래머들과 협업 작업을 합니다.
    • 시간과 재정이 허락한다면 코딩 부트캠프(Coding bootcamp)를 통해 코딩을 빠르게 배웁니다.
  3. How.com.vn 한국어: Step 3 가지고 있는 경력을 확장합니다.
    소프트웨어는 전문직 분야이지만 그렇다고 꼭 이전 경력이 컴퓨터 혹은 소프트웨어 관련 분야일 필요는 없습니다. 소프트웨어 엔지니어링은 문제 분석 능력과 해결 능력, 팀 워크가 요구되는 분야라 이전에 관련된 직무를 맡았다면 이를 이용할 수 있습니다. 또한 특정 분야를 잘 알면 그 분야를 위한 소프트웨어를 설계하는데 큰 도움이 될 수 있습니다.
    • 취미나 소소한 관심사는 인맥을 만드는데 도움이 되거나 실무에 도움이 되기도 합니다. 이와 같은 예시로 게임 앱이나 디지털 음원 제작 앱, 비즈니스 소프트웨어가 있습니다.
    • 가능하다면 일을 부분적으로 자동화시키세요. 일을 더 빠르고 쉽게 처리할 수 있는 툴을 개발해보세요. 소프트웨어 엔지니어링은 문제해결과 직결되어 있습니다. 소프트웨어 개발은 엔지니어가 선택한 문제해결 방법입니다. 문제를 겪고있다면 바로 시작해보세요!
  4. How.com.vn 한국어: Step 4 학사 학위 프로그램에 등록하세요(선택사항).
    적게는 몇 달 동안 길게는 1, 2년 곁다리로 조금씩 해왔던 일을 바탕으로 열정만 있다면 프로그래밍 직업을 잡을 수는 있습니다. 하지만 단순 코딩이 아닌 소프트웨어 설계를 해야 하는 “정식” 엔지니어링 직업을 구하기 위해서는 일반적으로 학사 학위가 필요합니다. 이미 다른 전공으로 학사 학위를 취득했다면 석사로 소프트웨어 엔지니어링을 하는 것을 고려해봅니다.
    • 선택사항이란 점을 명심하세요. 하지만 스스로 동기부여하는 것이 어렵거나 커뮤니티에 속하는 것을 어려워한다면 이것이 가장 효과적인 방법일 수 있습니다.
  5. How.com.vn 한국어: Step 5 인맥을 사용합니다.
    이제는 모든 분야에서 소프트웨어 개발자를 필요로 하는 시대이므로, 예전에 일했던 곳에서 만들었던 인맥도 큰 자산이 될 수 있습니다. 또는 한국 소프트웨어 산업 협회나 한국소프트웨어 기술 진흥 협회, 혹은 한국 소프트웨어 저작권 협회 같은 전문 기관 혹은 협회에 가입하는 것도 좋습니다.
    광고

  • 이 업계에서 직위나 직책은 딱 정해지지 않았습니다. “소프트웨어 개발자”는 포괄적인 이름입니다. “소프트웨어 엔지니어링”이란 분야는 프로그램 디자인과 특화된 지식이 필요하지만, 회사에 따라 단순 프로그래밍 직책을 멋지게 소프트 엔지니어라고도 합니다.[18]
  • 특정 회사에 취업하고 싶다면 그 회사 홈페이지에서 구인란 혹은 공채를 직접 확인합니다.
  • 가끔은 고전으로 돌아가 봅니다! 코드를 컴퓨터에 입력하기 전에 종이에 써보도록 합니다!
  • 가장 중요한 것은 훌륭한 소프트웨어 엔지니어가 되기 위해서는 많이 노력해야 한다는 점입니다!
광고

이 위키하우에 대하여

How.com.vn 한국어: Stephen Cognetta, MBA
공동 작성자 :
기술 면접 코치
이 글은 공동 작성자 Stephen Cognetta, MBA. 스테픈 코그네타는 기술 면접을 준비하고 최상으로 끌어 올릴 수 있도록 돕는 교육 플랫폼, Exponent의 CEO이다. 스테픈은 제품관리, 소프트웨어 엔지니어링, 제품 마케팅, 관리, 기술 프로젝트 관리, 데이터 과학 면접 등이 전문이다. 스테픈은 프린스턴대학교에서 컴퓨터공학을 전공하고 최우등으로 졸업한 후 스탠포드대학교에서 MBA 학위를 받았다. 스테픈은 Exponent를 창업하기 전에 구글에서 제품관리자로 일했으며 HackMentalHealth를 공동 창업했다. 조회수 27,368회
이 문서는 27,368 번 조회 되었습니다.

이 글이 도움이 되었나요?

⚠️ Disclaimer:

Content from Wiki How 한국어 language website. Text is available under the Creative Commons Attribution-Share Alike License; additional terms may apply.
Wiki How does not encourage the violation of any laws, and cannot be responsible for any violations of such laws, should you link to this domain, or use, reproduce, or republish the information contained herein.

Notices:
  • - A few of these subjects are frequently censored by educational, governmental, corporate, parental and other filtering schemes.
  • - Some articles may contain names, images, artworks or descriptions of events that some cultures restrict access to
  • - Please note: Wiki How does not give you opinion about the law, or advice about medical. If you need specific advice (for example, medical, legal, financial or risk management), please seek a professional who is licensed or knowledgeable in that area.
  • - Readers should not judge the importance of topics based on their coverage on Wiki How, nor think a topic is important just because it is the subject of a Wiki article.

광고