对一百万种事物感兴趣,有一百万个目标:如何选择重点关注的事物


19

我目前正在使用.NET技术作为Web应用程序开发人员。我有兴趣了解与我合作的技术的更多信息,但我还对百万种其他事物感兴趣……(包括系统编程,网络,游戏开发,移动开发,计算机科学主题,数学,参加公开赛源项目,开始自己的事业,等等)。

当有很多其他需要“掌握”的东西引起我的注意,而一天中只有那么多小时时,我似乎无法专注于成为“专家”的事情。

我的问题是,有什么好的战略可以制止拖延和有效地管理时间,以便您可以充分利用自己的空闲时间并了解自己感兴趣的内容,同时又不会忽视其他优先事项并让其他兴趣落空裂缝?还是我必须牺牲,如果是的话,我该如何优先考虑牺牲什么?


抱歉,我进行了编辑以尝试澄清所提出的问题。
donnovan9 2011年

嗨,康拉德,您的问题确实很长,很多人会考虑其中的“保证”。我知道对于这个问题,这是一个有点讽刺的要求,但是您能否提炼出您的问题并将其重点放在回答一个特定的可解决问题所需的几个关键的要点上?否则,您的问题可能会被封闭,因为问题比问题更棘手。

当然...更好吗?这绝对是讽刺的哈哈
donnovan9

7
我认为这是一个有趣的问题……我是认真的!
萨尔

3
不一样的问题,但一些问题的答案可能是你的兴趣:programmers.stackexchange.com/questions/16708/...
Benjol

Answers:


4

重叠查找您想学习的领域中的区域。您可能不会直观地认为它,但是系统编程和游戏编程可能非常相似。特别是在加速硬件方面。

再举一个例子,如果您每周花费10个小时或更长时间来建立一家开发多人手机游戏的初创公司,那么您在开发移动,游戏和网络方面的工作也将包括自己的公司。找到一个优秀的开源库,它将成为您项目的重要组成部分,并有助于进一步开发它,以使您开始熟悉框架。

尝试不仅在编程中而且在生活中遵循KISS原则:)巩固自己,使自己获得更多可重用的技能。在我的情况下,我通常会开发内部软件来运行公司的日常任务,跟踪数据等。在业余时间里,我正在开发游戏引擎。

两者都有大量的数据,需要通过复杂的通道进行路由。两者都受益于优化,并且都使用数据库,网络,缓存和“智能精度”等等。我从每一方都学会了如何提高性能和质量。

我的建议是找到最佳的任务集,同时牢记您最关心的是什么,然后紧接其间,它们如何相互联系。


1
这正是我所寻找的路线!我想现在的诀窍是提出一个有这些重叠的项目。我喜欢制作游戏的想法正是因为它涉及许多不同的,重叠的技能,更不用说,完成一个简单的“乒乓”游戏会给我一种自信和至高无上的感觉-这就是我一直在做的事情推迟一会儿。游戏引擎也是一个好主意,因为它成为未来项目的起点,也是我可以建立和扩展的东西。酷的东西!
donnovan9 2011年

1
一个好的,强大的引擎是一个巨大的挑战,一直在扩展我的技能!保持我日常工作代码的
陈旧性

1
+1为“多汁的引擎”
donnovan9 2011年

> _ <; 拼写多汁~~希望我能看到你的比赛= P
Garet Claborn 2011年

7

是的,我曾经像你一样思考。我希望能够做一个游戏。然后我会说“不!我要创建一个网络应用程序!” 然后我会说“不!我想掌握Unix!” 而“不想要,不想要”的整个循环从未停止过。

因此,这是一个简短的答案:坚持做您指尖的操作


所以这是一个故事

我一直想总体上构建程序。什么都没关系;我只是想建造一些东西。最后,我设法继续前进的最好方法就是尝试使用我“听到”的一种工具来做某事。如果我完全失败了,我会继续做别的事情。

这就是我进入游戏编程的方式。

一切始于在Microsoft.com主页上展示的Visual C#Express。整个IDE都可以在我眼前公然使用,因此,我单击了下载链接并立即开始使用它。我看了视频教程,写了很多代码,然后就开始了。

