취업톡톡 세부메뉴

질문 상세 보기

Q 전자공학과 졸업생인데 소프트웨어 개발자로 취업하게되었습니다.

조회수 1,610 2023-06-12 작성

처음에 하드웨어 개발자로 지원했었지만 급하게 소프트웨어 인력이 필요한데, 소프트웨어 직무로 지원이 가능하냐는 말에 소프트웨어 직무를 하더라도 임베디드 관련 SW로서 일을 하게 될 줄 알았기 때문에 가능하다고 하였고, 면접 때도 그런 부분을 어필하여 최종적으로 합격하여 취업하게 되었습니다.


그렇게 오늘 첫 출근을 하게 되었고, 점심 시간에 10~20년을 이 회사에 근속 하신 분께 어떤 일을 하게 되는지 물어보았습니다.


그렇게 들은 대답은 `어플리케이션 SW 제작에 참여하게 될 것` 이었습니다. 이 말을 듣고 조금 당황하였으나 관련 지식을 공부 및 연구하고 모르는 것들은 물어보며 앱 SW 개발자로서 성장하게 될 수 있는지 물어 보았는데, 사실 이번에 처음으로 기업 제품에 어플리케이션을 접목한다고 하셔서 모르는 것이 생겼을 때 명확한 솔루션을 제시해주기 보단 으쌰으쌰 느낌으로 같이 해결하는 방식으로 풀어나갈 수 있을거라 열정만 있으면 된다고 이야기 하셨습니다...


저도 해당 의견에 동의하며 점심시간이 끝난 후 자리에 돌아와 어떤 지식이 필요한지 확인을 해보았습니다.

그랬더니 전자공학과에서 배우지 않은 Java(or 코틀린), 자료 구조부터 시작해서 네트워크, 서버, 데이터베이스를 이해를 해야 좋은 품질의 어플리케이션을 개발할 수 있다는 정보를 알게되었습니다.


첫 번째로 위의 학문들을 꼭 공부해야 App SW 개발을 할 수 있는 것이 맞는지,

두 번째로 어느 정도로 공부해야 하는지


이 두 가지가 중점적으로 궁금합니다.

위 두 가지에 대한 답변 말고도 도움을 주실 수 있다면 간곡히 부탁드리겠습니다 ㅠㅠ


내 프로필 > 북마크 에 추가되었습니다

