程序员、架构师,技巧、感悟与职业分享 写给即将入行的程序员的一封信

写给即将入行的程序员的一封信 写给即将入行的程序员的一封信写给即将入行的程序员的一封信写给即将入行的程序员的一封信写给即将入行的程序员的一封信 立即下载
首先,欢迎来到程序员的世界。在这个世界上,不是有很多人想创造软件并解决问题。你是一名hacker,属于那些愿意做一些有挑战性的事情的人。

  “当你不创造东西时,你只会根据自己的感觉而不是能力去看待问题。” – WhyTheLuckyStiff

  对于下面的文字你不必完全接受,所有这些来自一个其貌不扬的程序员。我喜欢把事情做到最好,而不是对原来的东西修修补补。

  仅仅是因为爱好开始做一些创新,这是一个很好的开始!如果你说“我要先学习一下再开始做”那么你永远不会真正开始。每个人都需要从某个地方开始,所以现在打开你的编辑器开始写代码吧。

  下面是一些很重要的建议,虽然有人并不认同,但我保证你看完我的分析以后会站在我这一边。一开始,先不要管算法和数据结构。大多数简单的程序不需要用到算法和数据结构,所以当你真正需要时再去学习。编程一段时间以后,你就会知道在哪些地方用到他们。这时知道算法的名字并了解它们的功能,然后找一些相关的论文去理解算法并动手编程实践。如果没有现成的函数库(其他程序员提供的可重用代码),你用自己喜欢的编程语言来实现它。

  0. 选择一门好的编程语言,一门你自认为可以用它快速地做出一些有用东西的语言。

  不要选择C语言作为你第一门编程语言。也许选择C语言会给你一种过时的满足感。虽然它比早期的汇编语言提供了更好语法描述,但是今天C(或者C++)不是能够快速编写软件的语言。毫不偏袒的说,我建议你学习一种动态语言。选择一种你觉得语法(文档)让你使用起来更舒服的编程。为此,你可能需要花费一些时间来在几种不同的语言之间进行比较。这么做目的不是为了让你感觉更好或者让编程更容易。更快地完成自己的作品并且能够看到成果,才是激励你编程的源动力。不要选择一门需要某种重量级的IDE(IDE是一种能够帮助你编写并运行代码的工具)才能轻松编程的语言。你所需要的仅仅是一个文本编辑器。(注:原文并没有标号,是我们加上的,请大家别忘记了哦,我们是从零开始数数的。:) )

  1. 选择一个好的编辑器。

  编辑器对程序员而言,就是像是弓对弓箭手一样重要。这里有一些推荐的编辑器:

  • SublimeText 2 – 如果你刚开始编程,推荐使用SublimeText 2
  • Emacs – 学习曲线陡峭,快捷键复杂。如果你想定制自己的使用习惯,需要学习Emacs Lisp.
  • Vim – 不仅操作简洁而且它默认包含在linux的发行版中,所以深受大家欢迎。我开始使用了2年Emacs。由于Emacs的快捷键操作过于复杂,我的双手开始经常疼痛,这迫使我转向了Vim阵营。了解Vim的快捷键是非常有必要的。当你在远程的服务器上编辑代码时,你唯一不需要安装的编辑器就是Vim。

  注意!Emacs和Vim可能已经成为成为古董了。但是,它们都具备一些现代编辑器多不具备的功能。


   2. 选择一个你可以从中学到东西的操作系统

  Windows不会教会你任何东西。使用Windows你唯一学会的就是打开一个exe(可执行)文件来安装软件和使用它。可能刚开始的时候你会觉得很酷,但是长远来看,如果你立志成为一个web开发人员,可能还是要具备基本的linux知识,尤其是当你要发布程序的时候。Linux也允许你根据自己的要求来定制程序。Macs也很酷,但是我认为你现在经济上还负担不起。

   3. 不要通过复制粘贴来做备份

  一个新手程序员通常会把文件复制粘贴到一个临时目录下面来进行备份。这也许也是他们唯一知道的方法。不要那么做!你需要使用版本控制软件。我强烈推荐使用Git,它是个目前很流行的版本控制工具,而且使用起来非常简单。对一个Git新手,有一个良好的社区和很多参考资源来学习。(除了Git之外,还有mercurial, darcs, fossil等等。但是我还是建议从Git开始,我有很多的理由来支持Git,这里就不多费口舌了。)

   4. 知道去哪里寻求帮助

  参加一个和你相关的(你使用编程工具相关的)程序员社区。比如StackOverflow就是程序员的Facebook。那里没有消息状态和回复,取而代之的是问题和答案。除此之外还要学会使用IRC。IRC是一种老式的聊天室,现在还在被大多数开发人员用来分享技术信息和帮助解决问题。

   5. 培养你的礼仪

  知道什么时候问问题。你遇到的大多数问题都是别人碰到过并且在Internet上能够找到解答的。在IRC或者任何论坛里发问之前,先搜索一下google(或者blekko)来看看是不是有现成的答案。在IRC上问问题需要有耐心。永远记住,人们只是处于好心来免费帮助你。有时你发问以后需要几个小时才能有回复。所以,耐心等待。除此之外,记得问问题的时候要礼貌。世界很小,你怎么对待别人,别人就会怎么对待你。

   6. 结交朋友,技术书籍只能教你解决常见的问题(他们说:书是死的)

  当你在捣鼓一些程序或者从程序的作者那里学习,你能学到一些书本上没有的东西。当你散步的时候,请和遇到的朋友打招呼。你肯定不是唯一的程序员。和其他的程序员一起交朋友一起工作。你会注意到,当一群技术爱好者在一起的时候,不论话题是从什么地方开始,最后总是以技术话题收尾。这是必然的现象。所以你可以尽情参与。在你的黄金年龄努力编程,我能告诉你的是,我在开始6年前寻找朋友并开始讨论编程,从那时起才学到那些书本和文章不会我的东西。所以我总是说,我的编程经验有6年,因为只有那个时候开始,我才开始与人交流并开始感觉真正地开始学习编程。

   7. 参加开源项目

  为开源项目编写代码能带来回报。这不仅仅是帮助别人,你留下的代码会被其他人使用或(可能)改进。当别人给你的代码添加功能或者提出修改意见时,也是在提高你的编程水平。开源软件项目不一定要是一个大工程,编写一个下载youtube视频的小程序也是很有用的。更重要的是,你会惊奇地发现你编写的代码会成为与他人有效沟通的桥梁。其实关于参与开源项目,伯乐在线编译的不少有关程序员的文章都是如此建议,比如Justin James 的《 程序员开始编程生涯的5个建议》。


  最后,若干年之后如果本文的内容曾经对你有一点点的帮助,作为回报请写一封类似的信给希望开始编程并不知如何入手的朋友,有可能的话请纠正本文中过时的内容。
   

  智者说过,掌握某个东西需要10年或10000个小时,也就是汉语中的“十年磨一剑”,所以不用着急。



     本文转载自:http://www.jobbole.com/entry.php/903   转载请注明出处

