Offcanvas
Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.
Offcanvas
1111Some text as placeholder. In real life you can have the elements you have chosen. Like, text, images, lists, etc.

프로그래머

‘개발자 성장’을 이끄는 IT 리더의 6가지 행동

모두가 그런 건 아니겠지만 개발자들은 까다롭고 급격한 변화를 꺼리기로 악명 높다. 완료할 때까지 또는 만족스러울 때까지 일을 계속하는 경향도 있다. 그렇다면 IT 리더가 해야 할 일은 무엇일까? 여기서는 무엇이 개발자에게 동기를 부여하고, 혼란을 주는지 그리고 어떻게 하면 팀에서 필요로 하는 리더가 될 수 있는지 살펴본다.       1.비즈니스 인식을 높여라 모든 리더의 중요한 업무 중 하나는 부하 직원에게 전략적 비전을 제공하는 것이다. 신중함과 집중력을 요구하는 일을 하는 개발자와 협력한다면 더욱더 그렇다. 개발자는 엄청난 양의 복잡성과 싸워야 하기 때문에 근시안적 태도를 보이곤 한다. 의욕적이고 적극적인 개발자라고 해도 그렇게 되기에 십상이다. 따라서 리더가 일상적인 코딩 작업과 더 큰 방향성을 모두 제공하는 게 특히 중요하다.  이런 과정은 섬세한 작업이 필요하다. 진행 보고서를 요구하거나 무작정 방향을 제시하거나 혹은 최악의 경우 경로를 변경하는 등의 방식은 일반적으로 환영받지 못한다. 전략적 대화에 개발자를 참여시키려면 ‘균형’을 맞추는 작업이 필요하다. 이때 ‘메타-인게이지먼트(meta-engagement)’가 중요하다. 개발자에게 이를테면 회의 횟수가 적절한지, 더 큰 목표에 어느 정도 참여하고 있는지 등을 묻는 것은 균형을 맞추는 좋은 방법이다. 이를 통해 개발자는 더 중요한 사안을 생각해볼 기회를 얻게 된다. 기술과 비즈니스 인식을 모두 갖춘 개발자를 양성하는 것은 리더뿐만 아니라 비즈니스 및 개발자에게도 매우 중요하다.    2.‘의미’를 전달하라 전략과 비즈니스 가치는 개발자와 소통하는 데 중요하지만 ‘목적’ 또는 ‘의미’라고 부를 ‘미션’은 더욱더 중요하다. 전략은 미션을 지원하기 위한 것이다. 미션은 기업의 존재 이유(raison d’etre)다. 기업에 강력한 미션이 있는가? 미션의 핵심이 전사적으로 잘 전파됐는가? 기업의 미션은 모든 직원의 업무에 스며들어야 한다...

프로그래머 개발자 IT 리더 2022.09.21

그렙 ‘프로그래머스 스쿨’, 온라인 기반 개발자 학습 커뮤니티 플랫폼으로 개편

그렙이 개발자 교육 서비스 ‘프로그래머스 스쿨’을 ‘온라인 개발자 학습 커뮤니티 플랫폼’으로 개편했다고 밝혔다.   개편된 ‘프로그래머스 스쿨’은 개발자의 전문적인 ‘실무형 교육’을 위해 학습자와 교·강사가 자유롭게 강의를 개설하고 소통할 수 있도록 했다. 강의 방식보다는 커뮤니티 기반 협업 학습으로 실무 역량을 극대화하는 온라인 코호트 교육 플랫폼으로 선보였다. 프로그래머스 스쿨은 예비 및 현직 개발자를 대상으로 소프트웨어 개발의 실질적 역량 강화를 위해 프로젝트 기반 강좌를 개설할 예정이다. 수준별 코딩 학습과 중장기 부트캠프를 비롯해 그룹 스터디와 멘토링 및 세미나 같은 다양한 방식의 협업 학습과 자신의 수준·목적에 맞는 온라인 코딩 학습이 가능하다. 해당 프로그램은 구매 후 프로그래머스 스쿨 학습 관리 시스템(LMS, Learning Management System)에서 참여할 수 있다. 또 프로그래머스 스쿨 강의는 멘토링과 피드백을 매개로 교육자·멘토와 학습자 간 참여와 소통을 통해 진행되는 라이브 클래스로 운영될 예정이다. 이는 학습자의 역량 강화뿐만 아니라, 꾸준한 학습 동기 부여도 가능해 일반적인 동영상 강의 완료율인 4%의 학습 성취도가 70%까지 향상할 것으로 예상된다. 특히, 개편된 프로그래머스 스쿨에서는 개발자 누구든 교육자가 될 수 있다. 이번에 추가된 ‘콘텐츠 라이브러리’는 그렙이 보유한 모든 동영상 강의 및 코딩 테스트 문제, 오픈 소스 등 다양한 콘텐츠를 수록한 자료실이다. 강의 콘텐츠가 없는 교육자도 언제든 강의 개설을 위해 콘텐츠 라이브러리를 활용할 수 있다. 앞으로는 유수의 글로벌 교육 콘텐츠도 도입, 다양한 주제로 강의 구성이 가능하도록 할 계획이다. 이 밖에도 교육자의 효율적인 강의 전달을 위해 ▲코딩 테스트 및 실습 ▲협력 프로그래밍 환경 ▲코드 리뷰 ▲코딩 관련 질의응답 기능 ▲온라인 시험 감독 기능 등도 제공한다. 프로그래머스 스쿨을 통해 선배 개발자는 개발 실무에 필요한 지식을 후배 및 예비 개발...

