반응형
 

개발자 에세이 2. 내가 원했던 연봉 3천의 삶(컴공 졸업을 앞두고)

https://brocess.tistory.com/328 개발자 에세이 1. 인생은 내 멋대로 되지 않는다. (컴공 졸업을 앞두고) 인생은 내 멋대로 되지 않는다. 내가 개발자로 처음 일을 시작한 것은 2014년 7월 여름이다. 컴퓨터

brocess.tistory.com


대학교 4학년, 산타는 존재했다.


4학년 1학기가 끝나가던 2013년 12월,

(대학교 3학년 때 필리핀으로 교환학생을 다녀오는 바람에 한 학기 휴학을 하여 한 학기씩 밀리게 되었다)
나는 취업을 위해 열심히 원서를 제출하고 있었다.
눈앞에 기말고사가 놓여있었지만 개의치 않았다.
인턴 경험 한 번 없이 취업은 쉽지 않을 것만 같아 지푸라기라도 잡는 심정으로
취업 관련 카페(독취사, 스펙업 등), 취업사이트(사람인, 잡코리아 등)을 밥먹듯이 드나들었다.

‘하늘은 스스로 돕는자를 돕는다’ 고 하였던가 나는 생각지도 못하게
NHN (그당시 네이버, 한게임의 전신)으로부터의 서류합격 통보를 받게 되었다.
사실 큰 기대 없이 제출했지만 진짜 합격 할 줄은 몰랐다.

왜냐면 나는 개발도 잘하지 못했을 뿐더러 학점도 높지 않았다.
내가 NHN을???
일단 서류 합격을 했지만 필기시험을 합격하여야만 기술면접의 기회를 얻을 수 있었다.
교환학생을 다녀오며 전공과목 학점이 많이 부족했던 나는
2013년 한 해 동안 전공과목만 대충 어림잡아 10개 정도 수강하고 있었고

그 해 가을 졸업 여건이였던 정보처리기사까지 딴지 얼마 안된 상태였기에 필기시험은 
충분히 해 볼 만할 것 다는 생각이 들었다.

기말고사 기간이였지만 나는 필기시험 준비에 더 초점을 맞췄다.

드디어 다가온 필기시험 날,

필기시험장에 앉아 주위를 둘러보았다.
주위는 온통 코딩 천재들 처럼 보이는 사람들이 즐비해 있었다.
(컴공을 전공했거나 개발자로 일하고 있는 분들이라면 어떤 느낌인지 알거다)

필기시험은 알고리즘(손코딩), DB, 네트워크, 자료구조 등 컴퓨터공학 전반적인 내용에 대한 출제가 이루어졌었다.

위의 전공과목들을 그 해 다 수강 했었던 탓인지 생각보다 술술 풀렸고 시험을 보고 나오면서 합격할 것 만 같은 느낌이 들었다.

그 느낌은 생각보다 정확했다.

일주일 정도 뒤 나는 기술면접 전형을 치루게 되었고
기말고사는 뒷 전으로 한 채 기술면접 준비에 집중했다.

면접은 3:3으로 진행되었고 주로 학교에서 배웠던 과목들의 중심 내용들과 이력서를 기반으로 하는 기술면접이었다.

면접 과정 중 면접자 들끼리 특정 주제로 토론을 하게끔 주제를 던져주고 토론하는 모습도 보셨다.
지금 생각해 보면 ‘아마 예상치 못한 상황에서 얼마나 논리적으로 대응할 수 있는지를 보려고 했던게 아닌가’라는 생각이든다.
(면접 준비과정 부터 인생 첫 면접에 대한 이야기를 하자면 말이 너무 길어질 것 같아 이부분은 나중에 기회가 되면 자세히 써보도록 하겠다.)

면접의 결과는 사실 필기시험만큼 자신 있진 않았지만 그래도 내가 할 수 있는 최선을 다했다는 생각에 후련했다.
‘지인사대천명(내가 할 수 있는 일을 다 한 후 하늘에 결과를 맡기고 기다린다)’이라고

나는 이제 운명을 하늘에 맡기고 내 일상 생활로 돌아왔다.

어느 덧 기말고사도 다 끝나고 곧 다가올 크리스마스와 방학으로 인해

저녁이면 주변 술집들은 인산인해를 이루며 연말 느낌을 물씬 풍기고 있었다.

그렇게 크리스마스가 하루 전으로 다가왔고

나는 어느 때와 같이 기숙사에서 나와 점심을 먹으로 식당을 향하고 있었다.
그 때 울렸던 메일 알림이 아직 생생하다.

본능적으로 그 메일이 면접의 결과라는 것을 알았고 이 메일로 인해 나의 겨울방학은
NHN에서의 인턴 or 계절학기로 부족한 학점 메꾸기의 기로에 서게 되었다.