2024最新版:MacOS Sonoma系统下CocoaPods安装全攻略(解决Ruby版本冲突) 本文详细介绍了在MacOS Sonoma系统下安装CocoaPods的全过程,重点解决Ruby版本冲突问题。通过HomeBrew安装最新Ruby版本,配置环境变量,并正确安装CocoaPods,帮助iOS开发者顺利管理项目依赖。文章还提供了常见问题的解决方案和优化配置建议,确保开发环境的稳定性和高效性。 阅读详情

相关推荐

VMware 17+Win10 22H2全栈配置指南|UEFI优化+GPU直通实战

​VMware下载:下载官网版本的Wmare 17 Pro (点击直达链接 )企业用户可选永久许可证,个人学习也可以直接安装使用,Win10镜像:微软官网下载22H2版ISO文件(附官方纯净版渠道 )

waicsdn_haha的博客 4019

经营10多年的科技网站月光博客每月可以赚多少钱?[图]

经营10多年的科技网站月光博客每月可以赚多少钱?相信你也想知道这个问题吧,我反正是充满了好奇。月光博客是十多年前就已经崛起的一个优秀博客,主打科技主题,曾经引得很多粉丝关注,而我也是他的读者,但随着互联网的发展和变迁,月光博客的流量没有以前那么大了,因为谷歌的离开等因素,都对博客写作和运营产生了影响。最近在坚持写博客,也希望自己读点书,主要是读一些名著吧,从中收获一点文学知识,然后顺便写点儿东西给...

minemi的博客 2316

【mip-NeRF】使用一组二维图像渲染3D场景视频(mip-NeRF论文复现)

本文对mip-NeRF模型的pytorch实现进行了复现

Ryan2k的博客 1841

致迷茫的程序员一封信——我的程序生涯

如果你现在很迷茫,不妨看看