그렙 프로그래머 2022.09.14

개발자가 알아야 할 클라우드 비용 절감 팁 12가지

일부 개발자는 컴퓨팅 비용의 관리를 데브옵스팀의 책임이라고 생각한다. 소프트웨어를 코딩하고 배포하지만 비용은 걱정하지 않는 것이다. 잘못된 생각이다. 현명한 개발자는 자신의 코딩 결과물이 회사의 재무에 큰 차이를 만든다는 사실을 알고 있다. 용량이 큰 코드는 더 느리고 실행할 때 더 많은 클라우드 자원을 요구한다. 우수한 알고리즘을 선택하고 간결한 코드를 작성하는 일은 단순히 속도 이상의 의미를 가진다. 적절히 쓰여진 코드는 실행하는 데 비용이 덜 든다. 그러나 개발자가 비용을 계속 생각하기란 어렵다. 자신의 디바이스에서 코드를 작성하기는 쉽다. 디바이스를 구매할 때 RAM과 추가 디스크 공간도 같이 결제됐다. 디스크 공간이 2TB 정도라면, 코드가 얼마나 많은 공간을 소비하는 지 알아차리지 못할 수 있다. 새 알고리즘이 실행되는 데 2배 더 오랜 시간이 걸리더라도 자신의 디바이스에는 아무 영향도 없을 것이다. 몇 ms가 더 걸린다고 해도 누가 이를 감지할 수 있겠는가? 그러나 연산을 2배로 늘리면 클라우드 요금만큼은 확실히 더 늘어난다. 클라우드 개발자는 코드를 작성할 때 현명한 결정을 내릴 역량이 있음을 알고 있다. 프로파일러를 실행해 느린 부분을 식별하거나 불필요한 데이터 스토리지를 회피하며 메모리 풋프린트를 줄이는 것처럼 단순한 작업일 수도 있다. 코드를 간소화시켜 빠르면서도 비용을 줄이게 하는 12가지 방법을 소개한다.    더 빠른 코드의 작성  대다수 개발자는 코드를 최적화하는 데 그렇게 많은 시간을 쓰지 않는다. 자신의 노트북에서 순식간에 실행되기 때문이다. 시간이 지나면서 20%, 30%, 심지어 300% 더 느려지는 것을 실감하지 못한다. 프로그램은 여전히 빠르게 반응하는 것처럼 보인다.  그러나 서버 상에서 수백만 번 실행되면, 차이가 누적된다. 세심한 프로파일링은 느린 부분을 파악할 수 있다. 이들을 다시 작성하면 애플리케이션에 필요한 인스턴스의 수를 줄일 수 있다. RAM 풋프린...

클라우드 비용 코딩 프로그래머 2022.06.09

“실수로 빠지거나 기꺼이 몰입하거나” 소프트웨어 개발자의 비밀과 거짓말 - IDG Deep Dive

프로그래머의 자부심에는 근거가 있다. 데이터베이스에 접근해 현실을 변화시킬 힘을 가진 사람은 프로그래머밖에 없다. 세상을 운영하는 데 컴퓨터를 더 많이 사용할수록 프로그래머의 힘도 커진다. 그렇지만 교만은 패망의 지름길이다. 프로그래머는 분명히 힘을 갖고 있지만, ‘세상에 완벽한 코드는 없다’는 점을 고려하면, 어쩌면 공허한 힘일지도 모른다. 소프트웨어 개발자가 실수로, 혹은 기꺼이 빠져드는 환상과 착각, 실수와 함정에 대해 살펴보자. 주요 내용 - 프로그래머가 빠지는 흔한 착각 9가지 - ‘룰을 어기는 스릴’ 프로그래밍 일탈 10가지 - 코딩에서 흔히 빠지는 함정 12가지와 이를 피하는 방법 - ‘개발자라면 누구나’ 한 번쯤 심취하는 10가지 소프트웨어 종파 - 숙련된 개발자가 저지르는 초보적 실수 15가지

