소프트웨어 공학 관련 지식을 스스로 리마인드 하고자 기록하도록 한다.
: 각자 코드 작성하고 합치는 건 협업이 아님, integrating이 쉬운일이 아님. 협업은 모여서 specification을 충분히 분석하고, 디자인(class, function)까지 짜고 그다음에 각자 function을 구현해오는 것. 그리고 합치는 것
@ 혼자 빠르게 작업하는게 쉬울거 같지만 장기간 관점에서 s/w engineering을 하는 것이 더 costless
@ 코드짜는게 개발자가 아님, computer program/configuration files/system documentation/user documentation 이 모든걸 관려해야하는게 developer
@ s/w < scratch , open source등으로 create
@ 개발 과정에서의 requirement changing을 당연하게 받아들이기(다양한 이유로 requirement는 변함, 그에 따라 개발도 수정되어야함을 당연히 받아들이기. 처음 계획한 그대로 갈 순x)
특히 UI의 경우 정답X, 결정권자의 결정 전까지 시시각각 바뀜.
@ 본인이 짠 코드를 검증해야한다 코드의 정확성을 스스로 검증할 방법
@ 요즘 흔한 코더가 아닌 개발자이다.
다음의 내용등은 개발자로서 생각해볼 만한 자질 들
자기의 발전을 소중히 여길 것.
면밀한 상황 분석, 모든 것을 인지한 상태에서 최적의 솔루션을 제시하고 그 사고과정을 잘 커뮤니케이션 할 것
chatgpt를 어떻게 써야 잘쓴걸까?
(s/w의 지식과 경험이 충분한 사람의 질문은 일반 사람들과 다르다. & 결과(답변) 판단 능력이 중요하다.
애초에 ai는 학습(딥러닝)으로 생기므로 틀릴 수 있음.
시간과 노력 saving하려고 쓰는 것.
인터넷,모바일폰,다음으로 혁신적이지만 결국은 개발 생산성을 높여주는 tool이다. (잘써야해)
5명이 일할걸 2,3명이 할 수o(단순한 코드 도와줌)=> 점점더 코더가 필요 없다~ (양극화)
동일한 질문도 맥락,어순, 상황에 따라 다른 답변을 하는 Chatgpt
어떤 어순, 어휘, 맥락일 때 가장 정확한(신뢰성 높은) 답변을 줄 수 있을까? 고민해보기
거절은 예의바르고 신중하고 신속하게
인간관계 뿐 아니라 할 수 있는 것. 못하는 것에 대해 스스로 판단하는 능력을 기를 것. 내 선택이 틀렸다면 거절은 마지막으로 바로잡을 수 있는 기회이다. 중간에 못하는게 상당히 무책임하다 여겨져 아등바등 끌고가거나 끝까지 책임지려했다. 그러나 최근 아이러니하게 무책임을 통해 책임질 수 있음을 배웠다. 대인 관계에서도 마찮가지.