luo981695830的博客 5306

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

第10章《VTK自定义部件Widget》

是用于交互式操作 3D 场景的组件,例如移动对象、调整尺寸、创建标注等。VTK 提供了一些内置的 Widget,如。,用户可以点击鼠标,在 3D 场景中放置一个点。负责绘制一个点,并控制其颜色、大小等。,可用于 3D 标注、对象拾取等应用!等,但在某些应用中,我们需要。这样,我们就创建了一个。

yumeiguo的博客 523

月光博客

http://www.williamlong.info/archives/2769.html 里面有很多关于编程的文章,讲大道理的

旋转木马的IT小窝 4530

windows server 2012安装升级MySQL

本篇文章主要介绍的是windows server 2012 R2操作系统安装升级以及过程中遇到的问题和对应的解决方法。(数据库低版本为:mysql-5.7.27-winx64;数据库数据库高版本为:mysql-5.7.44-winx64;提示:以下是本篇文章正文内容,下面案例可供参考。

qq_42776231的博客 780

月光博客精选文章推荐:第三期

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34082789的博客 569

工业预测性维护实战:振动分析+Transformer预警系统构建指南

摘要:本文聚焦工业设备预测性维护难题,提出基于振动分析与Transformer模型的全栈解决方案。通过低成本硬件选型(单传感器¥380)实现设备振动信号实时采集,利用边缘计算单元完成特征工程(RMS、峰度、峰值频率提取),并在云端部署Transformer时序模型进行异常预警。某风电龙头企业实践显示,系统将故障误报率从38%降至6%,维护成本降低58%,非计划停机时长减少87%。文中提供完整的边缘端特征提取代码、云端模型架构及实施流程,适配ISO 13373振动分析标准,为制造业设备健康管理提供可复用的工程

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 625

Qwen大模型参数解析

Qwen系列模型的参数主要分为(决定模型结构)和(控制生成行为)两类。由于该系列已迭代多个版本,参数设计也在不断演进,我会结合最新版本为你进行分层梳理。

yeyiboy的博客 164

写给即将入行的程序员的一封信 (转)

文章地址:http://www.jobbole.com/entry.php/903-%E5%86%99%E7%BB%99%E5%8D%B3%E5%B0%86%E5%85%A5%E8%A1%8C%E7%9A%84%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9A%84%E4%B8%80%E5%B0%81%E4%BF%A1 转载于:https://www.cnblogs.com/fe-...

weixin_30556959的博客 95

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

写给5年前自己的一封信 (转)

Kshape:你好吗?你那边现在应该是2002年,5年了,我虽然时常想念你,但是却一直不曾提笔给你写信,我后来才知道,这5年来你会经历许多许多,如果我早点让你看见这封信,也许你会好很多,可是很多事情是没有假设的,对吗?你应该理解。现在是1月,你那边应该正在准备高考吧,不要为以后学什么专业而伤脑筋了,希望你不要头脑发热想着学什么工商管理之类的“热门”了,因为作为过来人,我可以很负责任

起跑线的专栏 1178

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

写给《我也能做CTO》作者的一封信

Hi,亲爱的高老师,您晚上好~! 我在图书馆呆了两天,刚读完了您这本书,收获良多。今年的6月,我已经毕业了。来到社会,总觉得自己似乎少了点什么…… 我呢,有点害羞,有点好奇,有点天真。表面看,大学我似乎很忙,参加了很多社团很多活动,就只是玩玩没能很好的锻炼自己,五花八门的技术都找来看看,就没一样特别专的。看了您的书,便知道大学期间确实浪费了很多,最惨的是竟没有真正思考过自己的职业规划...

weixin_30359021的博客 104

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

中国程序员生存现状?

来源 / 算法与数学之美(id:MathAndAlgorithm)如果没有程序员,整个虚拟世界都会消失不见。全中国7亿多网民,再也不能愉快滴发自拍,看视频,打游戏,甚至连...

湾区人工智能 367

赠人玫瑰,手有余香:架构师北京同盟活动侧记

互联网的协议栈非常丰富,但是有一个不动点,那就是IP层,即网络协议的蜂腰模型。在我们的工作和学习中,一次对话, 一个bug 的解决,一次代码练习,一次code review 或者架构评审,对新知识的一次系列学习,通勤过程中的一个灵感......都可以成为写作的素材。写博客的另一个原因是记录我家少年的成长,每年在他生日的时候,我们都会给他写一封信,最早是纸上的文字,后来迁移到了公众号,例如,那是自己在高通工作的时候, 参与并见证的BREW整个生态系统的形成,五年的工作经验,几十万字的日常积累,最终成书。

我相信...... 921

一篇程序员写给 自己35 岁时的文章

这篇文章,我足足写了2个月,写了删,删了又写,很是纠结。本来文笔就不好,所以写来写去,又删来删去,终于纠结了许久,今天,写完了。分享给大家,希望对大家有所帮助与借鉴。大家凑合看吧。。 说实话,在这之前,我从来没有想过我的35岁是个什么样子? 也从来没有想过,35岁这么尴尬的年纪这么快的到来。特别是这几年互联网行业的兴起、没落,一波又一波的预示着很多人的中年危机。 我一直喜欢说一句话:危机、焦虑都是自己给的,别人给不了你,别人也贩卖不了给你。准备好,放平心态,所有的危机、焦虑那都不事儿。 即来之,则.

weixin_51393513的博客 183

一位在澡堂子里写程序的女程序员!

见字如面,我是军哥!程序员这个群体,必定是男人的天下,女孩子是很少的。我之前带团队,如果有不错的女程序员来面试,那必定是想尽办法招进来的。今天的文章主人公-——堂妹,是一位喜欢思考、兼有思...

chengjun_java的专栏 287

IT学子成长指导类文章链接(六)

链接:IT学子成长指导类文章链接(一)(二) (三) (四) (五)“IT学子成长指导”类我收藏过的好文(六期:至2013年4月20日)  转载陈皓老师 再谈“我是怎么招聘程序员的”(上) 转载陈皓老师 再谈“我是怎么招聘程序员的”(下) cs硕士妹子找工作经历【阿里人搜等互联网】  一个即将毕业的java笨鸟对于编程学习的回忆  在企业工作一年多的几点感悟  随想录(程序员和收入)  在企业工作

迂者-贺利坚的专栏 3582

致所有IT同胞的一封信

或许你现在和我一样,独自一人在电脑跟前,一边看着技术文档或者苦逼的在和网友聊着什么,或者你现在依然在单位加班修改程序,面对浩瀚的代码,紧皱眉头,苦苦的思考着如何解决bug,或者你正在嘈杂的机房环境下,调试着网络设备,或许……     今晚跟51cto的网友聊天,又一次聊到了关于爱情以及生活,以及苦逼的IT生活,让只有25岁的我,但是工作已经三年的男人感触颇多,希望给众IT男,不管是程序员也好,还

上班搞IT,下班搞ITF。 1619

程序员跳槽的7个常见理由,最后一个有人能看懂吗!

程序员辞职或跳槽的几个常见理由有哪些?来源:https://www.jianshu.com/p/092f93b02940如果你觉得文章不错,欢迎点赞分享到朋友圈致转行AI...

湾区人工智能 718

毕业求职之际——给师弟师妹们的一封信

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34032621的博客 259

精彩博文收集目录索引

一.IT人生感悟 技术人员,为什么会苦逼 - 小洋 燕洋天 老鸟对菜鸟的一些建议 - 张逸如果你喜欢上了一个程序员小伙_献给所有的程序员女友 - 邹华栋分享8年开发经验,浅谈个人发展经历,明确自己发展方向 - 风尘浪子王淮:我在Facebook的十点经验分享那些年我在网易积累的工作经验程序猿的执业修养(五)——勤学好问,自我批评 - 陈彦铭 敏捷开发:如何通过回顾

SunCherryDream的专栏 822

迅雷CTO李金波:致创业者的一封信(转载自程序员网校)

偶读前迅雷CTO李金波的一篇文章,深有同感,写出了我一直未能写出的东西,特收藏,以便日后回顾。原文地址:http://www.myhada.com/talents/letter.htm我的创业感悟:写给正在寻找机会的你李金波 我在迅雷的6年里,经历了许多困难。最折磨人的,是寻找人才;最惋惜的,莫过于看着优秀的人擦肩而过。今天再次创业(http://myhada.com),再次招聘,发现大家的顾虑,并没有多大变化。整理下我对这些问题的思考,我想,对大家可能有帮助。要不要创业?常常感到非常幸运,象我这样既不聪明

JAVA之路 628
上一篇: Thread的setDaemon(true)方法的作用
下一篇: Ubuntu 11.04 安装后要做的20件事情
freewind
博客等级 码龄16年 136粉丝 108原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值