프로그래머 개발자 2020.04.29

프로그래머가 빠질 수 있는 흔한 착각 9가지

프로그래머의 자부심에는 근거가 있다. 데이터베이스에 접근해 현실을 변화시킬 힘을 갖고 있는 사람은 프로그래머밖에 없다. 세상이 작동하는 방식에 컴퓨터가 더 많이 개입될수록 프로그래머의 힘도 커진다. 그렇지만 교만은 패망의 지름길이다. 프로그래머는 분명히 힘을 갖고 있지만, 절대적인 힘과는 거리가 멀다. 또 공허한 때도 많다. 세상에 완벽한 코드가 없다는 점을 감안하면, 어쩌면 항상 공허할지 모른다. 또 컴퓨터가 실수를 저지르기 때문에 한계를 정해 놓아야 하는 때도 있다. 컴퓨터는 오류에 빠지기 쉽다. 우리는 이런 경험을 너무 많이 해서 아주 잘 알고 있다. 그렇지만 프로그래머들이 옳지 않은 가정을 설정함으로써 초래되는 문제들도 많다. 때론 맞지만, 항상 맞는 것은 아니기 때문에 이런 일이 일어난다. 이와 관련, 마크 트웨인은 “우리가 곤경에 빠지는 것 무언가를 몰라서가 아니다. 무언가를 확실히 알고 있다라는 착각과 오판, 그리고 자만 때문이다”라는 명언을 남겼다. 프로그래머들이 맞다고 종종 확신하지만, 사실은 빈번히 그렇지 않은 ‘착각’들을 이야기한다.   프로그래밍 언어는 특별하다 일과 후 술집에서 테이블을 내려친다. ‘긴 선언문’을 쓴다. 상사에게 이번에야말로 이 새로운 언어가 모든 것을 바꿀 것이며, 키보드가 저절로 엄청난 소프트웨어를 만들어내, 모든 프로젝트가 마감 기한 한 달 전에 끝날 것이라고 장담한다. 그러나 결국은 변수에 발목이 붙잡히고, ‘if(조건)’ 논리로 테스트를 하게 될 것이다. 프로그래머는 자신의 코드에서 구조(체계)를 들여다보고, 여기에서 비효율성을 모두 없애는 것을 꿈꾼다. 그래서 공중 누각인 ‘프레임워크’,’스캐폴딩’, ‘플랫폼’, ‘아키텍처’를 상상하고, 모든 것이 몇 줄의 멋진 명령으로 구현될 때까지 현재 당면한 문제만 해결할 정도로 힘을 쏟으면서 씨름을 한다. 그런데 유감스럽게도 다음 과업에는 적용되지 않는다. 결국에는 이 모든 것이 기만이고 언어적인 치장에 불과하다. 컴퓨터는 트랜지스터로 만들어진다....

프로그래머 코드 거짓말 2019.10.31

글로벌 칼럼 | 개발자들이 로우코드를 싫어하는 9가지 이유

경영진은 로우코드(low code) 툴이라는 개념을 좋아한다. 이들에게 코드가 적다는 것은 일이 적다는 의미이고, 일이 적다는 것은 더 신속한 프로젝트, 더 빠른 만족, 더 가벼운 예산, 궁극적으로는 더 두둑한 보너스를 의미하기 때문이다. 좋아하지 않을 사람이 누가 있겠는가? 하지만 개발자들은 싫어한다. 이들도 로우코드의 이론적인 장밋빛 약속은 좋아한다(일이 줄어드는 것을 원하지 않는 사람이 누가 있겠는가?). 그러나 더 쉬운 개발이라는 달콤한 이야기와 마감이 다가오는 상황에서 툴이 약속한 기능을 제대로 실행하지 않을 때 마주하는 현실 사이에는 큰 간격이 존재한다는 사실을 잘 안다.   물론 로우코드 솔루션에는 장점이 있다. 시간과 노력을 덜 들이면서 작동하는 무언가를 얻을 수 있는 로우코드의 기능은 프로그래머에게도 반갑다. 개발자는 로우코드 툴이 검색, 정렬을 비롯해 테이블 데이터를 다루는 메커니즘을 곧잘 생산할 수 있다는 사실을 알고, 적절한 경우에 기꺼이 로우코드 툴을 사용한다. 그러나 개발자는 코너에 몰려 모든 주변 조건과 씨름하고 툴이 알아서 처리하지 못하는 부분을 일일이 찾아 손봐야 하는 상황을 두려워하기도 한다. 결함에 대처해야 하고 문서화되지 않은 기능을 조작해야 하고 작업 방식이 다소 다른 요청을 만족시킬 방법을 알아내야 한다. 개발자는 홍보 문구의 귀가 솔깃한 약속과 로우코드 툴을 사용한 작업이 스택을 직접 쓰는 방식, 즉 하이 코드 방식보다 더 느리고 짜증스러운 경우가 많다는 현실 사이에 갇힌다. 프로그래머의 시간을 절약해준다고 호언장담하는 로우코드 툴에 정작 프로그래머들이 좌절하는 9가지 이유는 다음과 같다. 1. 유지보수가 어렵다 로우코드 솔루션을 다룰 때 가장 까다로운 부분은 일반적으로 몇 년 이후에 발생한다. 기존 시스템이 원활하게 잘 돌아간다 해도 사람들은 수정과 개선을 요청한다. 이렇게 요청되는 부가 기능의 상당수는 기존 로우코드 솔루션의 아키텍처 구조를 벗어나므로 손쉽게 추가할 방법이 없다. 소스코드가 있다...

