北京尚学堂

程序员如何成为编程高手并以此创业

余生颓废 提交于 2020-12-16 17:01:26
版权声明: 本文为北京尚学堂原创文章,未经允许不得转载。 每个IT企业,尤其是初创企业,非常苦恼:找不到好的程序员。现在大学、软件学院及各种培训机构,每年培养几十万的程序员,毕业的每个人都有同样困恼:找 不到好的工作。问题出在哪里呢?其实,企业需要的是不是刚会写程序的人,需要来了就能干活的人,尤其能把活干好的人。而刚毕业的大学生多半刚学会如何写程 序,的确很难企业需求。 企业到底需要什么样的程序员,一个刚入门的程序员如何成为企业需要的高手呢?还有很多程序员问我,“我需要具备什么样的能力就可以去创业?”我一直在琢磨 类似的问题。我自己写过十年程序,也在金山管理过一千多人的研发队伍,最近也在做天使投资,仔细总结了如下五点建议与所有程序员分享。 建议一:只有真正喜欢才能写好程序 喜欢写程序,做程序员就是上天堂; 不喜欢写程序,做程序员就是下地狱; 程序员需要整天趴在电脑前,经常没日没夜的,非常辛苦,而且工作来不得半点虚假,少写一个标点符号都不行。喜欢的人,日子过得非常开心,每写一行代码,都 会有新的成就,尤其当自己的作品被广泛应用的时候,那种自豪感油然而起。不喜欢的人,坐在电脑前极端无聊,被进度压得喘不过气来,天天为找bug改bug 生气。 只有喜欢,只有热爱,才能把程序写好! 我建议不喜欢写程序的人早点转行,不要勉强自己,免得误人误己。 建议二:把程序当艺术品,象写诗一样来写代码

每个优秀程序员必须具备的技能

一曲冷凌霜 提交于 2020-04-27 19:45:44
版权声明: 本文为北京尚学堂原创文章,未经允许不得转载。 也许你可以成为一名优秀的管理人员或指导人员,作为程序员如果你不能编写代码和开发软件,但不会是软件开发人员。 如果你正在阅读这篇文章,那么我假设你有兴趣成为一个软件开发人员——或者是更优秀的软件开发人员——下面就让我们来聊一聊你需要知道哪些技术技能。 用技能赚钱 现在,有这样一种主流观念,压垮了很多新手软件开发者,那就是你需要学习很多东西才能成为软件开发人员,并且很多人不知道从哪里开始起步。 这里我会尝试着具体说明那些在你追求成为软件开发人员的路上将让你受益的必要技术技能。 一篇文章当然不能详尽说明作为软件开发者,你可能需要掌握的所有技术技能,但是我会列出最关键的一些技术技能。更多精彩内容关注微信公众号:北京尚学堂。 编程语言 我认为从这一条开始说起是最合适的。 不懂编程语言,怎么能成为一个真正的程序员? 不过,关于选择哪种编程语言去学习可能并没有我们想得那么重要这一点,请允许我一笔带过。 相反,让我们谈一谈为什么我们要从一种编程语言开始,而不是试图去学习所有的东西。 许多新手程序员会试图一次性或在第一份工作之前学习几种编程语言,以便于有备无患。 虽然我认为你最终应该学会一种以上编程语言,但我不建议提前这样做,因为这只会导致混乱,并且会分散你需要学习的其他技能的精力。 相反,我建议你应该深入研究,重点学习单一编程语言的来龙去脉

每个优秀程序员必须具备的技术技能

