导航:首页 > 程序命令 > 边界控制程序员

边界控制程序员

发布时间:2023-08-18 23:45:33

A. 如何打好java的基础

从大学到现在,我使用Java已经将近20年,日常也带实习生,还在公司内部做training,所以可以分享下我的经验,希望对你有用。

因为是在工作中培训,就必然有两个约束:实用、时间紧,因此就不能像大学那样,把所有的知识点都面面俱到的讲到。而只能挑基础的,实用的,难理解的讲。至于其他边边角角的知识,就一笔带过。一则没有时间,二则不常用,再则既使讲了,学生印象也不深刻。总之一句话:“好钢用在刀刃上”。

下面,就根据我的实践,具体谈下学习过程:

1.基础知识

我学习java的时候,先是通读了《Java编程思想》,然后是《Java核心技术》。当时这两本书还不像现在这么厚,而刚才我把案头的《Java核心技术》第9版翻了翻,上下两册已经1700多页了,可想而知,如果要把它通读一遍,且不说把所有的代码都调通,就是当小说读,估计也需要些时间。

但我现在教学依然首推《Java核心技术》,主要是体系完整,实例多,可操作性强。但对初学者,我一般是只讲前6章,也就是下面的内容:

B. 程序员的必备技能有哪些

数组、字符串与哈希表
任何受过专业训练的程序员,对“数据结构”这门课程中涉及到的各种数据结构都不会陌生,但是在实际的编程工作中,大部分的数据结构都不会用到,而且也永远都不会用到。虽然如此,深入地理解基本数据结构的概念和实现细节,仍然是每个程序员的任务。这不仅仅是因为,掌握这些知识将有利于更加正确和灵活地应用它们,而且也是因为,对于语言背后的实现细节的求知欲是一个优秀程序员的素质。
正则表达式
在程序员日常工作中,数据处理占据了相当的比重。而所有的数据之中文本又占据了相当的比重。文本能够被人理解、具有良好的透明性,利于系统开发、测试和维护等就必需要有一定规律遵循一种规则,当你掌握一门正则表达式语言,就能够培养你编程的直觉本能,达到较高水平,也能够在实践中提供更高的开发和执行效率。
调试
软件调试是软件工程的一个重要部分,其过程出现在软件工程的各个阶段,从最初的可行性分析、原型验证、到开发和测试阶段、再到发布后的维护与支持,都有软件调试过程参与。学习和灵活运用软件调试技术,不仅可以提高程序员工作效率,而且有利于对代码的感知力和控制力,加深对软件和系统的理解。此外,调试技术是解决各种软件难题的一种有效武器,它直击要害、锐不可挡,相对其它间接方法具有明显的优势。软件有大美,调试见真功!
两门语言
任何一位职业化的软件技术人员都会将编程语言当成自己的利器。它们代表了开发人员对计算机本身的理解与对软件开发工作的执着。同时,建立在编程语言之上的基础也标志着程序员的职业化道路发展到了一个新的阶段,而单一语言又有一定的局限性,软件开发的本质就是处理信息以及数据。一种专门用来处理数据的脚本语言常常是走向更加职业化的必备武器之一。所以精通两种语言,对于任何一个开发人员来说,并非必须,但是对于一个专业化程度较高的开发人员来说,又常常是必要的。
一个开发环境
随着技术的进步,IDE已经越来越强大,远远超出我们心目中的最初形象,越来越多的内容被涵盖到IDE中,从需求分析、业务建摸大批软件发布,IDE已经逐渐覆盖了软件开发的整个生命周期。
SQL语言
说起SQL,绝大多数程序员对其作用都了然于胸--用来访问数据库嘛。确实,数据是信息系统的核心,没有数据的计算机应用没有任何意义。信息系统中,大量数据本质上就以实体--关系的模式存在,而RDBMS支持SQL这么简单但表达能力丰富的访问接口,同时还提供了内建的事务ACID特性保证和故障恢复能力--因此,RDBMS理所当然地成为了大部分信息系统的标准数据存储介质。于是,无论使用何种语言开发信息系统,从C、C++,Delphi到Java,从Perl、Python到Ruby,使用SQL访问RDBMS都是我们必须修炼的武功秘籍。
编写软件的思想
说起程序员的武器自然少不了技术书籍,它们就像是拳谱、剑经、虽然不能马上转化为巨大的伤害输出,但假以时日勤以研读,有朝一日成为傍身绝学也是说不定。不过虽然各类技术书籍汗牛充栋,除去入门时浅显易用的参考和复杂深奥的学术专着,能够让所有程序员常看常新的心法秘籍还是不多。

C. 有哪些老程序员都知道对新手很有用的经验

一说到程序员,想必大家的第一印象就是头发少,很大程度上就是因为压力大导致的,有生活压力,也有工作压力。

今天说说工作方面的压力,想必看到这个问题的小伙伴都有一个认知,就是一个项目往往比预期的要长,说不定从哪天开始就加班了,一出现BUG真的要人命。此时,考研新老选手心态的时候和经验的时候了,老程序员或许能从容应对,新手可能完全不知错所。