프로그래머 개발자 로우코드 2019.09.18

좋은 코드를 작성하고 있다는 징후 11가지

어떤 개발언어를 사용하든 어떤 기술을 사용하든 자신이 만드는 코드를 이런 형용사로 설명할 수 있다면, 좋은 코드는 따라오기 마련이다. 빌 소러는 윤리적 관점에서 스스로 부끄러움을 느낀 코드에 대한 좋은 글을 미디엄(Medium)에 올린 적이 있다. 그러나 기술적인 측면에서도 소프트웨어를 부끄러워해야 이유는 많다. 부끄러워하지 않을 소프트웨어를 나타내는 11가지 단어를 살펴보자. 사용하는 언어 또는 기술 스택이 무엇이든 코드를 다음 단어로 설명할 수 있다면 좋은 코드일 가능성이 높다. 자신의 코드에 몇 개나 적용되는지 확인해 보라. 1. 디버그 가능(Debuggable) 대부분의 현대 런타임에서는 일종의 디버거를 연결할 수 있다. Node.js조차 비주얼 스튜디오로 디버그가 가능하다. 언젠가 무슨 일이 벌어지는지 알아내야 할 때 디버거를 연결해야 한다는 생각을 갖고 코드를 써야 한다. 그 의미를 정확히 설명하기는 어렵지만 이렇게 하면 때로는 데이터의 구조를 설계하는 데 영향을 미치기도 한다. 구조를 파나갈 필요가 없도록 더 많은 임시 변수를 사용할 수도 있다. 다행히 대부분은 결과적으로 좋은 습관이다. 가장 좋은 시작 방법은 문제가 없을 때 디버거 사용을 연습하는 것이다. 단계별로 진행하면서 할당을 살펴보고, 잘못된 값이 있을 경우 어떻게 할지 생각해 보라. 2. 로그 가능(Loggable) 런타임에 연결해서 코드를 단계별로 진행하기 위한 현대적 디버거가 있다 해도 세상은 그렇게 돌아가지 않는다. 즉, 코드가 실행되는 환경은 다양하다. 서버리스일 수도 있고 멀티스레드 환경이거나 분산 환경 또는 어딘가의 클라우드에서 실행되는 경우도 있을 것이다. 이러한 환경에서 코드는 개발자가 컴퓨터에서 실행할 때와 다르게 동작할지도 모른다. 따라서 로그가 필요하다. 그 말은 로깅 프레임워크가 필요하다는 의미다. 코드를 쓰고 로그를 읽을 수 있도록, 또는 최소한 일종의 로그 리더에서 소화가 가능하도록 로깅을 설정해야 한다. 소프트웨...

프로그래머 코드 로그 2018.04.16

”AI와 제조, 3D 프린팅의 만남” 미래의 코딩은 실물 제작 작업