好久不见. 提交于 2020-04-27 19:44:12
版权声明: 本文为北京尚学堂原创文章,未经允许不得转载。 也许你可以成为一名优秀的管理人员或指导人员,作为程序员如果你不能编写代码和开发软件,但不会是软件开发人员。 如果你正在阅读这篇文章,那么我假设你有兴趣成为一个软件开发人员——或者是更优秀的软件开发人员——下面就让我们来聊一聊你需要知道哪些技术技能。 用技能赚钱 现在,有这样一种主流观念,压垮了很多新手软件开发者,那就是你需要学习很多东西才能成为软件开发人员,并且很多人不知道从哪里开始起步。 这里我会尝试着具体说明那些在你追求成为软件开发人员的路上将让你受益的必要技术技能。 一篇文章当然不能详尽说明作为软件开发者,你可能需要掌握的所有技术技能,但是我会列出最关键的一些技术技能。更多精彩内容关注微信公众号:北京尚学堂。 编程语言 我认为从这一条开始说起是最合适的。 不懂编程语言,怎么能成为一个真正的程序员? 不过,关于选择哪种编程语言去学习可能并没有我们想得那么重要这一点,请允许我一笔带过。 相反,让我们谈一谈为什么我们要从一种编程语言开始,而不是试图去学习所有的东西。 许多新手程序员会试图一次性或在第一份工作之前学习几种编程语言,以便于有备无患。 虽然我认为你最终应该学会一种以上编程语言,但我不建议提前这样做,因为这只会导致混乱,并且会分散你需要学习的其他技能的精力。 相反,我建议你应该深入研究,重点学习单一编程语言的来龙去脉

Java程序员变优秀的10个要点

人走茶凉 提交于 2020-04-22 05:38:52
版权声明: 本文为北京尚学堂原创文章,未经允许不得转载。​ 1.拥有扎实的基础和深刻理解OO原则 对于Java程序员,深刻理解面向对象编程这一概念是必须的。没有OOPS的坚实基础,就领会不了像Java这些面向对象编程语言的美。光学习OO原则的定义用处不大,关键是要学会如何应用这些原则用一种OO的方式去设计解决方案。因此,我们应该对对象建模、继承、多态、设计模式有一个很好的认识。 2.掌握核心API 如果你不知道语言结构和核心API,那么即使你在理论知识上再怎么彪悍也是独木难成林。在Java中,我们最好能对核心API,如java.lang.*、I/O、异常、集合、泛型、线程、JDBC等有很强的实战经验。要是涉及到Web应用的开发,无论你使用的是对Servlet有多大关系的框架,JSP都是必须的。 3.Keepcoding 陆游曾说过,“纸上得来终觉浅,绝知此事要躬行”。从理论上想出一个解决方案很简单,但是真到了实施的时候,才会意识到问题有多难。此时,你才会明白编码过程中存在的语言限制,从而设计出最好的实践方案。因此,Keepcoding。 4.订阅社区论坛 我们并非踽踽独行者。很多人都和我们一样在研究着相同的技术。只是对某个框架概念做验证是不难的,但是当你将这些概念应用到实际的项目中时,那么各种各样的问题,各种在官方文档上找不到解决方法的难题就会接踵而来

北京尚学堂|给自由职业者的10条建议

戏子无情 提交于 2020-04-21 05:36:10
版权声明: 本文为北京尚学堂原创文章,未经允许不得转载。 工作,无论你是全职的自由职业者还是只是将其作为一个兼职,你需要妥善的协调业务和生活之间的关系。成功的自由职业者已经制定了一套个人的规则和程序,帮助他们有效地工作。 在这里,我们有10个建议,可以帮助你每天工作的更有条理,训练自己更好的工作。使你的日常工作流程更加井井有条。 1.每日计划 一个高效的工作起源于一个好的计划,你准备这一天干什么呢? 列出你一天的工作然后将其划分成若干个小任务,逐一完成。在心里提前构思好你的工作将如何展开。计划一周内哪几天出去跑业务,哪几天在家处理工作,什么时候见客户。安排好所有事情,这样你可以节省很多时间和资源成本。 记得安排一点娱乐时间,这是必须的,你在设置每日计划或者每周计划的时候必须考虑到这个,没有人会一直工作不休息。合理计划,否则你只会变得疲惫和低靡。 计划完成以后,想象一下(作为一个设计师,最擅长的就是这个了吧):”一天开始了,我首先需要。。。。“把流程在脑袋里过一遍,将其明确的表述出来将帮助你更清楚自己的工作,并更明确的完成一天的工作。 2.在工作区工作 并不是所有自由职业者都能奢侈的拥有一个家庭办公室,但是你必须有一个工作区,如果没有,那就自己创建一个。 在工作区域内工作,这听起来很简单,当你在确定的工作区域工作,你可以随手够到你需要的工具,工作的氛围可以帮你很快的进入理想的工作状态