역시나 메일은 NHN로 부터 온 메일이였고 결과는 ’합격’ 이었다.

산타는 존재했다. 

반응형
반응형

https://brocess.tistory.com/328

 

개발자 에세이 1. 인생은 내 멋대로 되지 않는다. (컴공 졸업을 앞두고)

인생은 내 멋대로 되지 않는다. 내가 개발자로 처음 일을 시작한 것은 2014년 7월 여름이다. 컴퓨터공학을 전공했지만 개발하는 것, 프로그래밍 하는 것을 그리 좋아하진 않았다. 이유는 단순했다

brocess.tistory.com


내가 원했던 연봉 3천의 삶

사실 우리집은 그렇게 부유하지 못했다.

그렇다고 해서 가난했던 것도 아니었다.
하지만 부모님은 언제까지나 내가 하고자 하는 것을 지원해주실 정도로 여유가 있진 못했다.
그래서 나는 하루라도 빨리 부모님으로부터 경제적인 독립을 하고 싶었다.

그게 내가 할 수 있는 최고의 효도라고 생각했다.
기술영업으로의 취업이 힘들다는 현실을 깨닫고 나는 컴공 지식을 살려 어디라도
‘일단 취업을 해서 경력을 쌓아야 겠다’는 생각이 들었다.

그렇다고 아무기업에나 취업하고 싶지 않았다.

나의 기준은 연봉 3천을 주는 어느 정도 이름은 들어봤을 만한 기업이 되었다.
그래도 나름 가오는 있어서 아무도 알아주지 않는 곳에는 취업하고 싶지 않았던 것 같다.

지금은 인재 영업으로 신입개발자들에게 6천 이상을 주는 곳도 적잖게 볼 수 있지만

내가 취업을 준비하던 당시 2014년만해도 연봉 3천도 작은 금액은 아니었다.

연봉 3천 정도 받으면 그래도 나름 괜찮게 살아 볼 수 있을 거라고 생각했고.
그렇게 나의 목표는 연봉 3천을 주는 회사에 취업하는 것이 되었다.

반응형
반응형



⭐️별점 [ 6 / 10 ]


✏️감상평
데이터를 기반으로 의사결정을 해야하는 분들과 A/B테스트 플랫폼을 개발하거나 사용하고 있는 분들이 읽어보면 너무 좋을 책이다. 그 외에도 데이터를 기반으로 앱이나 웹사이트를 개선하고 싶은 분들이 있다면 강추! 하지만 A/B테스트에 대한 지식이 없는 분들이 읽기에는 후반부 내용이 다소 어려울 수 있을 것 같다.

🥇내맘대로 TOP 10
+ 흥미로워 보이거나 다르게 보이는 어떤 수치는 대체로 틀린다.
+ 숫자를 얻는 것은 쉽지만, 믿을 수 있는 숫자를 얻는 것은 어렵다!

+ 하나의 정확한 측정이 수천개의 전문가 의견보다 가치 있다.
+ 새로운 기능을 만드는 팀은 데이터 과학자의 도움 없이 대부분의 실험, 특히 간단한 실험을 부넉하는 데 능숙해야 한다.

+ 리더는 조직의 데이터 중심 결정을 내릴 수 있도록 적절한 인센티브, 프로세스 및 권한을 제공해야 한다.
+ 서버 성능을 10밀리초까지 향상시키는 엔지니어는 본인의 연간 총 비용보다 더 많은 이익을 가져온다.

+ 측정할 수 없으면 개선할 수 없다.
+ 인간은 상당히 독창적일 수 있고, 특히 수치적 지표가 보상과 결부될 때, 더욱 그러하다.

+ 특이값은 평균과 분산 모두에 큰 영향을 미친다.
+ 분산을 추정할 때 특이 값을 제거하는 것이 중요하다.

반응형
반응형

개발자라고 꼭 모두 개발만을 잘하기 위해 아둥바둥 하지 않았으면 하는 마음에 생각을 글로 정리해보았다.
앞으로 개발자로 현업에서 근무하며 들었던 생각들을 자유롭게 남겨보고 싶다.


[ 개발자의 색깔은 다양하다. ]

지금 당장 개발을 잘 못한다고 해서 포기할 필요도 이유도 전혀 없다.
지금 그 이유에 대해 9년차 개발자의 경험을 토대로 이야기 해보겠다.

개발자라고 해서 모두 뛰어난 개발 실력을 가지고 있는 것은 아니다.
개발자들도 각자만의 고유한 색을 지니고 있다.
9년차 개발자로 일하면서 정말 다양한 개발자들을 만났다.