현재 브라우저의 보안 설정에 따라 복사가 허용되지 않습니다.
아래 URL 주소를 드래그 후 Ctrl+C를 눌러 복사하시기 바랍니다.
닫기
후배에게 답변하기 입력
솔직하고 따뜻한 답변을 남겨주세요.
0 / 1,000
답변 10
  • 프로필 이미지 mentor3560000 소프트웨어개발자 / 17년차 Lv 2

    "명확한 솔루션 없이.....으쌰으쌰..." 이 내용이 심하게 걸립니다.
    우선은 회사에 아님 선임 한태 S/W 어떤걸 뭘 개발 해야 하는지 물어 보세요..
    그리고 이미 그 일을 하고 계신 분들이 계신지도 물어보세요..

    느낌상 아마 없을 듯 합니다. 전 비슷한 회사를 다녀 봤는데...상처만 남았습니다,
    그 회사에 꼭 다녀 할 이유가 없으심 그만 두시길 권합니다.

    제 느낌상 퇴사 사유는 충분히 합리적입니다,

    2023-06-30 작성
  • 프로필 이미지 mentor9167378 설계엔지니어 / 25년차 Lv 2

    그냥 부딪혀 해보시면서 길을 찾아가는 것을 추천해 드립니다.
    어떤 때는 새로운 걸 알았다는 기쁨으로
    어떤 때는 안풀리는 문제로 미칠 것 같은 시간으로 월화수목금금금을 하면서
    포기하지 않고 가시다 보면 훌륭한 app sw 개발자로 성장해 서 있을 것입니다.
    단 포기하지 않으셔야 하고 세미나 책 등 각종 주변 정보에 귀 기울이면서
    A가 안되면 B 이렇게 방법을 찾다보면 됩니다. 단 이곳 저곳 다 하려 하시지 마시고
    JAVA 면 JAVA, CSHARP이면 CSHARP 네트웤크나 서버 데이터 베이스도 해당 서적이나 예제 프로그램을
    구글 GITHUB 같은데서 좋은 소스로 연습하시다 보면 분명 능력 있는 SW 개발자가 되실 겁니다.
    감히 조언 드려봅니다.

    2023-06-26 작성
  • 프로필 이미지 mentor4831248 소프트웨어개발자 / 26년차 Lv 2

    솔직히 말씀드리면...
    첫 단추를 잘 못 꿴 게 아닌가 하는 생각이 듭니다
    물론 시장은 웹 서버/클라이언트 관련이 크고, 임베디드나 하드웨어 관련 시장은 굉장히 제한적입니다.
    하지만, 개발자로서 오래 일하시려고 생각하시면, 지금의 직장은 한 번 더 생각하심이 좋을 듯합니다.
    물론, 현재의 업무에 적응을 못할 거라는 것은 아니구요, 지금은 배우는 단계이고 회사에서도 그 정도는 생각하고 있기 때문에 배우면서 현재 분야의 개발자로 성장하게 될 것입니다. 그리고 익숙해 질 것이구요
    하지만 40대 초반의 나이가 들었을 때에 그 때 어떤 선택을 했어야 하나... 라는 생각이 들 것입니다.
    한 번 더 잘 생각해 보세요

    2023-06-22 작성
  • 프로필 이미지 mentor2513486 프론트엔드개발자 / 29년차 Lv 2

    SW 개발 공부할 것 엄청 많습니다. 지금 현재 국내는 java/javascript가 가장 유행인데 이것도 서서히 javascript/python으로 이전중이고, 앞으로 어떻게 변화할지도 모르겠습니다. java 안에서도 끊임없이 F/W이 변화하고 개발툴도 변화므로 평생 공부해야 하고(끊임없이 새로운 기술이 나옴니다.) 개인적으로는 차라리 H/W 쪽으로 더 찾아보라고 권하고 싶네요. 물론 H/W도 계속 바뀌겠지만 기반 기술이라서 여타 기술로 대체가 힘든 분야라서 기술 교체가 힘들 것으로 생각되네요.

    2023-06-21 수정
  • 프로필 이미지 mentor7052498 전기·전자엔지니어 / 7년차 Lv 2

    일단 본인이 어디로 경력의 방향을 잡고 싶으신지를 생각햐셔야 할 것 같습니다.
    신입이라서 그러시는 것도 있겠지만, 회사에서 단순히 손이 필요하다는 이유로 3-5년차의 개발자에게 경력과 전혀 무관한 업무들을 업혀보내는 경우는 꽤 많이 있고, 그 소용돌이에 휘말린 분들은 대부분 경력의 정체성이 손상되는 경우가 압도적으로 많습니다.
    일단 본인께서 하고싶은게 무엇인지 가능하는게 중요해보입니다.
    어차피 신입이라 닥치는대로 배워서 해보고 싶으시다면, 코틀린을 배워서 앱개발자 경력을 시작하는 것도 나쁘지는 않겠습니다.
    다만, 표현에서 미뤄보건데 선임층이 두텁지는 않아보입니다. 경력자 또는 대학원 출신에게는 극복할수 있는부분이나, 앞서서 방향을 제시할 선임자가 없는 환경은 때때로 신입에게는 치명적인 환경이 되기도 합니다.
    전자공학 졸업을 하셨다고 해도 소프트웨어에서 이야기하는 통신은 궤가 많이 다릅니다. 네트워크도 물론 마찬가지 이구요. 학부 전공을 가볍게 보시는 분들도 많이 계시지만 관련 전공 내용을 4년에 걸쳐 한 번 이상 들어본 사람과 그렇지않은 비전공자는 출발점이 전혀 다르다고 보시면 됩니다.
    그런 부분들 잘 판단하셔서 현명한 선택을 하시길 바랍니다.

    2023-06-20 작성
  • 프로필 이미지 mentor9611219 네트워크엔지니어 / 8년차 Lv 3

    1. 교수님(또는 선배님들)께 원하는 직업/진로를 어떤 일이 잘 맞을까요?라고 여쭤 보세요. 네트워크, 제조, 설계, 유지보수, 기획-연구, 마케팅-외국어능력 등 분야는 어떤지 질문해 보세요.
    2. 고용센터를 찾아가서 상담해 보세요. 반도체 설계-제조-유지보수, AI 반도체 무료 교육-매월 지원금 지급 유무. 웬만한 SW 교육도 hrd.go.kr 에 가 보시면 많이 있습니다. 제가 검색해 보니, hrd 안에 K-디지털 아카데미도 있네요.
    3. 숨고와 크몽에서 필요한 전문가를 찾아서 과외선생님에게 물어보거나, 방통대/사이버대학교/야간대(편입)/대학원/평생학습/K-MOOC (강의듣기), 전산학과 교수님이나 조교님을 통해서 필요한 리소스와 학습 방향 잡기(프로그래밍 학습 효율), 그렇지 않으면 도서관(또는 유투브)에서 IT 책들에서 필요한 코드를 찾아서 서버, DB, 화면, 하드웨어와 연결하는 드라이버 제작, 네트워크 코딩을 혼자 또는 네이버 카페(자바, 코틀린, 앱 등) 활용. 빨리 필요한 솔류션 코드를 찾아서 부분 테스트, 배포 파일까지, 테스트는 대개 별개로 합니다.
    4. ERD(요구사항 분석, 산출물, 엔티티 다이어그램 등), 데이터-DB 관계도(속성, 데이터 정의, 인터페이스 정의) 테이블 생성과 문서 제작, 공공기관은 대부분 오라클 사용함. 자율주행/회계/MIS/빅데이터, 시스템 분야별로 사용 DB 다르지만 대개 SQL 명령어는 비슷함. 자바와 DB를 연결하는 코드, 소켓, 파라미터 변수 등 다른 부분들. 요령이 생기기 전까지는 어려운데, 자바도 변수 정의는 getter/setter 에서 하면, 자바에서 생성한 변수를 받아서 함수 처리하고, 화면/서버/DB로 넘기는 부분, DB/네트워크 연결. 유투브 앱 서버 연동 개발(검색) 등이 있습니다. 아두이노-앱-서버-자율주행 AI 키트도 쉽게 배울수 있습니다.
    5 개인적으로는 반도체 설계 교육/전력 반도체/자율주행/AI 반도체를 추천드립니다만, 연봉 5천이상 회사라면 3년 이상 버티셔요

    2023-06-17 수정
  • 프로필 이미지 mentor0984522 백엔드개발자 / 20년차 Lv 5

    안녕하세요.

    답변부터 드리겠습니다.
    1) 회사에서 어떤 업무를 하는지에 따라 다를 수 있는데 입사부터 지금까지 상황의 모든 내용으로 보니 품질보다 이전에 구현자체에 목적을 두는 것으로 보여서 공부는 업무 이외 남는 시간에 개인적으로 해도 되겠습니다.

    2) 그런데 지식을 확인했을 때 몰랐다가 처음 안 상태라면 개념이나 정의 정도는 사전에 익혀야 대화를 할 수 있으니 참고하십시오.

    지금 회사에 입사한 이상 업무를 빨리 처리할 수 있게 집중을 해야하고 늦게 완성되는 건 절대 피해야 합니다. 세부적인것이나 작은 것에 묻히는 경우가 생기는데 이걸 큰틀에서 영향을 주지 않고 미뤘다가 여유 있을 때 처리하는 방법을 찾아보십시오. 조금만 이상하거나 안되거나 느린 것 같으면 요청이 아닌 보고를 해서 어떻게 처리하는지 익히도록 합니다.

    지금은 전공에 따라서 임베디드를 개발할 수 있겠지만 시간이 지나면 점점 감각이 무뎌져서 개발하지 못할 수도 있으니 차후 이직이나 최악의 경우에 대비해서 준비하는 것도 중요합니다.

    현재 한 가지 일만 할것이 아니고 어느 정도 다른 일도 준비는 하도록 신경을 써야 하는 점이 어렵습니다.

    건승하십시오.

    2023-06-13 작성
  • 프로필 이미지 mentor9354853 소프트웨어개발자 / 26년차 Lv 3

    Java로는 어플리케이션을 만들 수 없습니다.
    내용을 보니, 코틀린으로 앱을 만드는 것 같은데..국내에서 코틀린으로 앱 개발하는 회사가 그렇게 많지 않습니다만, 배워두면 좋은 경험이 될 것입니다.
    어느 회사에 가도 위에 언급한 내용들을 미리 공부해 두면 용어에 대한 스트레스는 많지 않을 것입니다.
    물론, 몰라도 선배에게 그때 그때 물어보면 가르쳐 줄테니 걱정 안하셔도 됩니다만, 스트레스는 엄청나겠지요.
    코틀린은 책 한권을 구입해서 2~3번 정도 읽으면서 거기 샘풀로 연습을 해보세요.
    책 읽기가 귀찮으면 저처럼 유튜브나 인터넷에서 검색해서 공부 해보세요.
    그래도 한번은 완독 하는걸 권장 합니다.
    자료구조는 몰라도 일하는데 지장 없습니다. 다만 가끔은 책을 봐야 할 때가 있습니다.
    네트워크는 구축과 개발로 나뉘는데 개발하는 입장에서는 TCP/IP 소켓 통신 쪽을 공부해야 됩니다.
    그리고, 네트워크 이론도 공부하면 많은 도움이 될 꺼예요.
    서버도 구축과 개발 둘로 나뉘는데 당장 공부할 필요 없을 것 같네요.
    데이타베이스는 어떤 회사냐에 따라서 공부 범위가 다릅니다.
    앱에서는 주로 nosql쪽 디비를 사용하기 때문에 디비를 사용 한다면 그때 공부 하시면 될 것 같습니다.
    소프트웨어 분야는 너무 다양하고 계속 공부해야 되는 분야 입니다.
    서배와 같이 으샤으샤 하면서 배워 나가시면 됩니다.
    급하게 하지 마시고 천천히 스트레스 받아가며 공부하는 것도 나쁘지 않을 것 같습니다.

    2023-06-13 작성
  • 프로필 이미지 mentor1017963 백엔드개발자 / 19년차 Lv 2

    첫 번째로 위의 학문들을 꼭 공부해야 App SW 개발을 할 수 있는 것이 맞는지,
    - 네. 맞습니다. 정도의 차이가 있지만 개발자 생활을 할 때 알아야 할 지식입니다.
    - App SW 개발은 결국 `클라이언트` 개발입니다.
    - 클라이언트는 데이터를 제공하는 서버측과 대화를 해야 합니다. 그 대화하는 방법에 필요한 것들입니다.
    - 언어: 안드로이드 앱을 개발하려면 자바 또는 코틀린(메인 언어)가 필요합니다.
    - 네트워크: 클라이언트가 서버와 통신을 하려면 TCP/IP 및 HTTP 통신을 사용하게 됩니다.
    - 서버: 클라이언트가 데이터를 받아오려면 서버가 필요합니다. 클라이언트의 요청을 받는 것입니다.
    - 데이터베이스: 서버가 데이터를 제공하려면 저장소가 필요합니다. 이 때 사용하는 것이 데이터베이스입니다.

    두 번째로 어느 정도로 공부해야 하는지
    - App SW 개발에서 `클라이언트`를 담당한다면 `안드로이드 앱 개발` 책을 하나 학습하시기 바랍니다.
    - API를 활용한 서버측과의 통신이 필요하니 기본적인 네트워크, 서버 구조를 이해해두시면 좋습니다.

    # 추천 도서 - 개념서
    - 그림으로 배우는 서버 구조
    - 그림으로 배우는 네트워크 구조 (또는 그림으로 배우는 HTTP & Network Basic)
    - 그림으로 배우는 클라우드 2nd Edition
    - 그림으로 배우는 데이터베이스:

    위의 개념서를 보시고 차차 전문서를 찾아보는 것이 좋습니다.

    보시다시피 양이 방대합니다.
    그러나 저 지식들이 당장 모두 깊게 필요한 것은 아니니 포기하지 않고 즐겁게 한걸음 한걸음씩....

    2023-06-13 수정
  • 프로필 이미지 mentor7233162 소프트웨어개발자 / 12년차 Lv 1

    보통 실무에서는 학교 커리큘럼처럼 일을 준비하고 시작하지 않습니다. 왜냐하면.. 스타트업같은 곳이면 모르겠지만, 소프트웨어 인력이 애초에 있던 회사고, 인력이 부족해 전향이 필요한 상황이라면, 이미 업무에 쓰이고 있는 레퍼런스(기존 S/W)가 있을 확률이 높기 때문에, 차라리 그걸 베이스로 분석하고 익히는게 실무적으로 접근은 더 빠를겁니다.

    결론은 학문은 필요하지만, 실무하다가 나중에 부족한 부분을 찾아서 심화적으로 공부해도 충분합니다. 어느정도라는 것은 감은 너무 캐바캐영역이라.. java, network, server, db 이 모든걸 신입한테 갑자기 다 소화해라고 일을 주진 않을겁니다. 기준이 되는 영역이 있을거에요. 그것부터 업무에 익혀질 때까지, 분석과 공부를 같이 하시면 충분하리라 봅니다. 다만 반영, 적용, 이행 같은것에서는 사수나 동료의 인수인계나 서포트를 받아야겠지요.

    2023-06-12 작성