首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当编码开始感到无聊时,应该做些什么,就好像一切都是一样的?

当编码开始感到无聊时,应该做些什么,就好像一切都是一样的?
EN

Software Engineering用户
提问于 2011-01-19 18:22:10
回答 11查看 29.9K关注 0票数 37

我从6岁开始在64准将上编程。现在我28岁了,我必须完成计算机科学学士学位的4门课程。

这些年之后,我开始厌倦了编写代码。我上过一门计算机科学的课程,学习计算机理论语言,在网络安全领域学习了10年的C系统编码,我只是没有从编写代码中得到任何刺激。

我可以用C、C++、Python或任何你想要的语言编写代码,但我不能对我正在做的事情感到兴奋。我感觉不到任何挑战。我编写了多线程代码、HTTPS代理和一个WSGI应用程序,而不需要任何特定的算法技巧。

我觉得所有这些新东西都是一样的,里面有更简单的(或更多的)抽象或自动化,但对我来说都是一样的。一遍又一遍。可计算语言都是图灵可计算语言,因此编码只是部分函数子集中类似模式的复制。

在我的日常工作中,我甚至对搜索bug、在代码上做基准测试、或者用库X、Y、Z来解决问题都感到厌烦。

我是个很好奇的人。我总是被某些东西刺激。但当我看到很棒的代码时,我甚至不能。我对事情的运作方式感到更舒服。

是时候在我的职业生涯中取得进步了吗?还是为了在计算机科学上获得更多有挑战性的东西?也许可以获得CS?

的专业学位。

我已经开始阅读我的第一本关于项目管理的书"Peopleware“,我对软件开发生命周期越来越感兴趣。你建议怎么做?

也许像我的一些朋友一样,试图进入谷歌、微软或苹果。或者更多的管理职业道路。我还试图找到一本关于沟通规则和“人的个性”的好书,让我为进入管理层做好准备。

有什么建议吗?

记者:我有很大的兴趣,我没有沮丧:)我喜欢爬山,徒步旅行,拍照,我是一名运动攀岩者,我喜欢游泳和运动,有时我会跑步,实际上我在阅读关于我的国家(意大利)的书,从AC到今天,我喜欢旅行(今年夏天我花了4000公里去西班牙的许多地方,爬到那里,只花了3个星期,不是度假,而是马拉松,24公里的徒步旅行造成了我的疝伤),我热爱戏剧和生活。

感谢所有的人,思考所有的答案给了我一个机会,让我的道路更加清晰。

为了一个总结的目的,我们可以概括一下投票最多的答案。

首先,人们投票认为有必要让我们的工作成为你生活的支柱,而不是维持生活的唯一理由(这不是我的情况),所以,如果你只有生活的理由,如果你工作的话,你很快就会陷入抑郁的境地。正如人们所说,维也纳不等待你:)

在此提醒之后,人们建议:

  • 增加技术复杂性,我实际上是为了增加挑战,减少对它的厌倦。
  • 将专业知识领域转变为非技术领域,试图成为一名经理,或在与您的工作相关的非技术领域取得一些护理人员的进步。
  • 在另一种技术挑战中改变专业领域,你是系统程序员吗?试着减少开发人类应用程序的无聊程度,这样您就可以更轻松地使用有用的软件查看他人。
  • 在你的学术道路上提高你的计算机科学学位

就我的目的而言,正确的答案是在计算机科学上取得进步,因为我觉得编程不是唯一的计算机科学方法,我认为我能更好地获得不同于软件工程护理者的计算机科学的其他途径。

EN

回答 11

Software Engineering用户

发布于 2011-01-19 18:37:11

那一定会发生的。

如果您的主要兴趣在于代码,它将使您疯狂,沮丧和沮丧偶尔,某一天永久。

对开发产品感兴趣,并喜欢看到人们使用它们。这就是编写代码的最终目标,对吧?代码只是一个工具,可以完成更大的任务。

票数 51
EN

Software Engineering用户

发布于 2011-01-19 18:51:51

我会用一个问题来回答你的问题。

是程序员的工作,负责编写代码或解决问题?

你说你很无聊,因为编写代码似乎是你以前做过的事情,就像以前做过的每一段代码一样。

但是,你是如何得出这样的结论:代码就是应该编写的代码呢?大多数问题都有数百种解决方法,但只有一种最好的方法。

如果你真的没有任何挑战、好奇心或兴趣去寻找解决方案,或者是解决问题,那么你真的应该有所改变。虽然我不确定这将是软件开发管理。我不想为一个对解决问题如此冷漠的软件经理工作。它可能只是一个不同的行业,有着不同的一系列问题。

如果你喜欢解决问题,但不喜欢编码,也许你找不到足够的问题来解决。每当我的工作开始感到乏味时,我相信有一个问题需要解决。为什么我工作很忙?我能拿出什么解决办法来把繁忙的工作从我的工作中解脱出来?这就是编程的美。

票数 21
EN

Software Engineering用户

发布于 2011-01-19 22:10:00

在我看来,你已经做了很多的过程编程,并且对它感到厌倦--我完全理解。在每种过程语言中,一步一步地指定是相同的。

因为听起来你有很多非工作活动,所以我建议你学习一些不像你现在所知道的概念,而且-是的--有很多,但首先,我建议哈斯克尔,因为它是。

  • 函数式-你写函数,你放在一起,使更大的函数,最终导致一个程序。
  • 惰性评估--运行时不是一步一步地指定,而是根据需要提取所需的值。这意味着在程序中处理无限列表是非常常见的。
  • 模式匹配--而不是有大的if结构,而是列出参数的样式,运行时选择适当的模式并执行相应的代码。

以下是一个完整的排序功能:

代码语言:javascript
复制
qsort []     = []
qsort (x:xs) = qsort (filter (< x) xs) ++ [x] ++ qsort (filter (>= x) xs)

(有关解释,请参见http://www.haskell.org/haskellwiki/Introduction#Ease_的_理解 )

如果这对你来说是新的,我会鼓励你开始冒险。

祝你好运-玩得开心。

票数 9
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/38225

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档