코딩이 지루한 느낌이들 때 어떻게해야합니까? [닫은]


33

저는 6 살 때 Commodore 64에서 프로그래밍을 시작했습니다. 이제 저는 28 살이고 컴퓨터 공학 1 학년부터 4 개의 과정을 이수해야합니다.

나는 몇 년 후 코드 작성에 지루해지기 시작했습니다. 나는 컴퓨터 보안에서 이론적 인 컴퓨터 언어와 네트워크 보안 분야에서 10 년의 C 시스템 코딩 과정을 밟았으며 코드 작성에서 자극을 얻지 못했습니다.

C, C ++, Python 또는 원하는 언어로 코드를 작성할 수는 있지만 내가하는 일에 흥분하지 않습니다. 나는 어떤 도전도 느끼지 못한다. 특정 알고리즘 기술이 없어도 멀티 스레드 코드, HTTPS MITM 프록시 및 WSGI 응용 프로그램을 작성했습니다.

나는이 모든 새로운 것들이 더 단순하거나 더 추상화 된 추상화 또는 자동화로 모두 동일하다고 생각하지만, 모두 나에게 같은 소리를 낸다. 다시 반복하여. 계산 가능한 언어는 모두 Turing 계산 가능하므로 코딩은 부분 기능의이 하위 집합에서 유사한 패턴의 복제 일뿐입니다.

일상적인 작업에서 버그를 검색하거나 코드에 대한 벤치 마크를 수행하거나 라이브러리 X, Y, Z의 문제를 수정하는 것에 지루함을 느낍니다.

나는 매우 호기심 많은 사람입니다. 나는 항상 무언가에 자극받습니다. 그러나 훌륭한 코드를 볼 때조차도 할 수 없습니다. 나는 일이 어떻게 작동하는지 더 편안하다고 느낍니다.

내 경력을 발전시킬 때인가? 아니면 컴퓨터 과학에서 더 도전적인 물건을 얻으려면? CS에서 전공 학위를 받았을까요?

프로젝트 관리 "Peopleware"에 대한 첫 번째 책을 읽기 시작했고 소프트웨어 개발 수명주기에 더 많은 관심을 가지게되었습니다. 당신은 무엇을 제안합니까?

아마도 내 친구들과 마찬가지로 Google, Microsoft 또는 Apple에 접속하려고 시도했을 것입니다. 또는 더 관리적인 경력 경로. 나는 또한 의사 소통 규칙과 "사람의 성격"에 관한 좋은 책을 찾아서 경영에 들어갈 가능성을 준비하려고 노력했다.

어떤 제안?

추신 : 나는 많은 관심을 가지고 우울하지 않습니다 :) 나는 산을 좋아하고, 트레킹, 사진 촬영을하고 스포츠 등산가입니다. 나는 일반적으로 수영과 스포츠를 좋아합니다. 때로는 달리기를 실제로합니다. AC에서 오늘까지의 내 나라 (이탈리아) 이야기에 관한 책을 읽었고 여행을 좋아합니다 (이 여름에는 스페인에서 많은 장소를보고 4000 주를 만들어서 3 주 만에 휴가가 아니라 마라톤에 올랐습니다. , 24km의 트레킹으로 인해 탈장 부상이 발생했습니다.) 저는 일반적으로 극장과 삶을 좋아합니다.


모든 덕분에 모든 답을 생각하면 내 길을 더 명확하게 만들 수있는 기회가 생깁니다.

요약을 위해 가장 투표가 많은 답변을 일반화 할 수 있습니다.

우선 모든 사람들 이 우리의 일을 당신의 삶에 대한지지가되어야하며 삶에 머물러야하는 유일한 이유는 아니 어야 한다고 투표했습니다. 정말 우울한 상황에 사람들이 말했듯이 비엔나는 당신을 기다리지 않습니다 :)

