본문 바로가기

회사생활

개발자 실무 1년차 소회

응애 나 아기 개발자

 

20년 9월 7일 입사 이후

어느덧 1년하고도 2개월이 지났다.

다날 이라는 회사에서 2달간 신입 교육을 받으며 PHP 사내 SNS개발과 환율 API (flask) 를 개발했고,
데브옵스 직무를 배정받아 1년간 일했다. (Devops = Developer + Operationer, 개발 및 운영직)

 

그동안 내가 한 것:

회사에서 진행:

  • 담당 서비스 DR 구축
    담당 서비스를 신설 데이터센터로 구축 및 업그레이드,
    IP통신인 부분 도메인화
  • 로그 통합/분석 시스템 구축 시도 ( Graylog 사용 )
    하지만 선임 개발자의 퇴사로 인해 인수인계 받고 서비스 담당받게 되어 중단
  • 상시 페이코인 결제, 휴대폰 결제, 삼성페이 휴대폰결제 유지보수 및 업데이트
    코드리뷰, 업데이트 전 테스트 진행, 문의 답변 등등
  • 일부 서비스 NodeJS 클라이언트 모듈 개발
    PHP, JSP, ASP, NET 4가지 만 지원했는데, 요청이 많아서 Javascript 버전을 개발했다.
    https://github.com/gogoonbuntu/bartong_nodejs
    https://github.com/gogoonbuntu/Danal_UAS_Nodejs
  • PHP로 사내 SNS 개발 ( 완성했으나 유지보수가 어려워 운영중단 )
    실제 사이트 링크
    깃허브 링크
  • Python Flask 로 달러환율 정보 크롤링 API 개발 ( 페이코인 서비스에서 사용 )
    회사 소유 자산이라 공유 불가
  • 위챗 관련 개발 중국어 번역...
    중국어 능력이 아주 가끔 쓰였다. 조금 더 자주 쓸 일이 있다면 좋겠지만.

등등 회사 내에서 진행한 일들이 있고,

사적으로 진행:

  • React로 커스텀 티셔츠 디자인툴 개발
    Rnd, StyledComponents, Jotai 등 라이브러리 사용.
    꽤나 시간과 공을 들였지만, 예산 문제로 인해 프로젝트 중단.
  • Ruby on Rails 서버 에러 수정
    서버 스펙 부족으로 인해 mysqld 실행불가.
    서버 스펙업 및 스왑메모리 설정해줘서 해결완료.
    이후 몇몇 에러를 지속적으로 수정해주었으나,
    띄워져있어야 할 서비스가 죽어서 다시 띄우며 해결된 부분이 대다수였다.
    정말 여러번 봤지만 Ruby on Rails는 아직도 구조나 동작원리 파악이 안됐다....ㅠ
  • Flash서비스 종료에 따른 HTML5 로 배너 복원작업
    Adobe Flash 의 리뉴얼 프로그램인 Adobe Animate 사용.
    CreateJS를 쓰는데... 그닥 전망이 희망적이진 않다..
  • Google Web Designer 로 반응형 동적 광고 제작
    외주 요청이 들어와 처음 써봤는데 Adobe Animate 보다 나은 듯.

나열해보니 꽤나 많은 일들을 했고, 많이 배운 것 같다.


일을 해보며 느낀 점:

1. 확실히 학생 때 개발하며 배우는 것과 실제 업무에서 배우는 것은 다르다.

소프트웨어의 유지보수성이 정말정말 중요하다.

  • 로그 남기기
  • Exception 감싸기
  • 재사용성 높이기
  • 형상버전 컨트롤
  • 테스트 시나리오 짜기
  • 테스트 진행하기
  • 톰캣, 아파치 세팅을 통한 로드벨런싱
  • 보안성 고려 (암복호화, 인증서 관리 등등)

이 모든 부분은 과제SW를 개발할 때 전혀 고려하지 않는 요소이다.

따라서 "어떤 회사에 붙었는데, 여기를 그냥 가는게 나을까 아니면 더 좋은 회사를 가볼까?"
라는 질문을 후배들한테서 많이 받았는데,
개인적으론 그냥 가보는 것이 좋다고 생각한다.
컴퓨터공학은 디자인과 같이 실무경험이 매우 중요하다고 생각한다.
혼자 방구석에서 공부하는 것으론 배움에 한계가 명확하다.

2. 리눅스랑 정말 많이 친해졌다.

로그 조회할 일이 많다보니 ls, grep 등등을 여러 옵션과 함께 활용하게 된다.
시스템 세팅도 많이 하다보니 자연스레 vim활용, 각 시스템 디렉토리의 용도등 다양한 지식을 습득했다.
자신감을 받아 리눅스마스터 자격증을 따려고 공부했는데....
80% - 90%는 실무와 상관없는 지식들만 시험 범위에 있었다...
(정보처리기사처럼 리뉴얼이 시급해보인다...)

3. 네트워크 지식이 정말 중요하다는 것을 느낀다.

새 데이터센터에 환경구축을 하면서 
자사 데이터센터 서버 구성이 어떻게 되어있는지, L4스위치 구성, 인바운드 IP, 아웃바운드 IP,
방화벽 설정이 어떻게 되어있는지, 많이 이해하게 됐다.

4. 회사의 소프트웨어가 상당히 구식이라, 의도치않게 근본적인 지식을 공부하게 됐다.

소켓통신 관련 지식, 자바, 톰캣의 구동방식, 등등 근원적이고 기초적인 지식을 체득했다.
물론 이 때문에 최신 기술들은 독학 해야했다.

5. 프론트엔드는 완전히 React를 기준으로 잡고 있다.

React가 출시 당시엔 혁신적이긴 하나, 안정성과 속도, SEO 등등 자잘한 문제점이 있어,
여러 개선된 프레임워크들이 계속해서 생겨나는데,
svelte.js 등등 새로운 프론트엔드 프레임워크를 소개할 때보면 항상 React랑 비교를 한다.
위에 말했던 프로젝트를 시작할 때 언어를 고르려고 조사해보니,
프론트엔드 시장의 동향을 보아 React부터 시작해야 겠다고 생각하게 된 이유이다.
( 나름 Html, Css, Javascript 로 많이 해먹었는데... 이젠 다 구시대적 유물이 된 느낌이다 ㅠ )

6. React는 React다. Javascript 가 아니다.

직접 구현하는 부분보다, 라이브러리를 끌어와서 사용하는 방식, 직접 자료구조를 수정할 수 없는 방식,
언제 어떤 컴포넌트를 리로드하게 되는지 등등 React를 위해 공부해야할 것이 많다.
Javascript 를 할줄 알아서 덤볐는데, 처참하게 뚜들겨 맞으면서 프로젝트를 구현했다.

등등....

더 생각 나는게 있으면 정리해보겠다.

나이 먹을수록 시간이 빨리 간다고 하는데, 정말 맞는 말 같다.

2021년엔 임팩트 있는 사건이 딱히 없었던 것 같아 아쉽다.

있다면 코인투자를 통한 수익...? ㅠㅠ 아쉽지만 개발자 커리어완 상관없음.

남은 한달 반 동안 뭐라도 더 해보도록 해야겠다...!

 

 

 

 

 

 

 

 

 

 

반응형