아래의 사례를 보자. 
어떤이는 머리가 좋아 복잡한 알고리즘을  쉽게 고안해낸다거나 새로운 기술을 금방 익혀 실무에 적용한다. 하지만  실수가 잦아 라이브 서비스에 큰 문제를 자주 일으킨다.
반면에 한 개발자는 머리가 좋진 않지만 신중한 성격탓에 데이터 정합성이 필요한 업무에 적합하고 그러한 성향탓에 안정적으로 서비스를 운영한다.
또 다른이는 개발 실력보다 커뮤니케이션 능력이 뛰어나 어려운 문제에서도 타부서와의 절충안을 쉽게 찾아내거나 상대방이 원하는 것에 대한 명백한 해답을 주어 업무를 간결하게 만든다.

이 외에도 새로운 기술들을 이것 저것 도입해 보길 좋아하는 얼리어답터 성향의 개발자,
안전 제일을 외치며 새로운 기술 도입에 대해 반감을 내보이는 개발자 등
베스킨 라벤스의 맛 개수 만큼이나 아니 그 이상으로 개발자들은 다양한 색을 가지고 있다.

개발자라고 꼭 개발만 엄청 잘해야 한다고 생각하지 않는다.

가수라고 해서 아이유, 박효신 만큼 다 노래를 잘 부르진 않진 않은가?
꼭 노래를 잘하지 않더라도 춤을 잘춰서 유명한 가수,
광희처럼 본업인 노래는 못하지만 예능감이 넘쳐 인기를 한 몸에 받는 가수,
연기를 너무 잘해 연기자 혹은 뮤지컬 가수로 데뷔하는 등 가수라는 타이틀을 가지고
다양한 영역에서 멋지게 활동하고 있다.


개발자도 마찬가지다.
처음 시작은 개발자였지만 커뮤니케이션이라는 장점을 살려 팀의 리더 역할을 맡는다거나
글을 잘써 테크니컬 라이터로, 개발지식을 밑바탕으로 기획자로 전향하기도 하며,
데이터에 흥미를 느껴 DBA나 데이터 엔지니어로 직무를 변경하기도 한다.

꼭 지금 당장 개발을 잘 못한다고 해서 괴로워 할 필요도 자괴감을 느낄 필요도 없다.
하지만 중요한 것은 일단 개발자로 시작했다면 기본적인 실력은 갖추어야 한다.
나만의 색깔은 그 이후에 더 선명해 질 수 있다.

정원은 꽃과 나무 초록초록한 풀잎들이 조화를 이루어야 더 아름답다.
각각은 그 나름대로도 의미가 있지만 함께 조화를 이룰 때 더 아름다운 정원이 된다.


인스타그램 @happydeveloper, @beom_cess

반응형
반응형

인생은 내 멋대로 되지 않는다.

내가 개발자로 처음 일을 시작한 것은 2014년 7월 여름이다.

컴퓨터공학을 전공했지만 개발하는 것, 프로그래밍 하는 것을 그리 좋아하진 않았다.

이유는 단순했다.

잘 못했기 때문이다.

인간은 참 이기적이다.

내가 잘하는 것은 못하는 것보다 항상 더 재밌다.

그래서 나는 내가 개발자로 취업을 하게 될 줄은 꿈에도 몰랐다.


하지만 현실에서의 상황은 달랐다.
내가 원했던 직무는 기술영업이였다.

대학생때 막연히 나는 정장을 입고 일하는 모습을 종종 상상하곤 했다.
손목에는 시계를 차고 한 손에는 가방을 들고 사무실에 출근하고 클라이언트들을
만나는 모습을 상상해왔다.

나는 취업하면 당연히 그런 모습의 삶을 살아갈 줄,
아니 무의식적으로 그리고 있었다.

하지만 4년 동안 전공했던, 내 등록금을 받친 지식들을 먹다 남은 과자를 쓰레기 통에 버리듯 내팽겨치고 싶지 않았다.

프로그래밍을 좋아하진 않았지만 컴퓨터 지식에 대한 이론을 쌓는 것은 비교적 나름 재미 있었다.


사실 지금 생각해보면 그 당시 실무 경험이 없는 상태에서의

이론은 사실상 크게 쓸모가 없는 지식이긴 했다.

그렇게 4년 동안 공부해왔던 지식과 힘들게 학교다니는 동안 지원을 해주셨던 부모님을 생각해서라도 전공만큼은 놓치 않고 싶었기에 내 목표는 자연스레 기술영업이 되었던 것 같다.

하지만 위에서 말했던 것 처럼 현실은 내 마음대로 흘러가지 않는다.