블록체인과 비트코인이 세상에 미치는 영향은 3D 프린팅과 AI와 비교하면 보잘것 없을 것이다. 특히 개발자에게는 차이가 크다. 개발자들은 무수히 많은 ‘비트’를 인터넷을 통해 보내고 돈을 받지만, 궁극적으로 사람들은 이들 ‘비트’가 실제 사물로 이어지기를 바란다. AI와 제조가 3D 프린팅을 통해 결합되면서 앞으로 프로그래머는 실제로 사물이 만들어지는 방법과 과정을 책임지게 될 것이다. 사실 이런 일은 이미 일어나고 있다. 몇 가지 예를 들어보자. - 테스트 : GE는 3D 프린팅된 부품을 조립하기 전에 컴퓨터 비전을 사용해 결함을 탐지한다. - 모형 수정 : 대부분 모형은 CAD 소프트웨어나 절단 기계용 벡터 명령을 사용해 검사하거나 제작한다. 머신러닝을 사용하면, 좀 더 정확하고 효율적인 모형을 만들거나 재료를 출력하거나 절단하기 전에 정확한 명령을 내릴 수 있다. - 3D 추천 : 많은 사람이 CAD가 아니라 손으로 스케치를 하며, 세상에는 3D 모델보다는 2D 스케치가 훨씬 많다. 머신러닝을 이용하면 2D 스케치에서 3D 모형을 추론해 낼 수 있다. - 분말 재료의 사전 분류 : 대부분 3D 프린팅은 재료 분말을 녹이는 첨가 공정이다. 금속 부품에는 금속 가루가 사용된다. 세상에 완벽한 것은 없지만, 재료 분말은 정확한 품질이 필요하며, 특히 의료기기나 다른 중요한 디바이스를 만든다면 더욱 그렇다. 컴퓨터 비전은 재료 분말이 부품이 되기 전에 원료를 거르는 데 사용된다. - 음성 검색 : 많은 사람이 스케치하는 것보다 말하는 것을 더 잘한다. 음성과 검색의 결합은 사람들이 자신들이 3D 프린터에 원하는 것을 더 잘 묘사할 수 있도록 해준다. 그렇다면, 개발자는 이런 변화에 어떻게 대응해야 하는가? 3D 프린터를 마련해 어떻게 사용하는지를 알아가는 것이 좋은 출발점이다. 3D 스캐너 역시 도움이 되겠지만, 지금은 품질은 조금 떨어져도 같은 기능을 하는 앱들이 있다. 다음 단계는...

프로그래머 AI 코딩 2018.01.26

“지뢰를 찾아라” 피해야 할 개발자 일자리의 징후

새로 구한 프로그래밍 일자리는 성공으로 이어지는 길이 될 수도 있고, 막다른 길일 수도 있다. 열악한 코딩 착취의 현장에서 일하는 사람들도 일자리를 처음 수락했을 당시에는 그런 환경에서 일하게 되리라 생각하지 못했을 것이다. 새로운 기회를 찾아 떠날 준비가 되어 있는 75%의 개발자들은 새 직장을 구하기 전에 그 일자리가 자신에게 잘 맞는지 어떻게 알 수 있을까? 열악한 코딩 일자리를 피하려면 어떻게 해야 할까? 답을 찾기 위해서는 정규 근무 시간과 특근 시간을 포함한 직업 만족도, 급여와 복지, 그 결과물에 대한 만족도, 일과 삶의 균형 등 여러 가지 요소를 감안해야 한다. 그래서 리더십과 소프트웨어 엔지니어링 부문에서 각자 다양한 위치에 있는 기술 분야 전문가들에게 그 동안 힘들게 체득한 지혜와 의견을 구했다. 그렇게 해서 얻은 답은 이 시장에는 정말 피해야 할 함정이 존재하며, 구인 공고부터 면접, 임금 협상에 이르기까지 일자리를 구하는 과정에서 이 함정을 알아보기 위한 확실한 징후가 있다는 것이다. 이제부터 노동력을 갈취 당하고 다른 사람들이 발전하는 동안 제자리에 정체되는 일자리를 피하는 방법을 알아보자. 구인 공고에서 살펴야 할 부분 이런 시나리오를 생각해 보자. 새 직장이 필요해질 상황을 대비해 시장 상황도 파악하고 가장 수요가 높은 직책도 알아볼 겸 구인 알림에 등록했다. 이후 여러 가지 요구 사항과 우대 기술, 복지가 나열된 매력적인 구인 알림을 받았다. 하지만 궁금한 것은 그 문구의 행간이 나타내는 의미다. 구인 공고만 보고 작업 환경에 대한 감을 잡을 수 있을까? 루스 해딕 앤 어소시에이츠(Russ Hadick and Associates)의 채용 책임자인 밥 해딕은 직무 설명에 눈여겨볼 경고 신호가 있다고 말한다. 래딕은 “나열된 기술의 수에 주목하라”면서 “C/C++, 자바, C# 등 그 수가 많다면 업체에 각기 다른 언어로 된 여러 제품이 있다는 뜻이고, 이는 체계와 모듈성의 ...

구인 구직 프로그래머 2017.06.15

'두둑한 연봉을 위한' 2017년에 배울 만한 10가지 프로그래밍 언어

