일상/2023

회고) 2023년(계묘년(癸卯年))

onfact 2023. 11. 30. 22:50

일상글은 공유 목적이 아니기에 구어체로 작성합니다.

너무 늦었지만, 2023년을 회고하며 발생했던 주요 사건들과
개인적으로 학습했던, 부족했던 내용들을 두서없이 정리하고자 한다.

■ 서론

2023년 회사에서 업무의 변화가 발생했다.
기존에 운영하던 루틴한 업무에서 벗어나서 새로운 업무를 맡게 되었다.
(참고로 나는 IT업무를 담당하는 평범한 직원1이다.)

배경을 잠깐 설명하자면, 회사는 요 몇년간 격동의 시기를 겪으며,
신규 고도화 프로젝트를 진행할지 말지에 대한 기로에서 갈팡질팡 하는 모습이었다.
이때까지만해도 나는 제3의 방관자 입장에서
"뭔가 바뀌나?" 하는 그려러나 말거나 포지션에 위치하고 있었다.
이러던 내가 TF에 갑작스럽게 합류하게 되었다. 

기술 변화와 적응

기존에 운영하던 backend 프로그램은 아래 두가지 였다.
1. spring+structs 로 구성되었지만 패키지화 되어 xml 만 수정하면 적용되게 자동화된 프레임워크
2. 기본 spring+jsp 프레임워크 
이런 와중에 MSA를 만족시키는 구조와 프로그램들을 만들어야만 했다.
비지니스적 관점을 떠나서 이게 되는건가 라는 의문이 있었고,
이는 내가 그 기술을 이해할때까지 해소되지 않았다.
그 기술들을 대충 나열해본다면.
1. 분산 환경에서 트랜잭션을 처리하기 위한 기술
2. DDD
3. 이벤트 기반 아키텍처 
4. CQRS 
등이 있다.

물론 이러한 기술들은 내가 몸담고 있는 회사와 동일한 업계에서는 거의 사용하지 않는 기술이다.
이는 비지니스적 프로세스와 연관이 되어있으며, 나도 이를 부정할 생각은 없다. 
그러나 기술적인 관점에서 봤을때 매력적인 요소들임에는 틀림이 없으며, 지금은 AI에 많이 밀렸지만
과거부터 지금까지 계속해서 언급되는 기술들이다. 
회사에서 적용하고 말고를 떠나서 좋은 기회라고 생각했다. 

회사에서 기술 요소들을 학습을 위해 ( 약간의 근무시간 + 개인시간에. ) 유료 수강할 수 있는 교육 사이트와 
전공 서적 구매 비용을 지원해줬다. 
내가 가장 먼저 신청했던 수업은 아래 정도였다.

1. kafka 
2. event-driven architecture
3. spring-심화
4. devops 전문가

구매한 전공 책으로 보자면 이정도 되는데.. 지금 생각하니 왜 kafka 책을 3권이나 샀을까 싶다.
이미 저때와 지금의 카프카는 다르고( 그 핵심은 동일하다만.. ) 
다른 책을 사도 좋았을 터인데.. 아마 저때의 나는 기존에 몰랐던 기술에 대한 궁금증이 컸나보다.

1. kafka 전공 서적 3권
2. spring 관련 서적 1권
3. devops 관련 서적 1권

■ 결론

  • 2023년 요약
    - 신규 기술들을 학습했다. ( 강의 + 서적 )
    - 소프트웨어 아키텍트에 입문했다.
    - 블로그 운영을 다시 시작했다.
    - git 운영을 다시 시작했다.
    - gpt, copilot, gemini 등을 활용했다.
  • 반성할 점
    - 2023년 사이드 프로젝트를 완성했으나, 홍보가 안되어 운영에 실패했다. 
    - 욕심으로 사놓은 책들을 전부 소화하지 못했다.
  • 2024년 계획
    - 제대로된 사이드 프로젝트를 완성하고 운영해보자.
    - 블로그에 제대로 된 기술 글들을 쓰자.
    - AI 기술을 응용한 프로젝트를 진행해보자.
    - git 프로젝트들을 정리하자. 
  • 기타
    • 구매 도서 
      1. 실전 카프카 개발부터 운영까지 ( 달성률 : 70% )
      2. 카프카 핵심 가이드 ( 달성률 : 50% )
      3. 카프카, 데이터 플랫폼의 최강자 ( 달성률 : 10% )
      4. 자바 개발자를 위한 데브옵수 툴 ( 달성률 : 50% )
      5. 스프링 부트로 개발하는 MSA 컴포넌트 ( 달성률 : 60% )

 


In English

 

 
ChatGPT

Introduction

In 2023, there was a significant shift in my work responsibilities at the company. I transitioned from routine tasks to new duties. (For context, I am an ordinary employee working in IT.)

To provide some background, the company has been experiencing a period of turbulence over the past few years, wavering on whether to proceed with a new high-level project. During this time, I remained a bystander, wondering if there would be any changes. However, I was suddenly assigned to join the task force.

Technological Changes and Adaptation

Previously, we operated two backend programs:

  1. A framework automated to apply changes by modifying XML, consisting of spring+structs.
  2. A basic spring+jsp framework. Amidst this, we had to create structures and programs that meet MSA requirements. I questioned whether this was feasible from a business perspective until I fully understood the technology involved. The key technologies included:
  3. Technologies for handling transactions in a distributed environment.
  4. Domain-Driven Design (DDD).
  5. Event-driven architecture.
  6. Command Query Responsibility Segregation (CQRS).

These technologies are rarely used in our industry, and this ties into business processes, which I do not intend to dispute. However, from a technical perspective, these elements are undeniably attractive and have been continually mentioned from past to present, despite the current focus on AI. Regardless of the company's adoption, I saw this as a great opportunity.

To support our learning of these technical elements, the company provided funding for paid courses (partly during working hours and partly personal time) and for purchasing specialized books. The first courses I enrolled in were:

  1. Kafka
  2. Event-Driven Architecture
  3. Advanced Spring

The specialized books I purchased included:

  1. Three books on Kafka
  2. One book on Spring
  3. One book on DevOps

In hindsight, I wonder why I bought three books on Kafka. The Kafka of today is different from back then (though the core remains the same). I could have bought different books, but my curiosity about the unfamiliar technology was probably high at the time.

Conclusion

Summary of 2023

  • Learned new technologies (through courses and books).
  • Started my journey into software architecture.
  • Resumed blogging.
  • Restarted managing my Git repositories.

Reflections

  • Completed a side project in 2023 but failed to promote it effectively.
  • Did not fully utilize the books I ambitiously purchased.

Plans for 2024

  • Complete and operate a successful side project.
  • Write detailed technical articles for my blog.
  • Organize and manage my Git projects.

Additional Information

Purchased Books:

  1. "Practical Kafka Development and Operations" (Completion rate: 70%)
  2. "Kafka: The Definitive Guide" (Completion rate: 50%)
  3. "Kafka: The Definitive Guide to the Data Platform" (Completion rate: 10%)
  4. "DevOps Tools for Java Developers" (Completion rate: 50%)
  5. "Developing MSA Components with Spring Boot" (Completion rate: 60%)