程序员

周鸿祎谈创业:很多程序员高智商但我一看就知道他们不会成功

僤鯓⒐⒋嵵緔 提交于 2019-12-05 05:35:38
很多人都向往着有一天自己创业,程序员更是如此。如果你想创业,那么该怎样创业,需要有哪些准备,自己还有什么不足等等这些问题你考虑过吗?本文就跟大家分享周鸿祎在接受某媒体采访时给程序员上的创业课。 程序员创业的特别之处 关于程序员创业,我之所以愿意谈我的观点,是因为我是程序员出身,也是从小公司做起来的,我自认为对待很多程序员个人包括共享软件作者和一些小网站还是很好的。我希望分享一些经验和体会。 首先,我想说的是聪明人不一定能成功,很多程序员很聪明,但我一看就知道他们不会成功。 因为我看到了一些问题,而且现在太多程序员存在很多误解。因此,我希望把我的观点告诉程序员。或许有一些程序员能够清醒,某个人可能因为我的某一句话有了感觉,对他以后的成长产生了帮助,这就足够了。 要知道,程序员总是以为自己优秀所以就能成功,其实不是。 中国的程序员大部分是盲目的:看看一些论坛就能够感觉到,要么有一群人自我感觉极端的良好,以专家自居,要么就是一群蓝领埋怨公司和社会环境不行,待遇不好。 应该说,中国程序员创业的成功率也是很低的。放眼望去,中国互联网成功的人士有几个是真正写过十年软件的。事实上,现状和我们所能听到的媒体宣传的故事很不一样。 很多程序员的最高理想就是写一个共享软件,一年可以挣几百万。但我希望谈的不是告诉程序员如何挣钱,挣钱很容易,而是要告诉程序员如何去创业。比如虽然网际快车的作者收入很高

又到了入学季,谈谈软件研发的团队建设

我与影子孤独终老i 提交于 2019-12-05 05:35:24
半个月前,蛮牛游戏专栏作家群中有一个“很好说话的李总”,提了一个问题: “一个问题:程序员是文臣还是武将?” 答案众说纷纭,但是回答“武将”的居多,我意同之。 原因有三: 程序员绝大多数性格比较直,规范性和纪律性和军人类似。 程序员的工作属于开创性的,不是0就是1. 程序员情商普遍较低,相对文档工作者。当然,做为IT从业人员的你,可能会有你的不同见解,仁者见仁智者见智嘛。 既然是武将,那么在研发团队中,团队建设就非常重要了,如: 忙时打仗,闲时练兵。 以我个人做为《程序员》、《团队leader》、《GCDN社区版主》、《程序员》的“奇葩”经验分享一下我对研发团队建设的归纳总结: 团队建设,不仅仅是吃吃喝喝、游山玩水,而是值得leader挖空心思聚焦的头等大事。 团队建设,不是闲时的“温饱思淫欲”,而是长治久安的“国策”。 团队建设,是团队规范化,万众一心,较高执行力的必备条件。 我过去几年的团队建设经验,无怪乎这几点。 一个团队团队忙忙碌碌,无论是研发过程还是市场过程,如果在一定的时间周期内(以年为单位),总体负荷高,平均绩效低,则八成问题是在团队建设上,如新手多、沟通问题、协调不畅、项目返工等等: 忙中有盲也 。 研发团队的首要目标是把任务和指标层层分解,然后再高效率的完成交付。 然,在具体的执行过程中,由于时序问题、资源普遍缺少问题、经验不足问题、配合问题等等会导致这样

据说这些工具可以提高程序员的工作效率

て烟熏妆下的殇ゞ 提交于 2019-12-05 05:35:16
工欲善其事必先利其器,只有具备一整套齐全的软件工具,才能在平常工作中占得先机,更快更高效的完成自己的工作。那么程序员高效率工作都需要哪些工具作为支撑呢?下面是程序员大拿电脑中必备的软件工具。 软件一:文本对比工具 Beyond Compare 是文本对比工具的佼佼者,可以对比两个文件夹,让你做3-way文件比较。Beyond Compare有Windows、Linux、OSX版本,最新版本是Beyond Compare 4。如果你将代码合并到控制系统中,需要查看一个文件同另一个文件之间的差异,Beyond Compare绝对是你的首选。虽然不是免费的,但是不贵,并且易用。 软件二:安全传输工具 Xshell 和 Xftp 是优秀网络管理、安全传输工具。Xshell 是一个安全终端仿真器,可以作为SSH、TELNET或RLOGIN的终端模拟,能够从Windows平台安全连接Linux服务器。Xftp是安全传输客户端,支持FTP和SFTP协议,两者都支持标签化的会话窗口。 软件三:版本管理工具 如果你的团队开发的源代码并没有版本管理系统,那么你的软件开发还处于石器时代。赶快使用一个版式本管理工具吧。CVS 是使用最广的版本管理系统,Subversion 是CVS的升级版,正在开始接管CVS的领地。Git 又是一个不同的版本管理工具。使用什么样的版本管理工具依赖于你的团队的大小和地理分布

