프리랜서 이직, 봉착한 어려움
감사하게도 한 회사로부터 계약 제의를 받아서 이전 회사 프로젝트를 잘 정리하고 인사드린 뒤,
새로운 회사에 프리랜서로 입사하게 되었다. 3개월 간 유지보수와 개발을 맡았다.
현재 고객사는 php와 워드프레스, 카페24 웹서버로 만들어진 사이트(WEB & APP 서비스)다.
개발자는 단 한 명, 나 뿐이다.
전임 개발자와 소통에 어려움이 있어 인수인계를 제대로 못 받은 상황이었고,
나는 이 사이트와 관리자페이지가 워드프레스로 만들어졌다는 것도 한참을 분석한 뒤에야 알게 되었다.
php도 처음이다. 그래서 아주 기본적인 사용도 헤매고 있다.
기존 소스 분석만으로는 한계를 느껴서 워드프레스 책도 구매했다.
(오늘이나 내일쯤 도착할 것 같다! 도착하면 업무시간 이후에도 짬짬이 공부할 예정이다.)
구글링만으로는 내가 봉착한 문제 해결에 한계가 있어서
워드프레스 고객센터에 들어가 봤는데 1:1 문의를 받는 게 아니라 포럼 형식이었다.
그 안에서도 서칭을 해야 했는데 나와 같은 상황의 질문글을 찾아도 뚜렷한 답변이 없거나,
그 글에 달린 답변으로는 내 문제를 해결할 수가 없었다.
내가 있는 개발자 커뮤니티에서 php나 워드프레스를 아는 분들을 찾아서 질문도 해봤다.
그런데 사용해 본 사람이 없거나 있어도 내 질문에는 답변 주기가 어려운 경우가 많았다.
워드프레스 관련 글이 최근까지 올라오는 전문 블로그가 있었다.
이 블로거 분이 운영하는 워드프레스 카페에 가입했다.
여기에 일기를 올리기도 하고 질문을 하기도 한다.
신고식
DB 계정정보를 얻은 첫날에는 phpMyAdmin을 통해 유저 비밀번호를 바꿨다가 모든 사이트가 먹통이 됐었다.
다행히도 관리자들의 사용이 적어지는 저녁시간대였다. 그래도 빨리 해결해야 했다.
카페24 호스팅 관리 페이지에서 바뀐 DB비밀번호를 등록하려고 했는데 숫자로 시작하는 비밀번호로는 바꿀 수가 없단다. 소스코드 안에 있을 DB비밀번호를 바꾸려고 급하게 웹FTP를 깔아 연결했다.
워드프레스를 사용하는 프로젝트는 구조가 낯설고 DB정보가 든 파일 이름도 추정되질 않아서 한참을 찾았다.
기존 비밀번호로 검색해서 원하는 파일을 찾았다. 비밀번호를 바꾸고 리모트 사이트에 올렸는데도 문제가 해결되지 않았다. 서버에 반영이 안 돼서 그런 건가, 하며 카페24 서버 재부팅 방법을 한참 찾았는데 내 상황에 맞는 마땅한 방법이 없었다. (MySQL root 비밀번호를 알 수 없었기 때문이다!) root 비밀번호 리셋 방법도 찾아보고.
정답은 허무할 정도로 간단했다.
카페24 호스팅 관리 페이지에서 DB비밀번호를 기존 비밀번호로 변경하는 거였다.
이렇게 하면 phpMyAdmin 유저 비밀번호가 변경되더라.
이 날 나를 기다려준 담당자에게 정말 죄송하고 감사했다.
내가 혼자 곤란에 처해 있다는 걸 알았기 때문에 퇴근 후인데도 계속 같이 방법을 서치해준 내 지인(프리랜서 선배)에게도. 같은 개발자라서 내 상황을 이해해주고, 저녁약속에 늦는 나를 3시간이나 기다려준 친구들에게도.ㅋㅋ
(물론 예상한만큼 등짝을 후드려맞았다.)
그리고 얻은 것
개발자가 나 한 명인 상황이지만 서버가 웹서버였기 때문에 인프라 관리에 대한 어려움을 느끼지 않아도 됐다.
처음으로 혼자 직접 DB도 깔아보고 웹FTP도 깔아보고, 연결정보를 찾아내
개발환경을 처음부터 세팅해보는 경험을 할 수 있었다.
대략적인 워드프레스 프로젝트 소스 구조와 DB 작동 시스템 원리를 알게 됐고,
카페24 호스팅/도메인 사용법도 알게 됐다.
아이패드를 세컨드모니터로 이용하는 방법이 있다곤 알고 있었지만 복잡한 과정을 거쳐야 하는 줄 알았는데, 생각 외로 간단했다. spacedesk 고마워요. (광고 아님)
워드프레스는 잘만 공부하면 티스토리 블로그를 개선하고 운영하는 데도 도움이 될 것 같다.
워드프레스도 블로그로 쓰이는 경우가 종종 있고,
티스토리 역시 직접 코딩해 바꿔 쓰는 분들이 계시니까 상통하는 점이 있다.
물어볼 사람이 없으니까 일단 혼자 기존 소스를 분석하고 수정해보는 과정에서 훨씬 더 끈기가 생겼다.
어제는 뜻을 몰랐던 코드가 오늘 읽히는 경험이 뿌듯하고 짜릿하기도 하다.
그리고 주변에 끊임없이 도움을 요청하고 받는 중이다.
스트레스를 받을 때는 이 고통을 아는 전직장 동료들에게 푸념을 하기도 하고,
정말 방법을 모르겠을 때는 php를 모르더라도 문제해결 능력이 좋은 사람에게 상황을 설명하고 서칭을 도와달라고 하기도 한다.(나 혼자 하는 것과는 정말 차원이 다르다! 여기서 힌트를 얻는 경우가 굉장히 많다.)
소프트스킬의 중요성
이런 과정들을 거치며 나에게 좋은 개발자 동료들이 많다는 걸 확인하게 됐다.
그래서 다시 한 번 네트워킹의 중요성을 느낀다.
도움을 받을 때 내 역할은 잘 듣고 배우는 것, 그리고 나를 필요로 할 때 잘 돌려주는 것이다.
그리고 나의 상황을 글과 말로 정리해서 풀어낼 수 있는 능력.
질문도 아는 만큼 잘 나온다. 적확한 단어를 쓰려면 어느정도의 선수 지식이 있어야 한다.
상대가 이해하기 쉽게끔 적당히 쉽고 명료한 문장을 쓰려면 글쓰기나 말하기 능력도 있어야 한다.
이 과정에서 정보전달만이 목적이 아니라 사람 간의 유대를 이어가고 싶다면,
맺고 있는 관계가 귀하다면 더더욱 적절한 표현법을 써야 하니 커뮤니케이션 능력도 중요하다.
조급함을 느끼는 중
프리랜서로서 나에게 주어진 계약기간은 3개월이고 시작한지 1개월 가량이니 약 1/3이 지났다.
초반 2주간은 회사 사정으로 일을 바로 시작할 수 없었다. 그러다보니 조급함이 생긴다.
분석에 너무 시간을 들이다가는 고객에게 매주 보여줄만한 성과가 없기도 할 것이고,
요청사항을 미처 다 처리하지 못하는 건 아닌지 고민이 든다.
그렇다고 일단 기존 코드에 대한 이해 없이 개발을 진행해버리면 버그가 생길 가능성이 높고,
나중에 후회할 레거시 코드를 만들어버릴 가능성이 있다.
그래서 분석에 좀 더 시간을 투자할지 일단 할 수 있는 개발부터 진행할지를 결정하기 위해 현상태를 정리해보고 글을 마친다.
현상태 체크리스트
✅ 고객의 업무를 충분히 이해하고 있는가?
> 필요한 만큼의 업무 설명을 들었고, 어떤 화면과 소스를 봤을 때 유기적으로 떠올릴 수 있다.
> 주어진 요청사항을 처리할 만큼으로는 숙지가 되어 있다.
> 더 자세히 듣는 것은 시간 대비 아웃풋을 고려하면 비효율적일 것 같다.
✅ 프로젝트의 구조를 충분히 이해하고 있는가? (필요한 소스와 파일의 위치를 찾아낼 수 있는가?)
> 큰 가닥은 어렴풋이 잡았다.
> 요청사항을 바로 처리하는 수준이 되려면 더 상세히 이해하고 문서화까지 하면 좋을 것이다.
> 지금보다 많은 화면을 보고 소스를 읽어서 파일 간, 컴포넌트 간의 관계성을 파악해야 한다.
✅ 개발에 필요한 php와 워드프레스 지식이 있는가? 아니라면, 필요한 정보를 찾거나 배울 수 있는가?
> php는 array를 생성하는 방법, for문을 쓰는 방법부터 배워야 할 정도로 아는 바가 없다.
하지만 기존에 쓰던 java나 javascript와 유사한 점이 있어 기본 문법은 빠르게 익히고 있다.
개발을 진행하며 모르는 점이 생기면 하나씩 찾으며 진행할 정도로는 읽을 수 있게 됐다.
그러나 한글 문서가 별로 없는 것 같으니, php class를 정리해둔 영어 사이트 문서들을 찾아 읽어야 한다.
> 워드프레스는 바로 어제 SQL의 where절 수정하는 법을 조금 알게 되었을 정도로 잘 모르기도 하고 낯설다.
오래되고 많이 쓰지 않는 서비스라서인지 구글링으로 정보를 얻는 데 한계가 있다.
게다가 현 사이트처럼 관리자페이지를 유저들이 사용하게 하는 방식은 검색으로 거의 정보를 얻을 수 없다.
코어 코드 분석에 시간을 좀 더 투자하면 좋을 것이고, 새로 주문한 책에서도 유용한 힌트들을 기대해볼 수 있다.
도움이 되었던 글
'주니어에서 시니어로 > 개발일기' 카테고리의 다른 글
[사이드 프로젝트] 웹사이트 배포까지 #1_AWS DB 생성해 접속하기 (0) | 2023.01.07 |
---|---|
[월간회고] 5월 KPT / 이사하고 면접 보고 살아가고 (0) | 2022.06.05 |
[펜넥의SAY] 😎따끈따끈한 주니어 개발자의 '여자가 개발자 되는 법' - 3 - (0) | 2021.06.01 |
SAP - 혁신성장 청년인재 집중양성 5기 교육생 모집 공고 (3) | 2020.06.02 |
[펜넥의SAY] 😎따끈따끈한 주니어 개발자의 '여자가 개발자 되는 법' - 2 - (2) | 2020.04.24 |
댓글