이 알림 후 사람들은 다음을 제안합니다.

  • 기술적 복잡성 증대 실제로 도전 과제를 해결하고 지루함을 줄이려고 노력하고 있습니다.
  • 전문 분야를 관리자가 아닌 비 기술 분야로 변경하거나 업무와 관련이있는 비 기술 분야에서 진일보 한 발전을 이루십시오.
  • 다른 종류의 기술적 과제에 대한 전문 분야를 변경하십시오. 시스템 프로그래머입니까? 유용한 소프트웨어를 사용하여 사람들을보다 편안하게 볼 수 있도록 사람을위한 응용 프로그램 개발에 대한 지루함을 줄이십시오.
  • 학업 과정에서 컴퓨터 과학 학위를 어느 정도 발전 시키십시오

내 목적을 위해 정답은 컴퓨터 과학을 발전시키는 것입니다. 제 생각에는 프로그래밍이 유일한 컴퓨터 과학 방법이 아니라고 생각하며 소프트웨어 공학 보호자와는 다른 컴퓨터 과학의 다른 길을가는 것이 더 좋다고 생각합니다.


10
정말 우울합니다. 왜 관리자가되고 싶습니까?

14
불행하게도 관리자에게는 가혹한 것처럼 들리지만 관리자는 효과적인 의사 소통 방법을 이해해야합니다. 위에서 쓴 내용은 매우 불분명하고 간신히 이해할 수 있습니다. 경영진으로의 경력 변화를 계획하고 있다면, 나는 무엇보다 먼저 의사 소통 기술을 연구 할 것입니다. 상황이 유감입니다.
George

9
@George : 제 생각은 영어를 모국어로 쓰거나 쓰지 않는 사람이 작성한 것입니다.
FrustratedWithFormsDesigner

2
참조 메타 프로그래밍의 사용 무엇 이 주제에 재미있는 은유 (모든 이상 같은 일을)에 대한이.

2
@George : 물론 영어는 제 모국어가 아닙니다. 영어 실력을 향상시키고 코딩에 대한 좌절감을 설명하기 위해 편집을 시작합니다.
boos

답변:


50

그것은 일어날 수밖에 없었다.

코드에 주된 관심사가 있다면 언젠가는 한 순간 영구적으로 미치거나 좌절하고 우울해질 것입니다.

제품 개발에 관심을 갖고 사람들이 제품을 사용하는 것을 즐기십시오. 이것이 코드 작성의 궁극적 인 목표입니다. 코드는 단지 더 큰 일을하는 도구 일뿐입니다.


나의 첫 번째 관심사는 코딩에만 국한된 것이 아니라, 나는 스포츠 클라이머, 나는 극장에 가고, 여행을하고 새로운 장소, 매년 2/3 유럽 도시, 여름 휴가에 4000Km을 보는 것을 좋아합니다. 이것은 요점이 아닙니다. 나는 코딩에 대한 답이 없다고 생각했다. 내 작업의 모든 문제는 다루기가 어렵지 않으며 더 많은 도전을 할 수 없습니다. 정답은 직업을 바꾸고 더 복잡한 문제에서 더 많은 도전을 얻는 것이라고 생각합니다. 사실 저는 이미 연구 개발 부서에 있습니다.
boos


2
+1 무의미한 코딩이 좋은 점은 무엇입니까? 집 대신 벽을 세우는 것과 비슷합니다.
Mayank

+1 코딩을 시작했으며 지금까지만 (10 년 이상) 게임을 만들고 사람들이 게임을 즐기는 모습을 보았습니다. 나는 정말 힘든시기에 내가 결국 아무것도 몰랐다는 것을 이해하기 시작했습니다. 나는 사람들을 위해 게임을 만들고 싶었 기 때문에 그 순간 처음부터 모든 것을 다시 배웠습니다.
Klaim

이것은 확실히 나를 위해 일했습니다. 나는 최근에 아내의 회사를 위해 작은 무료 개발 작업을 수행했으며 소프트웨어를 지원하는 것은 엉덩이에 약간의 고통이지만, 한동안 느끼지 못한 코딩의 즐거움을 재확인했습니다.
hermiod

21

질문으로 질문에 대답하겠습니다 ...

