코로나에 걸려서 직접 가지는 못하고 슬프게도 온라인으로 들었습니다.
2023.04.30 JUMPIT에서 개최한 FE 개취콘 중 1부 내용을 제가 이해한대로 정리한 것입니다(개인적인 내 생각도 많이 들어가있음) (2부 내용은 조만간 또 정리 예정...아마 하겠죠?)
자세한 건 직접 영상을 보는 것을 추천드려요
FE 내용이어도 BE분들 읽어도 충분히 좋은 내용이에요
능력 = SOFT 스킬 + HARD 스킬
소프트 스킬 : 효과적인 커뮤니케이션, 신뢰할 수 있는 태도, 관용과 같이 시간이 흐르면서 개발되는, 대인관계에 관련된 특성
→ 대인관계 능력
하드 스킬 : 특정 훈련을 통해 개발할 수 있는 스킬
→ 개발 실력
몇몇 사람들은 “하드 스킬만” 있으면 되는 거 아니야? 라는 생각을 하곤 합니다. 여러분이 크리스마스에 파이썬을 개발한 귀도 반 로섬처럼 할 수 있다면 하드 스킬만 있어도 충분히 좋은 개발자가 될 수 있습니다.
하지만, 그렇게 못하죠? 그니까 저희는 “소프트 스킬”을 가지고 있어야합니다.
모든 사람들이 개발을 할 때 좋은 코드를 작성하려고 합니다.
왜 좋은 코드를 작성해야할까요? → 보통 소프트웨어 개발은 한번하면 끝나는 것이 아니라 여러번 유지보수를 하기 때문에 좋은 코드를 작성해야합니다.
그럼 좋은 코드란 무엇일까요?
🔥 테스트가 용의할 것
코드 작성할 때 중요한 것 중에 하나는 테스트 코드를 작성하는 것입니다.
예를 들면 한 함수에 5~6가지 기능이 있으면 에러가 났을때 어디가 문제인지 확인하기 어렵습니다. 최대한 한 함수에 기능을 최소한으로 줄여 바로 에러를 해결할 수 있도록 하는 것이 좋은 코드입니다.
🔥 읽기가 쉬울 것
const getData = () ⇒ {}어떤 함수 이름만 보고 무슨 내용인지 잘 알아보시겠나요? 뭔가 데이터를 가져오는 것은 알겠지만, 어떤 것을 가지고 오는지는 잘 모르겠죠?const getUserData = () => {}이러면 user의 정보를 가져오는지 조금 더 잘 알 수 있습니다.
변수 명, 함수 명이 길어지더라도 잘 알아볼 수 있도록 작성 하는 것이 중요합니다. 저희는 협업을 많이 하기 때문에, 누군가가 이 코드를 보더라도 한번에 쉽게 이해할 수 있어야합니다.
→ 만약에 팀원들이 다 동의를 했으면 한글로 이름을 짓는 것도 한가지 방법입니다.
🔥 일관성
카멜, 스네이크, 케밥, 파스칼 케이스 들어보셨나요? 변수 명명 규칙들입니다. 보통 한가지 정도를 골라서 코드의 일관성을 유지합니다. 표기법이 섞여 있는 경우 코드를 이해하기가 조금 더 복잡해져서 좋은 코드를 유지하기가 힙듭니다.
보통 이것을 만족하면 좋은 코드라고 합니다.
커밋은 한번에 한가지 문제만 해결하도록 커밋하는 것이 좋습니다. 저희가 커밋을 하는 이유는 기록을 남기기 위해서 즉, 문제가 발생 했을때 그 문제를 쉽게 추적할 수 있도록 하는 것이 목적입니다.
한 프로젝트에서 갑자기 새로운 기술, 방법론을 여러개 사용해보려고 하면 문제가 많이 생깁니다.
고생 = (학습 + 프로젝트) * 2
보통 이런 경우 너무 힘들어서 프로젝트가 터지는 경우가 많기 때문에 조심 하는 것이 좋습니다.
차라리, 하나만 사용해서 프젝을 완성한 다음 다른 기술을 이용하여 다시 만들어 보는 것을 추천합니다
기술은 자주 바뀝니다. 지금은 이렇게 하는데 다음 업데이트 버전에서는 저렇게 사용해야하는 경우가 많습니다. 개발자로 살아남아있고 싶으면 새로운 것을 계속 공부해야합니다. 평생 해야할 공부 지금부터 학습 루틴을 잡는 것을 추천합니다. 아무리 바빠도 하루에 1시간 이상은 개인 공부를 해야한다고 생각합니다.
공부하기 가장 좋은 방법은 직접 설명해 보는 것입니다. 다른 사람에게 알려주거나 러버덕에게 알려주면서 공부하면 이해가 가장 잘 된다고 합니다.
똑같은 하나를 개발을 하더라도 많은 기술들이 있습니다. 어떤 기술들이 좋고 나쁘다라는 것 없이, 내 상황에 맞는 프로젝트에 맞는 기술을 선택하여 개발해야합니다.
다른 분야의 지식을 익히는 것은 아주 좋은 것입니다. 하지만 완전히 full stack을 한다? 이것은 저기 엄청 똑똑한 사람말고는 못합니다. 깊게 들어가면 들어갈 수록 하나를 잘하기도 점점 어려워집니다. 하나의 전문 분야를 가지고 공부하는 것이 좋습니다.
(부제 : FE 개발자가 타 직군과 대화를 잘해야 하는 이유)
🔥 기획자, 디자이너, 개발자를 이어주는 번역기가 되자