七、个人信息一定要保管好

这些信息包括户口档案、社保、公积金等信息,程序员新手可能跳槽比较频繁,有人甚至还换个城市工作。除了户口可能其他的信息都乱了,可能当时觉得不那么重要,但是十年、二十年后,可能会非常重要。

八、几条名言

·工作日志可以提升脑容量;

·不要先写框架再写实现,要反过来;

·重构/优化/修复Bug,不要同时做;

·简化开发流程,加快迭代速度;

·纸笔是最好的工具,其次是markdown;

·画出结果,一目了然。

·首选明文文本,二进制、加密压缩等到时候再加;

·要学会进行清晰的命名;

·问问题前先调查,要问到点上。

·不要小看程序员

D. 一个程序员的创业经历(一)

曾经的创业热潮让很多大厂的程序猿加入到了创业大军,但往往发现“理想很丰满,现实很骨感”。我也是这样的一员,国内“C9联盟”大学毕业,然后去美国常春藤名校读了个Master,毕业后在一家世界前五的软件公司工作,后来裸辞回国在一家一线互联网公司做数据挖掘/机器学习的工作,一切都按部就班的在给个人简历添砖加瓦,不过随着一个加入创业团队的决定,就开始了一段不一样的经历,之后的5、6年时间经历了多个创业项目。一直埋头向前冲,最近停下脚步回顾了一下过往经历,想写点东西当作纪念,也算是给想要或正在创业的程序猿们一个案例供参考。

当时选择从大厂出来加入一个创业团队,也并不算很盲目。首先,行业是当时很火爆的互联网金融,其次核心团队成员来自金融、法律、互联网等不同领域,都是国内顶尖大学毕业的高材生,而且也有不错的工作经验和人脉的积累,最后种子轮的资金大概有700多万,股东也有银行系出身的大佬,看起来是一个值得搏一把的机会。

我与其中一个创始人曾是同事,被游说出来作为技术团队的leader,他负责产品,我负责研发,先简单介绍下核心人物(化名):

刘备:公司CEO,金融领域,做业务出身,对各种金融产品比较了解,在各大银行及政府部门都有不错人脉,熟悉生意场上的各种潜规则,有些匪气但并不是那种很有领导威严的风格。

关羽:公司CTO,我的前同事,互联网产品出身,专业能力很强,既聪明又踏实肯干,待人接物也不错,属于实干型,但一样也是一直在大公司工作,内容相对专一,且没有金融领域经验。

张飞:公司法务总监,法律专业,本人也像法律法规一样严禁,无论工作上还是生活上说话做事都很严谨,被朋友形容为任何跟黄赌毒沾边的东西都跟他不沾边,工作之外并不善言辞,但是为人很nice。

在被前同事关羽游说的过程中,遇到了第一个“丰满的理想”,因为我是做大数据的,所以关羽跟我说出了他对技术和产品发展的规划,将来是一定要做金融大数据的,有很多场景可以做,技术上也会有很多挑战。但既然是“大数据”,首先就要有足够多的的数据,也就是业务要发展的足够好才会到这一步,这点我心里还是很清楚的,所以接受邀请自然也不是因为这个愿景。

既然已经决定了大干一场,也就不瞻前顾后了,出来后就开始着手组建技术团队,那时候创业公司还是一片欣欣向荣,很多大厂的程序员也都愿意考虑创业公司的机会,所以首选就是从公司前同事下手,可惜一个都未能邀请成功,有一个曾经谈的比较深入,但最后去了一家拿到A轮的做餐饮供应链的B2B电商,之后复盘考虑主要可能有几个原因:

1. 金融领域本身水就比较深,对普通的程序员来说未实际接触过的话感觉有点心里没底;

2. 种子轮公司毕竟风险更高,而且使用到的技术也更初级一些,若没有成功,对技术积累来说有一个断档;

3. 与前同事共事时是平级,但出来后可能变成向你汇报,或许会有心理落差,之前谈得比较深入的同事是被他一个师兄叫走的;

4. 公司给出的offer还不足以让人放弃稳定的大公司工作加入到小团队中。

为了控制成本又不能找猎头,所以接下来就只能通过招聘平台了,拉钩、智联什么的,虽然经历了一些波折,但最终组建了一个还算蛮有战斗力的团队,在外包+兼职+自己团队的组合之下,初版系统两个月左右就上线了,期间产品、技术、法务之间的磨合也越来越好,貌似一切都在正确的轨道上运行。

但系统上线之后才是真正考验的开始,公司面临的第一个问题就是平台上是否有足够多优质的理财产品,虽然前期已经准备了一些由股东支持的理财产品随时上线,但这并不是长久之计,所以在系统开发期间刘备也一直在洽谈合作事宜,时不时的带来一些振奋人心的消息,但结果证明没有最终签署合同的口头协议都是无效的,这就导致前期平台上产品匮乏。