从那时起,我开始左右走动寻找工作。我可以构建Windows窗体应用程序,也可以构建网站。然后,我会考虑可以在项目中包含的功能,但是我永远不会继续构建任何东西。我只是没有足够的动力。

直到Visual Studio中的MSDN新闻提要宣布发布免费的框架来发展您的游戏。那是XNA Game Studio Express v1.0!我马上开始。我在这里和那里制作了一些小游戏。

但是这里有个要点:比起那些不得不认真思考的游戏,我更有动力去开发一款突然出现在我脑海中的游戏。我有一个很棒的想法,那就是制作一个3D蛇游戏,连续进行了两天的研究-当然要休息一下-瞧!一个非常漂亮的游戏,可以正常工作!

当涉及到那些我唯一想打动我的朋友的游戏时。我会花两三个小时放弃它,再也不会再看了。实际上,我至少有两年没有看过它。

因此,这就是故事的寓意:让灵感引导您。不要强迫自己做某事。如果您想制作一个Web应用程序,也许您可​​能要考虑解决一个总是困扰您的问题。如果您想玩游戏,那么我建议您看一下生活中发现的“有趣”的小事情。同样,这一切都归结为灵感。

希望对您有所帮助。


1
+1并不是真正意义上的技术,而是实现某人的真实想法(如果愿意的话,梦想成真)并解决实际问题的技术。
彼得Török

谢谢,这是很棒的建议,也是一个很好的建议。有时我会把自己想做的事情与自己应该做的事情混在一起-但是,如果我有一个鼓舞人心的项目需要关注,那么应该清楚我下一步必须学习什么才能继续推进该项目。我猜,剩下的唯一问题是我想了解其他事情是如何工作的,而这些事情不一定属于项目范围。很难想出一个既鼓舞人心又利用我在帖子中提到的所有主题的项目,但是我有一种接近的感觉:)
donnovan9 2011年

2

我建议在旁边做一个不错的项目。提出一些您想构建的很酷的东西,但是却不知道该如何处理-可能是游戏,编程语言或...

与其选择主题并进行学习,不如了解达到项目下一个里程碑所需的内容。

以我的经验,这将使您集中学习,同时确保学习完成。您只会学到完成项目所需的任何科目,但是(只要您实际上完成了项目)就可以很好地学习它们。最好的一点是,非平凡的项目往往会涵盖各种各样的主题,因此您也不会变得过于专业。

最后,您不仅会学到东西(有时甚至不是您期望学到的东西!),而且您会发现一些闪闪发光的东西可以为您的努力展示。


很好的建议。我经常倾向于将“完成技术书”作为项目,以便为创建“一天”的事物奠定基础,但是现在我开始看到这种方法的缺陷:进展缓慢,知识储备不足和没有什么可显示的!反向听起来更有吸引力:从一个项目开始,然后渴望解决该项目中的下一个挑战的技术书籍。
donnovan9 2011年

0

好吧,你的情况是可以理解的。发生在新手身上。好吧,您目前的工作将在很大程度上决定您余生的工作。您在当前行中工作的时间越长,将很难(几乎不可能读到)切换到另一行,例如系统编程。如果要切换,请在2年内完成。您可以从侧面关注自己的其他兴趣。在sourceforge中寻找项目。


-1

这看起来将需要很多年。学习Unix,它不会过时。


是的,这是问题的一部分...技术来来去去,所以我开始为Silverlight 5即将问世,而我还没有完成关于Silverlight 3的那本书...例如
donnovan9

和Unix也在列表中;)
donnovan9 2011年

@Konrad-如果您不能决定并且不能跟上步伐,那么明智的选择是选择那些变化“更慢”的技术路径,例如* nix,Perl,C,Fortran等。历史悠久,一定会从现在开始。新技术的问题在于它们消耗得太快,并且除非您只专注于它们,否则大多数情况下您不能跟上它们的步伐。
Rook

有趣的是……我正在努力地完成自己的工作,至少…………闲暇时间选择的东西不知所措。但是,我喜欢通过在空闲时间更多地从事诸如OS内部或网络之类的工作来形成对比的想法(这些变化也比较缓慢)。我仍然想做更多。
donnovan9 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.