프로그래머가 코딩하거나 문제를 해결해야합니까?

코드를 작성하는 것은 이전에 수행했던 모든 코드처럼 보이기 때문에 지루하다고 말합니다.

그러나 그 코드 가 작성되어야하는 코드라는 결론에 어떻게 도달 했습니까? 대부분의 문제에는이 문제를 해결할 수있는 수백 가지 방법이 있지만 가장 좋은 방법 은 하나뿐입니다 .

해결책을 찾거나 문제를 해결하는 데 어려움, 호기심 또는 관심이 없다면 실제로 변화가 필요한 것입니다. 소프트웨어 개발 관리인지는 확실하지 않습니다. 문제 해결에 대해 무관심하다고 느끼는 소프트웨어 관리자를 위해 일하고 싶지 않습니다. 아마도 다른 문제가있는 다른 산업이어야합니다.

문제 해결을 좋아하지만 코딩을 좋아하지 않는다면 해결하기에 충분한 문제를 찾지 못할 수 있습니다. 작업이 지루해지기 시작할 때마다 해결해야 할 문제가 있다고 생각합니다. 왜 바쁜 일을하고 있습니까? 직장에서 바쁜 작업을 제거 할 수있는 솔루션은 무엇입니까? 이것이 프로그래밍의 아름다움입니다.


1
@ Rnesis : 나는 문제 해결을 좋아합니다. 나는 코딩을 좋아하지 않습니다! 이것이 나의 "질문"의 핵심입니다. 모든 프로그램 문제는 항상 같은 것입니다. 물건을 검색하고 다른 것을 주문하십시오. 그렇다면 다른 것에 연결하면 DB에 연결하고 원격 서비스에 연결하고 통신하고 다른 서비스에 다시 연결하십시오. 등
야유

1
@boos-응답 해 주셔서 감사합니다. "문제 해결을 좋아하는 경우"라는 단락을 추가했습니다.
Nicole

9

나에게 소리처럼 당신은 한 적이 LOT 절차 적 프로그래밍을하고 그것의 피곤 성장 - 나는 완전히 이해한다. 단계별로 지정 입니다 많은 모든 절차 언어에서 동일.

비 활동 활동이 많이있는 것처럼 들리므로 지금 알고있는 것과 닮지 않은 몇 가지 개념을 배우는 것이 좋습니다. 그렇습니다. 많이 있지만 시작하려면 Haskell이 좋습니다.

  • 기능적-더 큰 기능을 만들기 위해 조합 한 기능을 작성하여 결국 프로그램을 만듭니다.
  • 지연 평가-단계별 지정 대신 런타임 에서 필요한 값을 가져옵니다 . 이것은 프로그램에서 무한리스트를 다루는 것이 매우 일반적이라는 것을 의미합니다.
  • 패턴 일치-큰 if 구조를 갖는 대신 매개 변수의 모양에 대한 패턴을 나열하고 런타임은 적절한 패턴을 선택하고 해당 코드를 실행합니다.

다음은 완전한 정렬 기능입니다.

qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)

( 설명 은 http://www.haskell.org/haskellwiki/Introduction#Ease_of_understanding 참조 )

이 중 새로운 것이 있다면 모험을 시작하는 것이 좋습니다.

행운을 빕니다-재미있게 보내십시오.


+1 그것은 OP를 읽은 후에했던 것과 같은 결론입니다. OP는 절차에서 멀어져 야합니다. 프로그래밍 세계는 훨씬 더 커서, 그는 나가서 탐험해야합니다! :)
Darknight

8

컴퓨터는 지루한 소비자입니다. 하루 종일 기계 대 기계 상호 작용을 코딩 할 때마다 기계가 동일하게 반응합니다. 프로젝트를 끝내는 것이 좋지만 잠시 후 지루합니다. 그것은 기계와 직접 관련이없는 무언가로 단조 로움을 깨뜨리는 데 정말로 도움이됩니다.