프로그래머는 시장 수요에 따라 새 언어, 툴 또는 라이브러리를 익히거나 기존 기술을 개선해 지속적으로 기술을 업그레이드해야 한다. 새로 배울 프로그래밍 언어를 선택할 때는 시장 수요 외에 프로젝트 사양, 팀의 요구, 향후 생존 가능성 등과 같은 여러 요소들을 고려해야 한다. 하지만 정작 많은 프로그래머가 원하는 것은 앞으로 자신에게 가장 많은 소득을 안길 프로그래밍 언어다. Credit: Getty Images Bank 올바른 결정 내리기 오로지 금전적 이익만을 기준으로 프로그래밍 언어를 선택하는 것은 바람직하지 않다. 특정 프로그래밍 언어로 작업하고 기술을 개선하기 위해서는 시간을 투자해야 한다는 것을 유념해야 한다. 현재 속한 분야도 프로그래밍 언어를 선택하기 위한 의사 결정에 영향을 미친다. 데이터 과학자라면 자바스크립트가 아니라 파이썬, C, C++와 같은 프로그래밍 언어를 주목해야 할 것이다. 어느 프로그래밍 언어에 뛰어들기 전에 여러 가지 요소를 고려해 현명하게 선택해야 한다. 인터넷의 인기 언어 순위 수치는 결정에서 중요한 역할을 한다. 인터넷에는 티오베(Tiobe) 지수, 깃헛(GitHut), 라이브에듀(LiveEdu.tv) 등 최상의 프로그래밍 언어를 연구하는 사이트가 많다. 이들은 프로그래밍 언어의 인기에 대해 서로 다른 관점을 제시한다. 예를 들어 깃헛은 깃허브(GitHub)의 리포지토리 수에 따라 프로그래밍 언어 순위를 매기고, 라이브 학습 플랫폼인 라이브에듀는 다양한 프로그래밍 언어를 사용하는 스트리머에게서 데이터를 수집한다. 페이스스케일닷컴(PayScale.com)과 인디드닷컴(Indeed.com)의 연봉 정보를 바탕으로 뽑은 수익 잠재력 상위 10개 언어는 다음과 같다. 1. 자바(Java) 자바는 인기있는 엔터프라이즈급 프로그래밍 언어다. 1995년 제임스 고슬링의 손에서 탄생한 자바는 이후 엔터프라이즈급 앱을 만들기 위한 프로그래밍 언어로 인기를 끌었으며 안드로이드 플랫폼에서의 ...

프로그래머 프로그래밍 연봉 2017.02.22

컴퓨터 역사상 가장 유명한 20가지 명언

그렇게 말했다! 컴퓨터와 프로그래밍의 세계는 알고리즘과 비트, 코딩이 전부가 아니다. 컴퓨터와 프로그래밍 세계에 대한 신랄하고 냉소적인 유머의 세계이기도 하다. 다음은 컴퓨터 역사상 가장 유명한 20개 명언이다. 이제부터 위트를 감상해 보자! editor@itworld.co.kr Image courtesy Mark Gibbs

프로그래머 개발자 2015.10.05

새내기 개발자가 알아야 할 7가지

대학에서든 학원에서든 컴퓨터과학이나 프로그래밍에 관한 교육을 수료하고 전문 소프트웨어 개발자의 길로 접어든 사람이라면 이미 알 건 다 안다고 생각할 수 있다. 그러나 경험이 많은 개발자들의 생각은 다르다. 전문가들은 대학이나 코딩 학원에서는 배울 수 없는, 코드 작성의 비즈니스에 대해 알아야 할 점이 많다고 충고한다. 최소 10년 이상(수십 년에 이르는 경우도 있음)의 경력에 현재 전문 소프트웨어 엔지니어로 일하는 코딩 베테랑들에게 코딩을 직업으로 시작하는 시점에 알아두어야 할 것이 무엇인지를 물었다. 학교를 졸업하고 개발자로 첫 경력을 시작하는 사람이든, 다른 일을 하다가 프로그래밍으로 전업한 사람이든 위 화살표를 사용해 오래전부터 개발을 해온 사람들이 ‘새내기’ 개발자를 위해 제시하는 7가지 조언을 살펴보도록 하자. editor@itworld.co.kr

프로그래머 개발자 2015.08.19

능력 있는 개발자들의 습관