北京尚学堂:20条编程经验分享

耗尽温柔 提交于 2020-04-20 08:39:41
版权声明 :本文为北京尚学堂原创文章,未经允许不得转载。 20条编程经验分享 不想在电子厂做一辈子的普工或者是餐馆做一辈子的服务员 从小就喜欢计算机(仅仅停留在游戏 )想通过自学一门计算机编程语言进入互联网行业 想改变自己苦逼的命运。 我自己也是自学编程多年,说说我多年来的经历和一些建议。这些年,我积累了一些艰难又容易的经验。作为一名程序员,你或许还没这些经验,但我会把它们献给那些想从中学到更多的朋友。 20条编程经验分享 1. 估算解决问题所需要的时间。 不要怕,承认吧!我曾见过一些程序员为了解决一个特殊问题而坐在显示器前面8小时。为自己定一个时间限制吧,1小时、30分钟或甚至15分钟。如果在这期间你不能解决问题,那就去寻求帮助,或到网上找答案,而不是尝试去做“超级堆码员”。 2. 编程语言是一种语言,只是一种语言。 随着时光推移,只要你理解了一种语言的原理,你会发现各种语言之间的相似之处 。你所选择的语言,你应该觉得“舒服”,并且能够写出有效(而且简洁)的代码。最重要的,让语言去适应项目,反之亦然。 3. 不要过于注重程序的“设计模式”。 有时候,写一个简单的算法,要比引入某种模式更容易。在多数情况下,程序代码应是简单易懂,甚至清洁工也能看懂。 4. 经常备份代码。 在我年轻时,我就有过因硬盘故障而丢了大量代码的经历,这经历很恐怖的。只要你一次没有备份,就应当像有着严格的期限

程序员总结:新手如何学习一门新的语言

隐身守侯 提交于 2020-04-16 08:19:15
【推荐阅读】微服务还能火多久?>>> 引言: 回忆和总结了自己多年来的程序员成长经历,对当前程序员关心的热点、重点、难点问题给出了自己的看法和建议。通过对程序员的成长阶段进行划分,结合我在北京尚学堂的学习感悟,分享给大家,使得各个阶段的程序员都可以“按图索骥”,解决自己所遇到的问题。 新手如何学习一门新的语言 学习程序设计语言是程序员的看家功夫。许多程序员边编边学,没有止境,可以说是“活到老学到老”。在语言面前,程序员永远是学生。然而,程序设计语言是一项不断发展的技术,从机器语言到汇编语言,从低级语言到高级语言,从面向过程语言到面向对象语言,从C/S语言到B/S语言,从非跨平台语言到跨平台跨系统语言,从纯语言到开发平台工具,真的是目不暇接。这些革命性的技术浪潮推动着程序员不断学习新的语言以适应其发展,否则程序员将被淘汰。 学习新的语言有两类人员,一类是从来没有程序设计语言基础的、没有编过程序的人;另一类是已经掌握了一门或一门以上语言,正想要学习更高版本语言或新的语言的人。对于第一类的人我且称为新手。 新手要学习一门程序语言,若是将新手比作一张白纸,可以画出最新最美的图画,同样也可以画得乱七八糟没有美感。新手的第一门语言对其今后的影响是巨大的,如果学得好,则自信心大增,对今后的发展非常有利;如果学得不好,学不下去,则对其职业生涯打击很大。新手面对众多的语言往往无从下手: 第一

爱上Java的10大理由

