Skip to content

0012.1 2025 Portfolio 플랜

README#

이 페이지는 포트폴리오를 2025년 버전으로 리뉴얼 하기 위해 플래닝을 정리하기 위한 공간입니다. 2023년부터 2024년 그리고 지금까지 백엔드 웹 개발자로의 커리어를 요약하고 나의 강점과 전문성, 문서작성능력, 성과 수치화를 통해 매력적인 포트폴리오를 만들어봅시다.


Giftogether#

0012.3 Portfolio . Giftogether

아래는 아직 미완성된 프로젝트인 Giftogether를 포트폴리오로 뽑아내기 위해 어떤 성과를 가져왔는지 플랜을 짜기 위해 GPT를 사용한 결과입니다. 코드 커버리지 증가, 새 모듈에 Separation of Concern 원칙을 도입하여 파일당 LoC 감소, 이벤트 스토밍 세션을 통한 바운디드 컨텍스트와 애그리게이트 식별, eventual consistency를 달성하고 여러 애그리게이트에 걸친 God-object를 제거하였습니다. TypeORM을 사용하면서 만난 N+1쿼리 문제를 해결하여 특정 API에 대한 쿼리속도 향상 이것들을 전부 수치화하여 포트폴리오로 작성할 예정입니다.

플랜#

  • [x] Enhanced Code Reliability {Giftogether} 보고서 작성하여 코드 커버리지 상승
  • [ ] SoC 적용한 모듈과 그렇지 않은 것과의 파일당 LoC 비교, 코드 단순화
  • [ ] 이벤트 스토밍 진행한 결과를 위키에 작성 및 요약
  • [ ] (Improvements) N+1 쿼리 문제 해결 전 후 성능향상 결과 공유

Resume Entry Example#

Giftogether (In Progress) - Enhanced Code Reliability {Giftogether}: Increased test coverage from 0% to X% using Jest, ensuring robustness and early bug detection. - Improved Code Maintainability: Applied "Separation of Concern" principles, reducing the average Lines of Code (LoC) per file by X%, minimizing code conflicts, and simplifying debugging. - Promoted Collaborative Design: Organized and documented event storming sessions to define clear boundaries between aggregates and implement eventual consistency, eliminating reliance on a single "god-object." - Boosted Query Performance: Addressed N+1 query issues with TypeORM by optimizing data fetching strategies, resulting in a X% improvement in querying efficiency when handling related entities.

Plan Execution for Resume Updates#

  • Track Metrics: Keep records of test coverage percentages, LoC reductions, and performance improvements.
  • Document Processes: Write a concise technical document or blog about your event storming sessions and decisions—it’s great to reference in your resume or portfolio.
  • Highlight Outcomes: Whenever possible, tie your actions to team or project-level benefits, such as "improved collaboration" or "enhanced scalability."

Additional Suggestions#

  • Testing: If Jest increases the project's reliability or reduces bugs, emphasize this outcome (e.g., "Decreased bug recurrence by X% with comprehensive Jest testing").
  • Eventual Consistency: Highlight real-world challenges you addressed (e.g., "Ensured eventual consistency across distributed systems by designing clear aggregate boundaries").
  • Performance: If the query optimization reduces load time or improves user experience, mention it (e.g., "Reduced database query time by X ms, improving API response time").

RecRe#

0012.2 Portfolio . RecRe

이미 이력서에 있는 RecRe 내용을 정리하고 수치화하여 좀 더 설득력이 있는 프로세스로 만들어야 할 것입니다.

플랜#

  • [ ] 100명의 유저 동시접속을 보장함을 증명하는 문서
  • [ ] IMDB를 사용했을 때 쿼리 성능이 X% 향상되었음을 밝히는 문서
  • [ ] 소켓 유령을 제거한 결과 X% 만큼 메모리 사용량이 줄었음을 밝히는 문서

Plan to Improve "RecRe" for Consistency and Impact#

1. Add Measurable Outcomes#

Quantifying results is key to making achievements impactful. Here are some potential ways to measure and present improvements:

  • Real-Time Handling: Measure and report latency improvements (e.g., "Reduced average latency by X ms, enhancing user interaction").
  • Concurrent Users: Stress-test the system to validate performance under load (e.g., "Achieved stable performance with up to 100 concurrent players").
  • Database Optimization: Compare query performance before and after implementing IMDB (e.g., "Improved query execution speed by X%").

2. Enhance and Quantify Key Contributions#

  • Latency Management: Add metrics for RTT improvements or response times. Highlight the method used and its effect on user experience.
  • Socket Ghost Removal: Quantify the resource savings (e.g., "Freed up X% of server memory by systematically disconnecting idle sockets").
  • Robust User Identification: Report metrics like reconnection success rates or reduced downtime for users.
  • IMDB Optimization: Highlight reductions in query time or transaction conflicts (e.g., "Resolved X race conditions in game session queries, reducing game interruptions by X%").

3. Visualize Results Using Metrics or Testing Tools#

  • Use performance benchmarks: Display metrics with tools like WebSocket Bench, PostgreSQL EXPLAIN, or NestJS Performance Testing to verify and visualize improvements.
  • Graph results: Create charts showing reductions in latency, memory usage, or query execution time to visually support your resume claims.

4. Incorporate Testing & Scalability Enhancements#

  • Introduce automated tests (e.g., Jest, Mocha) and measure test coverage (e.g., "Achieved X% test coverage for WebSocket modules, ensuring stability").
  • Stress-test scalability (e.g., simulate 100+ users to prove resilience under heavy load).

5. Frame Accomplishments with Action Verbs & Clear Outcomes#

Reorganize your achievements into impactful bullet points like the ones below:


핵심 역량과 성장#

0012.4 핵심 역량, 강점과 성장