작업
케이스 1:
당시에는 미디어/인터넷 기관에서 학생 조교 및 코더로 일했습니다.
회사 소개:
사장님은 디자인을 공부했고, 대부분의 직원들은 HTML과 CSS에 대해 전혀 모르는 미디어 디자이너였습니다. 보스의 친척인 유일한 "개발자"가 있었는데, 그는 모든 것을 스스로 가르치고 웹사이트를 배포하는 업무를 책임졌습니다.
저에 관한 정보:
저는 이전에 공부했던 것들은 주로 자바에서의 객체 지향 프로그래밍(자바스크립트는 아님), 다양한 알고리즘들, 수학 그리고 약간의 소프트웨어 아키텍처와 그와 관련된 것들이었습니다. HTML, PHP, CSS에 대한 기본 지식이 있습니다. 많은 것들을 스스로 배웠습니다.
첫 3개월 동안 모든 것이 순조롭게 진행되었어요. 작업은 기존 HTML 기반 정적 웹사이트를 Contao로 이전하고, PHP로 내 백엔드 모듈을 만들고, CMS를 통해 프론트엔드를 편집 가능하게 하는 것이었어요.
그 모든 것을 몇 일 안에 혼자서 배웠어요. 제 고용주가 한 일가족의 팁을 주는 것 말고 따로 도움을 주지 않았어요. 그 팁은 “rock sold”라는 플러그인이 있다고 들은 건데요, 그 순간부터 난 깊은 물에 던져졌어요.
솔직히 말해서, 그것을 해내는 데 운이라고 해도 과언이 아니에요. Contao를 구현하는 것이 매우 직관적이고 쉬워서 그랬어요. 다른 학생이라면 추가적인 도움 없이는 해내지 못했을 수도 있었을 거예요.
그리고 꼼수가 나왔어요: 기존 웹사이트의 양식을 Javascript로 "빠르게" 수정해야 했는데, 여기에서 특정 필드는 이전에 선택된 다른 필드에 의해만 표시되는 조건이 있었어요.
처음에는 쉬워 보였지만, 실제로는 기존 코드를 조금 수정하고 조금의 논리를 적용하여 간단히 필드를 숨기고 표시하는 방식으로 만들 수 있겠다고 생각했어요. 사실 막연하지 않은 작업이었죠.
하지만 여기서 "너무 많은 요리사가 국물을 망치는" 문제가 발생했어요.
해당 웹사이트는 이전에 여러 회사와 개발자들이 구현하고 수정해온 결과였죠. 부트스트랩과 다른 프레임워크가 혼합돼 있었거나, 아예 없는 경우도 있었어요. CSS 코드는 계속 덮어쓰였고, 개발자들이 매번 새로운 규칙을 마지막에 추가해서 무수히 많은 곳에서 덮어쓰여져 있었어요.
그것을 파악하는 데는 시간이 꽤 걸렸어요. 뿐만 아니라, 양식은 주로 PHP로 만들어졌지만, 분명히 복사하여 붙여넣기되었고 인터페이스 구현이 정확하게 이루어지지 않았어요.
서버 어딘가에 있는 .php 파일에서 폼의 내용이 나왔다고 들었어요 (먼저 스스로 찾아야 했죠). 물론 폼 파일 자체에 직접 src로 명시되지 않았지만 페이지가 생성될 때 어딘가에 숨겨져 있었어요. 그것 때문에 미치겠더라구요.
또한, 이 파일은 실제로 존재했지만 사용되지 않았어요. 다른 곳 (전혀 보이지 않았던 곳)에서 데이터베이스의 파일이 JavaScript를 사용하여 폼에 채워졌어요. 그래서 먼저 폼이 파일에서 데이터를 채웠지만, 파일을 찾을 수 없는 개발자가 있었는지 찾기 싫어했던 사람이 나와서 내용을 후에 스크립트로 덮어썼어요.
이런 걸 해결하려면 상당한 시간이 걸려요. 특히 JavaScript에 대해 사전 지식이 없다면 더 그렇죠. 저는 크리스마스 휴가 동안 자바스크립트를 배워서 이런 엉망인 것을 정리해야 했어요.
사장이 이미 송장을 발행했기 때문에 크리스마스 휴가 중에 끝내달라는 업무를 맡겨줬어요. 결국 해년 전에 그것을 회계에 포함시키고 싶었던 겁니다.
안녕하세요! 불행하게도 마감일을 맞추지 못했고, 1월 2일에 작업을 마무리했어요. 멍청하고 어리석은 양식이었음에도 불구하고 두 주 이상이나 고생했어요.
제 상사는 이미 송장을 발행한 상태라서 고객과 문제가 생겼고, 고객은 구현이 이뤄지지 않은 것에 크리스마스 때 당황하고 기분이 상해서 상사의 자존심이 상처이 되어 1월에 퇴직통지를 받았어요.
이게 현실이에요.
Case #2:
워드프레스만 다루는 회사에서 일해보는 시도를 했어요. 면접에서는 CMS에 대한 경험이 있지만 워드프레스는 처음이라고 말했어요.
그 회사에는 두 명의 개발자가 있었어요: 외부 개발자 한 명과 사장님 본인이요. 사장님은 외부 개발자에게 나를 훈련시키기로 지시하셨고, “우리는 코더를 급하게 찾고 있지만 누군가를 훈련시킬 시간이나 돈이 별로 없어요.”라고 말씀하셨어요. 그래서 “외부 개발자의 옆에서 지켜보라”고 했어요.
그러나 외부 직원은 나에게 관심이 없었으며 나와 관련된 합당한 이유도 없었어요. 그럼 그의 작업이 사라질 것이라고 생각했어요. 매우 억지스럽지 않았나 싶었어요.
내 업무는 스마트폰 버전에서 제대로 표시되지 않는 완전히 망가진 메뉴를 수리하는 것이었어요. 또한 프론트엔드의 버그를 수정해야 했어요. 그러나 전혀 모르는 워드프레스의 특정 사항으로 인해 즉시 제약을 받았고, 기본적으로 “X 라인에서 Y 오류가 발생했으니 그것을 수정하라”고 했지만 오류는 완전히 다른 곳에 있었어요.
그런 다음 "가만히 있는" X 라인의 오류를 수정하고 싶었지만, 원래의 오류를 바로 잡고 싶었어요. 그러나 모를 바에 나가 문제에 빠졌어요. 왜 명령대로 하지 않았는지 물었어요. 그래서 전 어떻게든 X 지점에서 프론트엔드에서 올바르게 만들기 위한 해결책을 고안해냈어요.
그 코드는 진짜 최악이었어요. 저는 그렇게 사용하지 않았을 거예요. 그러나 제가 그렇게 해야 했어요. 결과적으로, 제가 다음과 같은 이유로 해고당했어요: 모든 걸 다 알고 있음/조숙, 잘못된 코드, 그리고 구현하는 데 너무 오랜 시간이 걸림. 제 생산성이 낮았고 '프로그래머 유형이 아니라'라는 이유로 비판을 받았으며 '구조에 대한 감각이 없다'는 것을 비판 받았어요. 비판은 나와 제 성격에 상당히 큰 탄압이었어요.
그럼에도 불구하고, 저는 이러한 경험들에 대해 기뻤어요. 제가 해고당한 것을 좋게 받았어요. 그러니 개발자를 해고해주세요. 왜냐하면 지금은 훌륭한 회사에서 일하고 있어요, 저와 제 고용주 모두 극도로 만족하며, 여기서 제가 많은 지원과 동시에 많은 신뢰를 받고 있어요. 제가 여기서 더 나이 많은 동료들로부터 믿으라ㄴ 양양한 것을 배우고 있어요.
오류의 원인이 많기 때문에 작업에 대해 자세한 설명 없이는 일반화할 수 없어요. 당신이 묻는 질문은 여러분의 의견을 형성하기 위한 전문 지식이나 기술 지식이 부족하다는 것을 시사해요.
IT 배경이 없는 기업가들에게는 왜 일부 작업이 놀라울 만큼 오랜 시간이 걸리는지, 반면 거의 동일한 작업이 훨씬 많은 시간이나 전문 지식이 필요한 작업을 왜 정확히 하지는 않는지 이해하는 것이 특히 어렵습니다.
프로그래머들은 항상 연구 작업에 많은 시간을 주어야 합니다. 재정적 이유로 프리랜서/외부 회사를 사용할 수 없거나 원치 않는다면, 적어도 주니어 개발자들도 시간이 필요하다는 것을 알아야 합니다. 그들이 “나쁜” 또는 “어리석은” 것을 의미하지는 않습니다.
간단한 한국어로 🚀
In Plain English 커뮤니티의 일원이 되어 주셔서 감사합니다! 떠나시기 전에:
- 작가를 박수 치고 팔로우해 주세요! 👏️️
- 팔로우하기: X | LinkedIn | YouTube | Discord | 뉴스레터
- 다른 플랫폼 방문하기: CoFeed | Differ
- 더 많은 콘텐츠: PlainEnglish.io