목차
- 이력서와 경력 관리
- 반년 휴식기 활용법
- SSL과 HTTP/HTTPS 관련 이슈
- 설계 문제와 레거시 코드 개선 고민
- 개발 조직 내 커뮤니케이션과 리더십
- 원격근무의 장단점과 생산성 관리
- 타입스크립트(TypeScript)의 매력과 활용
- 객체지향 프로그래밍(OOP) 이해 및 적용
- 중국 AI 및 데이터 보안 우려
- 기술 면접, 과제, 그리고 프로젝트 관련 팁
1. 이력서와 경력 관리
- 이력서에 쓸 내용이 없다는 고민이 많음.
- 경험이 없어서가 아니라, 경험을 글로 잘 못 표현하는 경우가 많음.
- 본인의 약점과 강점을 객관적으로 분석할 필요가 있음.
- 시니어 개발자나 팀 리더에게 자신의 경력에 대한 피드백을 받는 것을 추천.
- 경력증명서에 '딱히 한 게 없다'고 명시되면 신뢰도가 떨어질 수 있음.
2. 반년 휴식기 활용법
- 시간이 생겼을 때 깊게 파볼 것인지 사업적인 것인지 고민하는 상황.
- 자신이 강화하고 싶은 기술이나 보완해야 할 역량을 찾는 것이 중요.
- 무엇을 해야 할지 모르겠다면 지금까지 한 일들을 정리하고 피드백을 받자.
3. SSL과 HTTP/HTTPS 관련 이슈
- SSL 인증서 설정 문제로 프로젝트 작업에 어려움을 겪음.
- HTTP를 HTTPS로 전환하는 작업에서 꼬임이 발생하는 경우가 있음.
- HTTPS는 웹사이트와 사용자 간의 통신을 암호화해 보안을 강화하는 프로토콜임.
- SSL 인증서 관리를 잘 해야 혼란을 막을 수 있음.
4. 설계 문제와 레거시 코드 개선 고민
- 잘못된 설계가 프로젝트 전체 코드를 망가뜨릴 수 있다고 한탄.
- 레거시 코드가 이해하기 어렵고, 도메인 지식 부족으로 인해 이프문으로 땜질하는 상황 다수.
- 좋은 개발 문화는 도메인별로 책임을 분산시키고 관리 기간을 늘리는 것인데 인력 부족으로 어려움.
- 설계와 외부 요구사항 간의 간극을 팀 내 투명하게 공유하고 해결책을 모색하자.
- 개선이 안 될 경우, 리더가 직접 나서서 조율하고 싸워야 한다는 의견도 있음.
5. 개발 조직 내 커뮤니케이션과 리더십
- 리더 역할의 중요성 강조: 팀 내부 문제에 총대를 메고 대응해야 함.
- 현실적으로 CTO 등이 기술에 관심 없으면 해결이 어려움.
- 작은 스타트업일 경우, 무리한 일정 맞춤 후 발생하는 사고를 공론화하여 공수를 늘리는 전략 사용.
- 변화가 없고 무시당하는 것은 개발자로서 큰 스트레스 요인.
6. 원격근무의 장단점과 생산성 관리
- 원격근무는 출퇴근 시간을 줄여 개인 발전에 도움을 주지만 '양날의 검'.
- 관리가 가능한 자기주도적이고 공부하는 사람만 원격근무가 잘 맞음.
- 대규모 조직에서는 원격근무 관리가 어려워 생산성이 떨어질 수 있음.
- 원격근무 시 생산성 체크가 필수이며, 무관리 상태에서는 일 안 할 가능성 큼.
- 풀리모트와 월세 지원 같은 복지 정책이 애사심에 큰 영향 미침.
7. 타입스크립트(TypeScript)의 매력과 활용
- 타입스크립트는 자바스크립트에 타입을 추가해 코드 안전성과 유지보수성을 높임.
- 조건부 타입, 리터럴 타입, 유니온 타입 등 복잡한 타입 표현이 가능해 매우 강력함.
- '타슬람'(타입스크립트 신도) 이라는 별명이 있을 정도로 강력한 팬덤 존재.
- 타입 시스템은 JSON 스키마를 표현할 정도로 진화 중이며, Nestia, Typia 같은 라이브러리가 있음.
- 타입스크립트를 제대로 공부하면 코딩 테스트보다 실무에 더 많은 도움이 됨.
8. 객체지향 프로그래밍(OOP) 이해 및 적용
- 객체지향의 핵심은 캡슐화: 객체가 내부 상태를 숨기고 인터페이스로 소통.
- 프로그램이 복잡할수록 객체 간의 깊이(depth)와 의존성이 증가하는 문제 존재.
- 캡슐화로 객체 간 의존성은 줄이면서 복잡도를 완화할 수 있음.
- B타입 계열 객체가 많아지는 경우는 특수형(B+)으로 묶어 관리하는 방법도 있음.
- 도메인 지식이 있어야 객체지향 설계가 더 효과적이며, 기준이 사람마다 다르기 때문에 일관성이 중요.
- 객체지향은 복잡한 비즈니스 로직을 쉽게 처리하고 유지보수하기 위한 프로그래밍 패러다임임.
- 입문자를 위한 쉽게 풀어쓴 강의나 책, 영상 추천 (예: 조영호님 책, 유튜브 ‘똥칸 아저씨’ 비유).
9. 중국 AI 및 데이터 보안 우려
- 중국산 AI 서비스들의 데이터 전송 및 보안 문제에 대한 의심 많음.
- 중국 AI 관련 오픈소스의 데이터 수집 및 관리 방식에 신뢰 문제 존재.
- 한국에서도 비슷한 AI 프로젝트들을 만들어야 한다는 의견.
- AI는 국가 전략자원으로 간주되며, 중국의 저비용 고급 인력 투입 등이 가능하지만 우려됨.
10. 기술 면접, 과제, 그리고 프로젝트 관련 팁
- TypeOrmModule.forRoot()와 forRootAsync() 차이:
- forRootAsync는 비동기 동적 설정이나 외부 프로바이더(예: ConfigService) 주입 시 사용.
- 기술 과제는 질문 없이 바로 내주는 경우도 있어 부담 됨.
- 코딩 테스트와 지속적인 실력 향상을 위한 ‘타입챌린지’ 같은 연습 권장.
- 좋은 오픈소스 및 유틸리티 도구 공유 (예: 카드 BIN 코드 관리 툴: https://bin-ko.deno.dev).
- 코드 설계 및 타입 작성 시 ‘순환참조’ 주의 필요.
- 프로그래밍 시 요구사항 정의가 어렵고, 타입으로 명확히 표현하는 것이 중요함.
면접팁⚡
- 경력관리 및 이력서 작성 시, 경험을 잘 표현하는 능력이 중요.
- 면접이나 과제 시, 기술적인 질문 외에도 자신이 개선하고 싶은 역량에 대한 명확한 답변 준비.
- 타입스크립트와 객체지향 개념은 최근 면접에서 자주 등장하므로 기본 개념 숙지 필수.
- ORM 설정 시 비동기 초기화를 요구하는 환경에서는 forRootAsync 사용 권장.
- 복잡한 코드와 설계 문제를 진단하고 개선방향을 논의할 수 있는 능력도 평가 대상.
링크🔗
- 우아한형제들 NestJS Config 라이브러리: https://github.com/woowabros/nestjs-library-config
- 카드 BIN 코드 API: https://bin-ko.deno.dev/
- Base Entity 노션 링크: https://sturdy-mink-c2f.notion.site/Base-Entity-18a020f4210280478408cf40759bc576
- 객체지향 관련 유튜브 강의 예시: http://youtube.com/watch?v=dJ5C4qRqAgA&pp=ygUW7Jqw7JWE7ZWcIOqwneyytOyngO2WpQ%3D%3D
- 참고 기사(중국 AI 관련): https://www.aitimes.com/news/articleView.html?idxno=167666
#개발자대화#이력서작성#설계문제#원격근무#타입스크립트#객체지향프로그래밍#AI보안#소프트웨어개발#기술면접#레거시코드