사진과 공부 경험 모두에서 영감을 얻었습니다. 다른 벤더들이 미지근한 반응을 보일 때 산타 클라라에서 나올 다음 일을 위해 애플이 스스로 타액을 타게 할 수 있다고 생각 하는가? 애플이 오랫동안 버라이존에서 아이폰을 출시하는 것을 거부하지 않았다면 안드로이드가 큰 반응을 보였을 것이라고 진지하게 생각하십니까? 나는 당신에게 큰 힌트를 줄 것입니다 : 반드시이 제품들이 기술적으로 진보 된 것은 아닙니다. 매니아에게는 큰 심리적 요소가 있습니다.

제품 디자인과 사용자 경험을 이해하는 것은 많은 사람들이 알아야 할 내용입니다. 누군가가 진드기를 만드는 이유는 무엇입니까? 사람들이 기존 솔루션을 떠날 수있을 정도로 멋진 것을 어떻게 설계합니까? Apple과 같은 자신 만의 기술 컬트를 어떻게 만들 수 있습니까? 이것들은 모두 매우 흥미롭고 자극적 인 질문입니다. 소프트웨어 개발에 피드백을 제공하지만 이제는 초점이 다릅니다.


1
+1 프로그래밍에 많은 만족을 느꼈고 디자인 측면 때문에 좋아한다고 생각하지만 프로그래밍에 시각적 측면이 부족하다는 점은 인정하지 않습니다. 나도 사진을 좋아하고 그래픽이나 건축과 같은 다른 유형의 디자인을 연습하려고합니다.
Nicole

게임 프로그래밍 해보기 : D, 그것은 주로 시각 문제입니다
Dominique McDonnell

7

아마도 당신은 충분한 기술적 도전을 얻지 못했을까요?

  • 고도로 분산 된 시스템을 사용해보십시오. 마이크로 초 단위로 클러스터의 1000 대 컴퓨터에서 로그를 수집하도록 시스템을 쉽게 코딩 할 수 있습니까?
  • 열심히 시도하십시오. 모든 프로세스를 한 번의 엔진 회전으로 포장하십시오.
  • 컴퓨터 비전 또는 이미지 처리를 시도하십시오. 수학 기술, 수식 대 코드 기술, 최적화 기술이 모두 유용합니다.
  • AI를 사용해보십시오. IBM의 컴퓨터가 어떻게 Jeopardy를하는지보십시오. 아마도이 영역에는 일부 알고리즘의 정교함이 관련되어있을 것입니다.

물론, 지루하지 않고 물건이 당신에게 도전하는 분야에서 처음에는 적은 돈을 벌 수 있도록 준비하십시오.


4

"올바른"솔루션이없는 필드로 이동하여 동기를 찾았습니다. 편집 도구를 작성하고 있으며 사용자가 유용하다고 생각하는만큼 일이 훌륭합니다. 나는 많은 비 기술적 인 사람들을 만나고 함께 우리가 함께 일하는 데 필요한 소프트웨어를 개선하는 방법을 요리하려고 노력하고 있습니다. 인간의 상호 작용과 끊임없이 관점을 철저히 즐겁고 갑자기 코딩하는 것이 필요하지 않습니다. 더 이상 지루합니다.

나는 그것이 모든 사람을위한 것이 아니라는 것을 알고 있습니다. 일부는 다른 사람보다 당신의 작업 품질을 객관적으로 측정하지 않는 불안감을 처리합니다.

그러나 고려해야 할 옵션입니다.


4

예, 때로는 실제로 같은 종류의 코드를 반복해서 작성한다는 느낌이 들었습니다. 그러나 아니요, 아직 지루하지 않습니다. 왜 그런가요?

저는 기본적으로 새로운 코딩 방법과 코드로 무언가를 표현하는 새롭고 간결하고 우아한 방법을 발견하는 것을 좋아하기 때문입니다. 새로운 프로그래밍 언어를 배우거나 새로운 라이브러리 나 프레임 워크를 배우는 두 가지 방법이 있습니다.

