최성찬

최성찬님의 아티클

최성찬

최성찬

Pixel n Semicolon, in Retrospect.

나는 개발자이다.

url thumbnail

GitHub - 1st-PARD-APP-PART/pixel_n_semicolon: 2023 PARD 1st Semester Short Hackathon

2023 PARD 1st Semester Short Hackathon. Contribute to 1st-PARD-APP-PART/pixel_n_semicolon development by creating an account on GitHub.

https://github.com/1st-PARD-APP-PART/pixel_n_semicolon

대답은 코드로 대신한다.


첫 해커톤 참가의 감흥과 설렘이 가시지 않은 채로, 금요일 저녁 7시부터 토요일 아침 12시까지 단 18시간동안의 여정을 마친 지금 회고록을 적고 있습니다.


이번 해커톤 주제는

'변하지 않도록 도와주는 서비스/더 변화할 수 있도록 도와주는 서비스'였습니다.


팀 '픽셀과 세미콜론'은 개발자 4명, 기획자 1명, 그리고 디자이너 1명이 모여 이루어졌습니다. 팀명에서 볼 수 있듯이, 이 해커톤의 참가자들은 각자의 전문성을 가진 팀원들이 공통의 목표를 향해 협력하고 연결되는 과정을 상징합니다.


제가 개발자로 참가하여 만들게 된 서비스는 'ㅗ' Task Manager입니다.

이 서비스는 사용자들이 하루 일과를 수행하고 그 일과를 가장 잘 마친 사람이 다른 사람의 스마트폰을 잠글 수 있는 기능을 제공합니다. 이런 기능을 통해 사용자들이 일상 업무를 수행하면서 동시에 친밀감과 즐거움을 느낄 수 있게 도와주었습니다.


Keep(잘한 점)

해커톤이 시작되자마자 팀원들 모두 열정적으로 참여했고, 빠른 시간 내에 아이디어를 도출하고 실행에 옮겼던 점이 가장 뛰어났습니다. 이 과정에서는 팀원들이 소통과 협업에 큰 노력을 기울였고, 이를 통해 개발 과정이 원활하게 진행될 수 있었습니다.


Problem(아쉬운 점)

해커톤 도중에 발생한 가장 큰 문제점은 시간 관리였습니다. 초기에 계획했던 일정보다 실제 개발이 더 많은 시간을 차지해 일부 기능을 제외하거나 단순화하는 일이 있었습니다. 또한, 이러한 일정 문제로 인해 테스트 및 디버깅 시간이 부족했던 점도 아쉬웠습니다.


Try(앞으로 시도할 점)

이번 경험을 통해 더 나은 시간 관리와 효율적인 업무 분배의 중요성을 깨달았습니다. 다음 해커톤에서는 더욱 철저한 계획 수립과 실행에 집중할 것입니다. 또한, 조금 더 시간을 내어 팀원 간의 소통을 강화하고 서로의 역할과 책임에 대해 명확하게 이해하도록 노력할 것입니다.


이 18시간 동안의 해커톤은 짧지만 강렬한 여정이었습니다. 이를 통해 다양한 사람들과 협업하는 경험을 쌓을 수 있었고, 이는 앞으로의 개발자 생활에 큰 자산이 될 것이라고 믿습니다. 다음에 또 이런 기회가 생긴다면 새로운 도전을 해보고 싶습니다.

14
1
최성찬

최성찬

무엇을 추구해야할까

모든 개발자들은 "Hello World!"에서 시작했다.

개발자들은 프로그래밍 언어를 배울 때뿐만 아니라, 다양한 프로젝트를 시작할 때도 반드시 "Hello World"를 만나게 된다.


기본적으로, 프로그램의 첫 번째 출력이 "Hello World"인 것은 거의 상식이다. GUI 프로그램을 처음 만들 때, 3D 엔진을 처음 구축할 때 등, 어떤 개발 작업을 시작하더라도 "Hello World"를 출력하게 된다.