실무경험이 없는 기술영업 신입을 뽑는 회사는 거의 없었을 뿐더러
엄청난 스펙을 (토익 스피킹 LV7 이상, 토익 점수 900 이상 등) 기준으로 하는 공고가 대부분이였고 수요자체도 많지 않았다.

그런 현실에서 나의 목표는 연봉 3천 이상의 IT 회사에 취업하는 것으로 변질되었다.

그렇게 졸업을 앞둔 4학년 컴퓨터공학부의 나는 현실과 타협하는 법에 대해 배우고 있었다.


인스타그램 @happydeveloper, @beom_cess

반응형
반응형

간만에 aop사용하다가 별것도 아닌데 삽질을 좀 했다

-> AOP 적용중 다음과 같은 에러 발생

Caused by: java.lang.IllegalArgumentException: Pointcut is not well-formed: expecting ')' at character position 0
@annotation(im.toss.server.tuba.messenger.system.ElasticSearchDocumentSync
^

-> 에러 발생 Poinctcut 코드

 

-> 문제 해결 > annotation 괄호가 제대로 안닫혀있었음...😅

반응형
반응형

 

pip3 로 pymysql 깔고 스크립트 실행했는데도 다음과 같은 에러가 날경우 ModuleNotFoundError: No module named 'pymysql'

$ pip3 install pymysql
WARNING: pip is being invoked by an old script wrapper. This will fail in a future version of pip.
Please see https://github.com/pypa/pip/issues/5599 for advice on fixing the underlying issue.
To avoid this problem you can invoke Python with '-m pip' instead of running pip directly.
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: PyMySQL in /Library/Python/3.8/site-packages (1.0.2)

내용보면 '-m pip'와 함께 실행해줄 것을 권고하고 있다.

> sudo python3 -m pip install pymysql
https://stackoverflow.com/questions/62968439/modulenotfounderror-no-module-named-pymysql-in-jupyter

로 다시 설치해주도록 하자~

반응형
반응형

pip3 install pymysql 시 'ModuleNotFoundError: No module named 'pip._vendor.packaging' 에러

Traceback (most recent call last):
  File "/usr/local/bin/pip3", line 5, in <module>
    from pip._internal.cli.main import main
  File "/usr/local/lib/python3.9/site-packages/pip/_internal/cli/main.py", line 9, in <module>
    from pip._internal.cli.autocompletion import autocomplete
  File "/usr/local/lib/python3.9/site-packages/pip/_internal/cli/autocompletion.py", line 10, in <module>
    from pip._internal.cli.main_parser import create_main_parser
  File "/usr/local/lib/python3.9/site-packages/pip/_internal/cli/main_parser.py", line 8, in <module>
    from pip._internal.cli import cmdoptions
  File "/usr/local/lib/python3.9/site-packages/pip/_internal/cli/cmdoptions.py", line 21, in <module>
    from pip._vendor.packaging.utils import canonicalize_name
 ModuleNotFoundError: No module named 'pip._vendor.packaging'

 

해결방법
> curl -sS https://bootstrap.pypa.io/get-pip.py | sudo python3
> type pip3
> hash -r
> sudo pip3 install pymysql

반응형
반응형

springboot버전에 맞지 않는 spring cloud dependency를 추가하게 되면 다음과 같은 에러메세지를 만난다.

org.springframework.beans.factory.BeanCreationException: Error creating bean with name
	'configurationPropertiesBeans' defined in class path resource 
    [org/springframework/cloud/autoconfigure/ConfigurationPropertiesRebinderAutoConfiguration.class]:
    Bean instantiation via factory method failed; nested exception is org.springframework.beans
	.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.conte
    xt.properties.ConfigurationPropertiesBeans]: Factory method 'configurationPropertiesBeans' threw exception; nested exception is java.lang.NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata
	at org.springframework.beans.factory.support.ConstructorResolver.instantiate(Constr
    uctorResolver.java:658) ~[spring-beans-5.3.12.jar:5.3.12]

.
.
Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate 
	[org.springframework.cloud.context.properties.ConfigurationPropertiesBeans]: 
    Factory method 'configurationPropertiesBeans' threw exception; 
    nested exception is java.lang.NoClassDefFoundError
Caused by: java.lang.NoClassDefFoundError: org/springframework/boot/context/properties/ConfigurationBeanFactoryMetadata

 

따라서 아래의 표와같이 springboot version에 맞는 springcloud version을 맞춰주도록 하자~!

Release TrainBoot Version

2020.0.x aka Ilford 2.4.x, 2.5.x (Starting with 2020.0.3)
Hoxton 2.2.x, 2.3.x (Starting with SR5)
Greenwich 2.1.x
Finchley 2.0.x
Edgware 1.5.x
Dalston 1.5.x

 

반응형

+ Recent posts