내가 시도한 각 언어로 새로운 프로그래밍 언어를 배우는 것이 쉬워졌습니다. 그리고 얼마 후, 그것은 매우 흥미로운 것을 멈췄습니다. 그러나 약 1-2 년 전에 마침내 함수형 프로그래밍에 도달했습니다. 기능 프로그래밍은 프로그래밍 패러다임으로서 OOP와는 다른 새로운 도전이 될 수 있습니다. 이것이 실제로 프로그래밍 기능을 풍부하게하고 프로그래밍 문제를 볼 수있는 새로운 관점을 제공했다고 생각합니다. 나는 이제 다른 프로그래밍 언어 대신 다른 프로그래밍 패러다임을 발견하려고합니다. 더 큰 도전입니다.

둘째, 새로운 라이브러리, 프레임 워크 또는 API 학습 : 올바르게 말했듯이 새로운 프레임 워크는 종종 새로운 문제를 해결하지 못합니다. 그것들은 다른 추상화 계층을 추가함으로써 다른 방식으로 해결합니다. 오늘날 컴퓨터는 이전 컴퓨터보다 강력하기 때문에 가능할 수 있습니다. 또는 아마도 우리 전체가 소프트웨어를 작성하는 데 점점 더 좋아지고 있기 때문일 것입니다.

이 마지막 비트는 아마도 약간의 설명이 필요할 것입니다. 예를 들어 보겠습니다. 프로그래밍 기술을 연습하는 동안 가장 오래 동안 필자가 작성한 코드의 유지 관리에 대해 진지한 생각을하지 않았습니다. 직장에서 프로그래밍을 시작한 이후로 나의 관점이 바뀌 었습니다. 코드 작성에 소비하는 시간당 실제 비용이 발생하기 때문에 회사는 가능한 경우 기존 코드를 유지하려고 노력하고 결국에는이를 통과해야 할 가능성이 있기 때문에 유지 관리 가능한 코드 작성은 회사 환경에서 매우 중요합니다. 후임자의 코드.

유지 관리 가능한 코드 작성은 실제로 큰 과제라는 것을 알았습니다. 그것은 매우 영리하고 고도로 최적화 된 어셈블리 코드를 작성하지 않는다는 것을 의미합니다 (기억하십시오) The Story of Mel – A Real Programmer , 누군가? ;-) 대신에, 당신은 추상화를 활용할 가능성이 더 큽니다. 코드를 비즈니스 규칙과 문제 영역에 더 가깝게 접근할수록 좋습니다. 그것이 모든 새 라이브러리가 들어온 곳입니다. 깨끗하고 명확하며 간결하고 이해하기 쉬운 코드를 작성할 수 있다면 좋은 것입니다.

이 답변이 다소 길면 죄송합니다. 나는 프로그래밍에 대한 나의 동기가 어디에서 왔는지 보여 주려고 노력했다. 그리고 언젠가 당신이 같은 방식을 느꼈는지, 그리고 당신의 동기가 결국에 떠 났는지 여부에 대해 관심을 가질 것이다.


모든 언어와 모든 패러다임과 일반적인 방식으로 새로운 언어를 배우는 모든 새로운 프레임 워크를 "튜링 머신"에 상기시킬 수 있습니다. 나는 깨끗한 코드를 작성하는 것을 좋아하고 때로는 약간의 난독 화와 같이 동료와 농담하기 위해 정말 이상한 코드 스 니펫을 작성하는 것을 좋아합니다.
boos

1
+1 나는 또한 이렇게 느낀다. 개인적으로 가장 좋아하는 도전은 새로운 것이 아니라 최선의 방법으로하는 것입니다. 내가 얻을 수있는 가장 좋은 칭찬은 "나는 당신의 코드를 읽고 완벽하게 이해했습니다."입니다. 아무도 더 나은 것을 생각할 수없는 코드 검토를 좋아합니다.
Michael K

@boos, 만약 당신이 이론을 좋아한다면 cs / math / physics에는 수천 가지 주제가 있습니다.
Job

3