최근 소프트웨어 개발자 수요가 급증했다. 그러다 보니 정말 능력 있는 소프트웨어 개발자의 가치가 천정부지로 치솟았다. 그렇다면 ‘괜찮은' 소프트웨어 개발자에서 정말 '뛰어난' 소프트웨어 개발자로 도약하려면 어떻게 해야 할까? 전문가들이 실력이 뛰어난 개발자를 어떻게 구별하는지, ‘괜찮은’ 개발자가 뛰어난 개발자로부터 배울 수 있는 점이 무엇인지 파악하기 위해 경험이 많은 소프트웨어 엔지니어에게 연락하고, 이 주제에 관한 온라인 토론을 진행했다. 지금부터 이제 막 개발자로서 사회생활을 시작한 새내기, 자신의 역량을 높일 방법을 찾고 있는 경력자 모두 리차드 스톨먼, 존 카맥, 제프 딘 같은 능력 있는 개발자에 한 발 더 가까이 다가가는 방법을 소개하겠다. 겸손하라! 리눅스의 창시자인 리누스 토발스를 생각할 때 가장 먼저 떠오르는 단어가 '겸손'은 아닐 것이다. 그러나 많은 개발자들은 뛰어난 개발자의 자질 중 하나로 한결같이 '겸손'을 꼽았다. 인퓨전소프트(Infusionsoft)의 선임 소프트웨어 엔지니어인 비빈 팔리아스는 "나는 기본적으로 내가 갖춘 지식이 가장 부족하다고 생각한다. 그래야만 새로운 것을 학습할 수 있어서다. 그렇다고 해서 자신감을 잃으라는 소리는 아니다. 자신의 지식을 믿어야 한다. 그러나 모르는 부분, 잘못된 부분이 있을 수 있다는 점을 유념해야 한다"고 강조했다. 밴드주글(Bandzoogle)의 콜린 미첼도 비슷한 충고를 했다. 미첼은 실수가 학습이라는 값진 경험이 될 수 있다고 말했다. 미첼은 "실수를 인정해야 한다. 그리고 인정한 실수를 학습의 기회로 삼아야 한다. 코드와 관련해 저지른 실수를 공개적이면서 개방적으로 인정하는 것은 건강한 행동이다. 동시에 문제를 바로잡고 개선할 방법을 찾을 수 있다"고 말했다. 구글에서 엔지니어로 일했던 첸 왕은 구글에서 최고로 손꼽혔...

프로그래머 엔지니어 개발자 2015.08.17

소프트웨어 개발 채용의 5가지 동향

채용 시장도 기술만큼이나 빠르게 변화한다. 기술은 통신과 정보 교환, 미디어 소비 방식을 바꾸었을 뿐만 아니라 10년 전에는 상상하지 못했던 분야에 새로운 일자리도 창출했다. 5년 전의 소프트웨어 엔지니어는 자바, (때에 따라서는) C++와 같은 다른 언어 하나만 더 익히는 정도로 안주가 가능했다. 그러나 지금은 파이썬, 루비, 스위프트, 오브젝티브-C에 이르기까지 배울 수 있는 프로그래밍 언어도 다양해졌다. 따라서 개발자에게는 최신 요구에 부합하는 기술을 갖추는 것이 중요하다. 이 분야에서 일자리를 찾는 구직자가 경쟁에서 돋보이기 위해서는 어떤 이력서가 필요할까? 채용 업체 윈터와이먼(WinterWyman)의 존 밴더샌드는 현재 기술 산업에서 가장 빠르게 확산되고 있는 5가지 추세와 그러한 추세에 발맞추기 위해 익혀야 할 소프트웨어에 관해 설명했다. 모바일 스마트폰이 부상함에 따라 모바일이 중요하다는 인식이 커졌지만, 최근 모바일게돈(Mobileddon)의 등장으로 그 입지가 더욱 높아졌다. 구글이 4월 21일부터 웹 사이트 검색 알고리즘에서 모바일 요소의 우선순위를 대폭 강화하고 나선 이후 많은 기업이 모바일 친화적으로 웹 디자인을 최적화하기 위해 애쓰고 있다. 그렇지 않으면 전능한 구글 알고리즘의 검색 순위에서 가차 없이 밀려나기 때문이다. 또한, 구글은 최근 10개 국가에서 모바일 검색이 데스크톱 검색을 추월했다는 사실도 발표했다. 이처럼 모바일이 중심이 되는 환경에서 iOS와 안드로이드 애플리케이션 개발자에 대한 수요도 증가했다. 소비자와 접하는 기업뿐만 아니라 웹 사이트를 운영하는 모든 기업에게도 모바일이 중요해졌기 때문이다. 지금까지는 모바일 기기에서의 웹 사이트 사용은 쾌적하지 않은 경우가 대부분이다. 모바일은 흥미롭고 다양한 시장이다. 밴더샌드는 “대부분의 기업이 전문적인 모바일 개발 경험을 가진 인력을 채용하고자 하지만 취미 삼아 iOS나 안드로이드 프로젝트를 수행하는 사람들에 대한 시장도 계속해서 커질 것&...

프로그래머 엔지니어 채용 2015.05.20

지혜로운 개발자가 되기 위한 격언 65가지