程序员和工厂劳工有何不同

拥有回忆 提交于 2019-12-05 04:55:35
如今流行的一个说法是,现在的程序员与工业时期的工厂工人并无二致。 均是富集于人口密集的城市、均是超时劳动、均是遭受资本家的盘剥、均是一架大机器上的螺丝钉,在超过“劳动年龄”之后被弃如敝屣。 基于这些相似点,有些人得出结论,程序员不过是这个时代的“无产阶级”,和以前的流水线工人,纺织厂女工属于同一社会分工和定位。 是否当真如此,这个问题值得仔细推敲一下。 生产资料 个人所处的社会阶层,取决于他能让属于他的生产资料产生的价值。传统的生产资料包括实体的机器、厂房、地皮、原材料、资本和人等等。 而作为信息时代的标志,人人都可以通过网络获取一项虚拟的生产资料——信息。诚然,信息壁垒依然存在,但普通人能接触到的信息总量和质量与信息革命之前的时代相比已不可同日而语。 程序员是与电子计算设备打交道的人,此类设备本质上是信息的产生、加工和分发工具。一台电脑加一条网线,程序员就可以以极其低廉的方式获得他所需要的生产资料。而拥有生产资料的人,就不能再称之为“无产阶级”。 我们已经听过了太多程序员在车库创业的故事,也许这些故事仍然可以称之为“个例”,毕竟,哪个时代没有一些白手起家的人。 但如果某个行业能在全社会掀起创业的热潮,那么就不能再以孤例的眼光看待。只有在该行业的生产资料极大丰富,且对再加工之后的产品有持续需求的情况下才有可能出现这类情况。 是否能以足够廉价的方式获取生产资料

好程序员web前端分享前端 javascript 练习题

筅森魡賤 提交于 2019-12-05 04:40:36
好程序员web前端分享 前端 javascript 练习题 , 正则表达式 表单验证 简单的布局: < div class =" container " id =" dv "> < label for =" qq "> Q Q </ label >< input type =" text " id =" qq ">< span ></ span >< br /> < label > 手机 </ label >< input type =" text " id =" phone ">< span ></ span >< br /> < label > 邮箱 </ label >< input type =" text " id =" e-mail ">< span ></ span >< br /> < label > 座机 </ label >< input type =" text " id =" telephone ">< span ></ span >< br /> < label > 姓名 </ label >< input type =" text " id =" fullName ">< span ></ span >< br /></ div > js代码: checkInput ( my$ ( "qq" ), /^\d{5,11}$/ ); //qq的

什么是最优秀的程序员?

我是研究僧i 提交于 2019-12-05 04:29:20
在此我们就不说那些获得图领奖,或者国外的比尔盖茨,国内的李彦宏、马化腾这种事业有成的一方大佬了,因为这样的人也是属于时代的产物。 我们从6个方面来评论吧! 沟通:良好的沟通是一个优秀程序员的必备素质,否则再好的技术,再好的方案也难以施展。楼主就见过一个沟通能力不错的程序员,公司的几次技术革新就是在他的促进下完成的,那时他还是一个普通程序员。 技术:一个好的程序员,技术方面其实不是最重要的,但最起码要能将需要的技术讲明白,搞清楚。最起码要能让别人通过代码的注释就看懂你的代码,你解决不了的问题,要自己尽力试着解决,实在无能为力也可请教他人。 解决问题的能力:程序员最开始的诞生时候的使命是什么?是为了解决问题,你觉得一个个的搜索文件中的汉字很费事,于是做了个有搜索功能的程序,这就是解决问题的能力。 性格:一个好的程序员,性格一定是与人为善的,楼主见过一些程序员,技术不大,脾气挺大,觉得自己技术比别人牛,就瞧不起别人,这样的程序员其实很多的,因为觉得自己白天黑夜的去学习知识,而你呢游手好闲,他不仅要跟你合作还要把自己学习的只是教给你,他的确实不情愿。这其实可以理解,但如果想成为一个好的程序员,让自己的意见想法得以推动,这样的性格会得罪人,会给自己制造层层麻烦,阻碍,记得,保持良好的情绪是一个优秀程序员,职场工作人员的要素。 分享:有句古话,“独学而无友,则孤陋而寡闻”