맥락과 의도를 잘 넣어서 말을 해야한다
맥락은 “이 사람이 무엇을 모르는가?”에 대한 내용입니다
맥락이 없으면, 자꾸 되묻게 됩니다.

맥락을 설명하는 것이 중요하다는 것이 보이나요? 하는 말에서 이 사람이 모르는 것을 자세히 알려주어야 합니다.
의도는 “이 사람이 무엇을 알고싶은가?”에 대한 내용입니다.
의도가 없으면, 대화가 산으로 간다.

대화에서 의도가 들어가 있는 경우
그래서 결과적으로 내가 원하는 것이 무엇인가? 라는 것이 중요합니다.
맥락과 의도 모두 가지고 있음 ⇒ 불필요한 커뮤니케이션가 없어도 됨
맥락과 의도를 잘 챙기려면,
목적지향적 태도
우리는 누구나 대화를 할때, 감정이 섞이게 됩니다. 감정에 사로잡히면 대화의 본질을 잃어버립니다. 목적지향적인 태도를 가지고 대화에서 이루고자 하는 목적에 지향하는 것이 중요하다.
광범위한 이해도를 갖기
내가 잘 이해해야 설명이 가능합니다. BE, 기획, 디자인에 대한 내용을 알고 있어야 그 분야에 대해 설명할 수 있습니다.
🔥 맥락과 의도를 명확히해서 서로 배경지식이 다른 기획자, 디자이너, 개발자의 소통을 도와주자!
아쉽게도 코로나에 걸려서 직접 참여는 못 했지만, 집에서 온라인으로 필기하면서 열심히 들었던 개취콘이었습니다.
항상 학교에서 프로젝트를 하다 보면 팀원들과 소통이 잘 안되는 문제점들이 너무 많아서 힘이 들었던 기억들이 있었습니다. 분명 A를 만들자고 했는데, B를 만들고 있는 경우부터 시작해서 나는 C라는 의도로 말했는데 D로 알아듣고...ㅎㅎ 이번 개취콘을 들으면서 나도 소통의 중요성을 다시 한번 느끼는 계기가 되었습니다. 또한 지금 이 내용을 학교 전공 동아리 친구들과 공유하여 프로젝트를 진행하는 도중 문제가 생기지 않도록 조심해서 작업을 할 것입니다.
소통의 중요성 말고도 한 번에 한 가지 기술만 도입하라고 한 이야기도 기억 속에 잘 남았습니다. 항상 새로운 것들을 시도해보고 싶기에 2~3가지의 새로운 것들을 프로젝트마다 도입하려고 시도하는데, 항상 프젝이 터지거나 작은 토이 프젝임에도 불구하고 시간이 너무 오래 걸리는 문제들이 많았다. 다음부터는 유의하면서 프로젝트를 진행할 것이다.
고등학생 프론트엔드 개발자 지망생인 저에게는 매우 좋은 기회가 되었던 개취콘이었습니다. 다음에는 아프지말고 꼭 오프라인으로 참여할 것입니다..!🙃