이는 개발자의 핵심 업무 중 하나인 프레임워크, 모듈, 패키지 설치 및 버전 호환성 확인을 위한 개발 환경 구축의 중요성 때문이다.


고수준의 개발을 진행할 때, 개발자들은 기본 통합 개발 환경 대신 이미 만들어진 도구를 활용하는 경우가 많다. 그러나 다양한 도구들과 버전 호환성이 중요하기 때문에, 반드시 개발 환경 구축 확인 과정이 선행되어야 한다.


심지어 Docker를 사용하더라도 컨테이너가 올바르게 개발 환경을 구성했는지 확인해야 한다. 그래서 "Hello World"를 출력해보는 것이 필요하다.


빅데이터 분야에서도 이와 비슷한 과정을 거친다. Hadoop MapReduce를 사용하든, 기계 학습 라이브러리인 TensorFlow를 처음 사용하든, 각각의 도구가 올바르게 동작하는지 확인하기 위해 텐서 형태의 "Hello World"를 출력해본다.


이제는 "Hello World"로 통해 우리 마인드셋 개발 환경이 올바른지 확인해보자.


개발자는 무엇을 추구하며 살아야할까?

  1. 꾸준한 학습: 기술은 빠르게 변화하므로, 항상 새로운 기술과 개발 방법론을 익히는 데 시간을 투자해야 한다. 또한, 평생 학습자로서 자세를 갖추는 것이 중요하다.
  2. 문제 해결 능력: 개발자로서 문제 해결 능력을 키우는 것이 중요하다. 새로운 문제에 대한 해결책을 찾거나, 기존의 문제를 개선하는 능력을 길러야 한다.
  3. 협업 및 의사소통: 현대의 개발 프로젝트는 팀 단위로 진행되는 경우가 많으므로, 효과적인 의사소통과 협업 능력을 키워야 한다. 팀원들과 잘 소통하고, 프로젝트 관리자와 고객과의 관계도 적극적으로 유지해야 한다.
  4. 코드 품질: 코드 품질에 주안점을 두어, 가독성이 좋고, 유지보수가 쉬운 코드를 작성하려고 노력해야 한다. 이를 위해 지속적으로 리팩토링, 테스트 주도 개발(TDD), 코드 리뷰 등의 기법을 적용해야 한다.
  5. 기술 경향을 주시하고 적응: 시장의 흐름과 최신 기술을 주시하며, 필요한 경우 새로운 기술을 습득하고 자신의 기술 스택에 적용해야 한다. 이를 통해 시장의 변화에 민첩하게 대응할 수 있다.
  6. 네트워킹: 다양한 개발자들과 네트워킹을 통해 서로 도움을 주고받으며 성장하자. 커뮤니티 참여, 행사 참석, 온라인 포럼 활동 등을 통해 지식을 공유하고 경험을 쌓을 수 있다.
  7. 전문 분야 확립: 특정 기술이나 도메인에 전문성을 갖추는 것이 유용하다. 이를 통해 높은 수준의 기술력과 경쟁력을 갖출 수 있으며, 시장에서 더 큰 기회를 잡을 수 있다.


다양한 가치를 추구하고 살아가야 한다.

꾸준히 성장하고, 도전하는 자세를 가지면 개발자로서 성공을 이룰 수 있다. 새로운 기술과 트렌드에 민감하게 반응하며, 전문성을 쌓아가는 것이 중요하며, 동료들과 함께 협력하고 배우는 것이 성공에 큰 도움이 된다.


당장 멀리 가지 않고 유튜브만 봐도 매일 새로운 기술들이 탄생하고 있고 이를 자신의 분야에 엮어 발전시키는 사람들이 수두룩하다. 단순히 가르치는 것을 배우고 수동적인 자세로는 마모되면 교체되는 톱니바퀴 밖에 될 수 없다.

15
7