假如想象 提交于 2020-03-12 19:57:05
版权声明: 本文为北京尚学堂原创文章,未经允许不得转载。 Java和JVM已经存在了很长一段时间了,基于这个事实,一些程序员开始将很多事情视为理所当然。今天我们就来说一说“Java之所以能够成为并将继续是软件项目领先平台”的十大理由。 1.高性能JVM Java最初的开发目的“一次编写到处运行”,并由虚拟机提供运行平台。没有JVM,Java就必须遵循Ruby和Python的步伐——在痛苦中进一步提高其便携性。随着物联网的出现,一个强大的虚拟机变得越来越重要。 2.核心API 最让人喜欢的就是Java核心API——从它诞生之后就可以完全向后兼容,这样我们就可以开始写更多的Java应用。虽然有无数额外的库和JVM语言可以提供简洁的语言水平,以获取多种核心API功能,但其中大部分实际上是依赖于Java核心API的支配。虽然也有其他语言纷纷效仿,但很少能像Java保持得如此稳定。更多精彩内容关注微信公众号:北京尚学堂。 3.编译器 还有很多值得欣赏的Java编译器——将你的源代码转换成字节码,然后再成为可执行文件——更由于JIT的出现,将其他的直译程式比到了尘埃里。并且天生简洁的Java编译器能让开发人员只需将注意力放在代码上,而无需关注编译器架构。 4.字节码 和编译器一样,在Java字节码中,简单才是王道。它可以大大降低了写出潜在错误代码的几率。并且也不需要第三方字节码操作工具

北京尚学堂|Java程序员面试失败的5大原因

人走茶凉 提交于 2020-03-10 10:28:09
下面是北京尚学堂总结:Java程序员面试失败最有可能的5大原因,当然也许这5点原因适用于所有的程序员,所以,如果你是程序员,请认真阅读以下内容。​ 1、 说得太少​ 说得太少​ 尤其是那些开放式的问题,如“请介绍下你自己”或“请讲一下你曾经解决过的复杂问题”。面试官会通过你对这些技术和非技术问题的回答来评估你的激情。他们也会通过模拟团队氛围和与你的交流互动来判断你的经验和能力。 所以,仅仅只用两三句话来回答不但不能显示出你对这个专业的兴趣,还会让整个面试过程显得非常无聊。如果你不能很好地说明你的经验、成就和技能可以给企业带来的价值,那么你的竞争力毫无疑问就高不起来。所以,你需要对一些最常见的开放式问答作充分的准备,学会推销自己。更多精彩内容关注微信公众号:北京尚学堂。 2 、说得太多 说得太多 不断地说,不断地说,却并没有什么实质性的内容。换句话说,就是废话连篇,言之无物。如果你不能简洁的解释问题,那么面试官就会怀疑你在工作时的表现是不是也会像你的谈话一样拖泥带水?可以先问问面试官,确定是否真的需要详细解释。 解释也是一门艺术,关键是确定重点,如果需要的话再深入到细节。当聊到业务的时候,就应该从业务的角度看问题,不要涉及任何技术术语。学会用简洁明了的方式解释问题。如果你能时刻把握主旨,那么这一点也不是问题。 3、 回答不出一些必知的基本技术问题 回答不出一些必知的基本技术问题

【答疑解惑】Java类的加载顺序

早过忘川 提交于 2020-03-08 20:19:18
版权声明: 本文为北京尚学堂原创文章,未经允许不得转载。 Java类的初始化顺序这个问题经常出现在面试题中,这个面试题设计的知识有类、对象、static关键字、初始化函数、类的加载顺序,咱们一个一个来说。 类: 类描述了具有相同特性(数据元素)和行为(功能)的对象集合,也是一个数据类型。比如说动物,它有重量、大小的特征(数据元素),也有移动、吃的行为(功能)。 对象: 对象是具有状态、行为和标识的是上面类的一个实例。每一个对象都有内部数据(它描述该对象的状态)和方法(它产生行为),并且每一个对象都可以与其他对象区分开来,就是一个对象在内存中都有一个唯一的地址。在Java中对象都必须通过new来产生。更多精彩内容关注微信公众号:北京尚学堂。 static: static表示“全局”或者“静态”的意思,用来修饰成员变量和成员方法,也可以形成静态static代码块。它是属于类不属于对象。 初始化函数: 也就是构造器,构造器名称必须与类名完全相同,没有返回值。没有参数的构造器叫做默认构造器,你在不重载情况下都是调用的默认构造器。更多精彩内容关注微信公众号:北京尚学堂。 类的加载顺序: static块和对象:无论写在类的前面还是后面都会先执行,多个静态块或者对象执行顺序与写的顺序一致,写在前面的先执行; 非静态块和对象:按照在类中写的先后顺序执行; 初始化函数;​​ 如果你的目标是就业