소프트웨어 개발을 하면 할수록 인생의 지혜를 얻게 된다. 어떤 이들은 개발은 단순한 작업이 아닌, 삶을 사는 방식이라고도 말한다. 코드를 작성하는 일 자체가 직장과 일상 속에서 자신의 모습을 구현하는 일이기 때문이다. 깃허브(GitHub)에는 개발자 속담(Programmer’s Proverbs)이라는 저장소가 생성됐는데, 개발자를 위한 지혜로운 문장들을 모아놓은 것이다. 이제 미래 세대를 이끌어나갈 새싹들이 보고 배울 지혜에 대해 알아보도록 한다. 개발자의 현실 - 때로는 QA의 역할을 때로는 버그 수정 역할을 감당해야 한다는 사실을 인정하라. - 일을 잘할수록 남들은 난이도가 쉽다고 생각한다. 개발자 사명서 - A/B 시험은 두 번 진행하고 변경사항을 한 번에 배치하라. - 게으름이 자신의 가장 좋은 친구이다. 한 번에 자동화할 수 있는 것을 두 번 하지 마라. - 최고의 요청은 아예 요청하지 않는 것이다. - 웹 표준만 설정할 수는 없다. - 자신의 데이터 구조를 파악하면 코드는 자연히 따라갈 것이다. - 오래된 코드 중 일부는 다시 작성할 수 없고, 약간만 변경해도 깨져버린다. - 취했을 때 자신이 춤추는 모습을 떠올리고 다음에 맥주를 마시고 코드를 작성할 때는 책임을 져야 한다. - 술에 취했을 때는 상사와 대화하지 마라. - 많은 시도를 통해 더 높은 품질을 달성할 수 있는 경우가 많다. - 최종 버전의 성공은 거짓이다. 반복만이 있을 뿐이다. 반복을 통해 더 나은 제품을 얻는다. 더 나은 제품을 통해 인기를 얻는다. 인기를 통해 성공을 얻는다. 성공을 통해 잘못 이해한 기술 사양이 깨진다. 개발 사이클이 우리를 자유롭게 하리라. - 버전 관리에 신경 써야 한다. - 데모 페이지를 위한 프레임워크를 선택하는 대신에 코드를 위해 선택하라. - 측정하기 전에 절대로 최적화하지 말라 - 지트(Git)에서 있었던 일은 지트에 남겨 둔다. - 포리치 루프(Foreach Loop)를 피하면 CPU 사이클을 얻는...

프로그래머 개발자 2015.04.09

"나쁜 습관을 만드는" 개발자의 7대 죄악

훌륭한 개발자가 되려면 평생에 걸친 훈련과 연습이 필요하다. 하지만 적절한 규율이 없다면 최고의 개발자조차도 나쁜 습관을 들일 수도 있다. 일부는 아주 경험이 풍부한 개발자 사이에서도 어느 틈에 반복되는 고질적인 습관이기도 하다. 필자는 바로 소프트웨어 개발자가 저지르는 7대 죄악을 설명하고자 한다. 이글을 읽는 동안에도 욕망, 폭실, 탐욕, 태만, 분노, 질투, 오만이 프로젝트 프로젝트를 얼마나 위태롭게 만드는지를 알고 싶다면 이 글을 반드시 읽기 바란다. editor@itworld.co.kr

프로그래머 개발자 2015.04.03

전세계 모바일 개발자 트렌드 8가지

오늘날 개발자들은 거의 모든 영역에 지대한 영향을 미치고 있으며, 특히 특히 모바일 개발자들은 그 어느 때보다도 중요한 역할을 하고 있다. 스마트폰과 태블릿이 보급되고 사물인터넷(IoT)이 등장한 덕분에 스마트 기기용 앱과 도구를 개발하는 사람이 중요하다는 인식이 퍼지고 있다. 그리고 올해 모바일 개발자들과 모바일 경제 트렌드의 장미빛 미래가 예견된다. 2월 초, 비전모바일(VisionMobile)의 '개발자 경제: 2015년 1분기 개발자 국가 현황(Developer Economics: State of the Developer Nation Q1 2015)' 8판이 공개됐다. 해당 보고서는 143개국의 모바일 개발자 8,000명 이상을 대상으로 실시한 설문조사에 기초하고 있다. 그중에서도 개발자들이 주력하는 플랫폼, 사용하는 도구, 작업 동기와 관련된 트렌드를 잘 짚어내고 있다. 이번 기사에서는 모바일 개발자에 관한 새로운 8가지 사실에 관해 알아보고자 한다. editor@itworld.co.kr Image courtesy Roland Tanglao  

모바일 프로그래머 개발자 2015.02.27

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2022 International Data Group. All rights reserved.