程序员如何快速学习一门新技术

痞子三分冷 提交于 2019-12-05 02:33:10
有几个好的博客可以参考: https://www.kancloud.cn/foruok/ramble_programmer/85791 https://www.cnblogs.com/huang0925/p/4735689.html b站: https://www.bilibili.com/video/av62373078/ b站笔记: 阶段一:认知了解阶段(第一印象很重要) 1.该技术的概念和方向 2.该技术解决了什么问题 3.同类技术有哪些 4.该技术的主要组成部分 5.该技术为什么出现 阶段二:学习语法,用法 途径进阶1.视频教程(效率低) 2.快速上手视频 3.入门博客 4.权威书籍,官方文档 阶段三:局部练习,小型实战,搭建环境(记录总结,写博客写博客写博客!!!) 阶段四:上手实际项目或开源项目(先打牢基础) 阶段五:(终极目标)造轮子,撸源码 总结: 1 了解技术应用场景:这一门技术是用来解决什么问题? 2 了解技术出现背景:没有这一门技术之前是怎么解决这个问题的?(都用了什么技术) 3 了解技术组成部分,比如spring 要 了解ioc和aop 4 快速上手:看官方文档 或者 快速搭建的博客和视频, 写demo 5 深入学习:通读技术文档,或者该技术的权威书籍 6 项目中实战。 来源: https://www.cnblogs.com/yangchensheng/p

设计能力(二)

做~自己de王妃 提交于 2019-12-05 02:27:43
你如何考虑服务化 # 集中式与分布式 要谈微服务,那么必须建立在分布式的基础上,对于一个集中式系统也无需谈微服务。 # 集中式 集中式系统用一句话概括就是:一个主机带多个终端。终端没有数据处理能力,仅负责数据的录入和输出。而运算、存储等全部在主机上进行。 集中式系统的最大的特点就是部署结构非常简单,底层一般采用从IBM、HP等厂商购买到的昂贵的大型主机。因此无需考虑如何对服务进行多节点的部署,也就不用考虑各节点之间的分布式协作问题。但是,由于采用单机部署。很可能带来系统大而复杂、难于维护、发生单点故障(单个点发生故障的时候会波及到整个系统或者网络,从而导致整个系统或者网络的瘫痪)、扩展性差等问题。 # 分布式 分布式就是一群独立计算机集合共同对外提供服务,但是对于系统的用户来说,就像是一台计算机在提供服务一样。分布式意味着可以采用更多的普通计算机(相对于昂贵的大型机)组成分布式集群对外提供服务。计算机越多,CPU、内存、存储资源等也就越多,能够处理的并发访问量也就越大。 拿电商网站来说,我们一般把一个电商网站横向拆分成商品模块、订单模块、购物车模块、消息模块、支付模块等。然后我们把不同的模块部署到不同的机器上,各个模块之间通过远程服务调用( RPC )等方式进行通信。以一个分布式的系统对外提供服务。 # 服务化 提到分布式,一个不得不提的词就是服务化

程序员如何提高自己的逻辑思维和技术水平

房东的猫 提交于 2019-12-05 00:17:26
版权声明 :本文为北京尚学堂原创文章,未经允许不得转载。​ 菜鸟程序员如何提高自己的逻辑思维和技术水平 1、 学习一门脚本语言 学习一门脚本语言 可以让你摆脱对底层语言的恐惧感,脚本语言可以让你很快开发出能用得上的小程序。实践项目: 处理文本文件,或者csv (关键词 python csv, python open, python sys) 读一个本地文件,逐行处理(例如 word count,或者处理log) 遍历本地文件系统 (sys, os, path),例如写一个程序统计一个目录下所有文件大小并按各种条件排序并保存结果 跟数据库打交道 (python sqlite),写一个小脚本统计数据库里条目数量 学会用各种print之类简单粗暴的方式进行调试 学会用Google (phrase, domain, use reader to follow tech blogs) 为什么要学脚本语言,因为他们实在是太方便了,很多时候我们需要写点小工具或是脚本来帮我们解决问题,你就会发现正规的编程语言太难用了。 2、 用熟一种程序员的编辑器(不是IDE) 和一些基本工具 Vim / Emacs / Notepad++,学会如何配置代码补全,外观,外部命令等。 Source Insight (或 ctag) 使用这些东西不是为了Cool,而是这些编辑器在查看、修改代码/配置文章