코드 작성에 지쳤을 때 흥분하지 않으면 지루하면 변화의 시간이 될 수 있습니다. 수년간의 경험을 바탕으로 관리 위치로 이동하고 다른 코더를 관리하고 안내 할 수 있습니다. 또는 시스템을 설계하고 계획 할 수있는 시스템 아키텍처로 옆으로 이동하려고 시도하면 다른 사람들이 대부분의 구현을 수행 할 수 있습니다.

또는 경력을 컴퓨터와 전혀 관련이없는 것으로 완전히 바꿀 수 있습니다. 누군가가 당신에게 줄 수 있다면 꿈의 직업이 무엇인지 스스로에게 물었습니까?


3

마이크로 컨트롤러로 게임을 시작하십시오. 내가 생각할 수있는 프로그래밍 재능의 가장 상쾌하고 흥미로운 응용 프로그램입니다.


2

우리가 비슷한 기계에서 6 세에 대해 프로그래밍을 시작했으며 여러 가지 이유로 프로그래밍을 시작하고 종료했다는 점에서 배경의 시작점이 비슷해 보입니다. 학위 수준의 컴퓨터 과학 과정을 수강했지만 학위 과정은 프로그래밍과 관련이 없으며 모든 음악 학위도 있습니다.

프로그래머들은 종종 같은 문제를 반복적으로 해결하고 "새로운"것이 모두 "오래된"을 기반으로한다는 사실을 잘 알고 있습니다. 이 사실이 당신의 신용에 있다는 것을 깨달았습니다. 너무 많은 개발자와 비즈니스 사람들은 새로운 기술이 기존 기술과 완전히 분리 된 것으로보고 있습니다.

따라서 이러한 종류의 문제를 해결하는 것은 흥미롭지 않습니다. 흥미로운 것은 무엇입니까? 일반적으로 문제 해결을 좋아합니까? "비즈니스"소프트웨어 개발자로서의 삶은 당신을위한 것이 아닐 수도 있습니다.

답변보다 더 많은 질문을 제공 한 것으로 알고 있지만 이러한 질문에 답변하면 방향을 파악할 수 있기를 바랍니다.


2

당신이 붙어있는 것처럼 들립니다. 당신은 당신이 원하지 않는 상황에 처해 있고 그것을 빠져 나가는 방법을 모른다. 나의 충고는 간단하다 : 다른 것을하기 위해 다른 것을해라. 문제가 해결되지 않더라도 문제가 해결 될 수 있습니다.

C, C ++, Python 또는 원하는 언어로 코드를 작성할 수는 있지만 내가하는 일에 흥분하지 않습니다. 나는 어떤 도전도 느끼지 못한다. 특정 알고리즘 기술이 없어도 멀티 스레드 코드, HTTPS MITM 프록시 및 WSGI 응용 프로그램을 작성했습니다.

이것을 잘못된 방식으로 취하지 마십시오 (이것은 괜찮은 성과입니다). 그러나 이것은 프로그래밍에서 도전적이고 흥미로운 모든 문제의 포괄적 인 목록은 아닙니다. 여전히 해결해야 할 도전적인 문제가 많이 있습니다. 가장 어려운 문제는 대규모 작업과 관련이 있습니다. WSGI 애플리케이션을 작성했지만 하루에 10 억 페이지 뷰를 처리 할 수있는 애플리케이션을 작성 했습니까? 다중 스레드 코드를 작성했지만 수백 대의 컴퓨터로 다중 컴퓨터 코드를 작성 했습니까?

요컨대, 기술적이지 않은 것을 시도하고 싶다면 그것을 찾으십시오. 그러나 그렇지 않다면 해결해야 할 모든 문제를 해결했다고 생각하기 때문에 그렇게하지 마십시오.


물론, 나는 여기에 많은 도전적인 것들이 있다는 것을 알고 있습니다 :) 나는 지금 작은 코더입니다! 문제는 프로그래밍과 관련된 복잡성이 나를 행복하게하지 못한다는 것입니다. 모든 대답을 통해 요점을 파악하면 더 많은 학문적 내용을 연구하여 관심을 갖도록해야합니다. 어쨌든 감사합니다 :)
boos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.