产品匮乏自然也就无法吸引足够多的用户了,用户量少就更难去谈合作了,致使业务一直处于发展缓慢的状态。商务谈判并不像技术开发一样可以评估工时,安排工期,一个合作谈成之前进展都是0,签合同之后才是100%,中间进度很难评估,而过多的打鸡血也会有副作用产生,慢慢的技术团队的成员就开始对公司不停跳票的业务发展有些担忧。这仅仅只是一个导火索,接下来会引发一系列的事件和决策,每一个可能都不是决定性的,但累加到一起导致了公司最终的结局。

当业务停滞的时候,没有太多创业经验的团队开始有些发慌,尤其是账户里的资金越来越少的情况下,这时开始了两个所谓“自救”的行为,一个是寻求新一轮的融资,一个是尝试一些新的产品或接一些快速赚钱的项目。前者的目的也是很明确的要尽快的补充资金,所以很容易陷入到一个2VC的状态,就是一味地迎合投资人的偏好和想法,迷失了自己最核心的价值和初衷,最终也没有拿到投资;后者无异于饮鸩止渴,盲目的去接一些无关的项目,导致自己的核心产品和平台没有持续的迭代和优化,对用户就更没有吸引力了,而且找到的项目也很难cover技术团队的工资成本,变成了做一个赔一个。所以这两种方式只是勉强支撑团队而已。

而往往在最艰难的时候才会爆发出更多平时被隐藏下去的问题,首先,刘备和关羽、张飞都是大学同学,作为CEO他对团队并没有一个绝对的主导和控制权,而关羽负责人数最多的技术团队,他们之间的分歧导致了公司整体战略和团队方向的不统一。其次,公司的早期股东是4个自然人为主,在公司一个没有一个比较好的营收的时候,他们之间也出现了一些问题,尤其是其中某一个股东跟刘备的关系最紧密,导致其他股东质疑公司的财务问题,最终导致股东不愿意再继续注资。最后,同样是因为自然人十大股东,就导致监督机制缺失,作为法务负责人的张飞,由于业务能力比较强,经常被股东委托解决一些私人事务,让他不胜其烦,成为了第一个离职的核心人员。

最终我们的公司也算是有个归宿,被一家金融机构给收购了,但这显然不是因为我们做的足够出色,而算是无奈把公司卖掉,回收点剩余价值吧。就这样第一段的创业经历就这样草草落幕,事后复盘总结,有以下几个重要的经验吧:

1. 股东组成,早期可以接受个人股东,但不宜太多,占股要有权重等级,而且要有完善的监督机制,如果个人股东占股比例接近,没有主导性,监督机制又不健全,很容易出现股东之间的猜忌和分歧,对初创公司是致命性的伤害;

2. 创始团队,团队成员能力互补、互相信任是基础,所以经常会有同学、同事一起出来创业,之前大家可能是朋友,或者感情比较亲密,但任何团队都要有领头人,要有灵魂人物,在有重大决策时能拍板的人,不能因为顾及对方感受而让决策层出现长时间的分歧;

3. 团队组成,根据公司或业务类型来合理配置团队,很多时候在资金还充裕的情况下会盲目的扩充技术团队,导致当业务没有起色的时候技术团队的开销成为了公司沉重的负担,任何一个公司都不能只考虑技术开发,运营、市场、销售等等都要合理配置;

4. 成本控制,创业初期,为了吸引早期员工公司提供了很多福利,包括免费健身、周五团建、饭补车补等等,而且高新聘请各种大牛,一副大干一场的态势,最后发现业务还没什么起色时初期的融资就已经消耗大半,而且很多时候大牛们也没有用武之地,造成了极大的浪费;

5. 技术边界,所谓技术边界就是创业初期你的产品在技术上要做到一个什么程度,很多时候技术出身的leader容易陷入到追求技术完美的误区,觉得一个功能在技术上没达到理论上的完美就不上线,但永远都有做不完的需求,一个好的技术leader要清楚怎样的优先级最能支撑公司的快速发展,一个功能做到什么程度就能满足当时客户的需求,人力资源就那些,要最大化的发挥效用。

E. 程序员,感觉技术停滞了怎么办

你是一名程序员,感觉技术停滞了。那你就去深造呗,就是你可以选择各种的程序任务去做。哦!针对自己有弱点的地方,然后去学习。活到老,学到老。

阅读全文

与边界控制程序员相关的资料

热点内容
线程javalock 浏览:896
c语言编译运行结果查看器 浏览:112
androidpx转dip 浏览:841
西藏编译局是什么级别 浏览:1001
php提交代码 浏览:597
如何用命令查找并删除代码块 浏览:582
python初学路线图 浏览:534
matlab遗传算法旅行商问题 浏览:304
将办公软件加入加密软件的进程 浏览:724
联想小新pro14编译器 浏览:462
为什么服务器要关掉icmp协议 浏览:855
源码编辑器如何设置难度 浏览:357
给pdf加目录 浏览:476
加密软件怎么改安全问题 浏览:552
cmd命令ip 浏览:946
python输出单引号双引号 浏览:272
脚本编程管理命令 浏览:379
小爱音箱pro怎么自己装app 浏览:118
建立ftp文件夹命令 浏览:572
sha1withrsa算法 浏览:455