IT

说说 IT 技术人的职业规划

你离开我真会死。 提交于 2020-12-22 07:43:55
首先大家要明白为什么要有职业规划?因为绝大部分技术人不可能写代码写一辈子的,尤其在中国更现实一些,你不可能干了十来年还在重复的做着功能开发吧?一般 30 岁左右就该考虑自己的职业规划问题了,基本上技术的职业规划分以下几种: 1 架构师 如果你对技术比较痴迷的,单纯的想往技术方向发展,那么架构师是你努力的方向。这个过程一般是初级工程师 -> 高级工程师 -> 架构师。 之前架构师一直都是后端开发的角色,架构师是纯技术领域的,需要对框架设计、服务器、数据库、并发、存储、性能等有很深的理解,这是需要很深的技术积累与实践经验的。然而移动端这两年的火爆,也让移动端架构师的角色更加重视起来,现在移动端同样需要架构师,移动架构师不只是你在 Android 或者 iOS 领域的技术过硬就够了,当然这些可能是主要的,但是后端方面的技术同样需要了解,移动架构师需要关注框架的设计、与服务端的通信、网络优化、为了应对复杂的业务提供有效的解决方案等。 所以如果你只对技术感兴趣,而且准备走技术路线,那么不妨往架构师方向发展。 2 技术总监 很多人认为 CTO 的职责是偏向技术的,然而我认为 CTO 是偏向管理的。我们见过很多技术人转管理的,一般的发展路径就是项目主管 -> 项目经理 -> 技术总监,CTO 的职责是偏业务、偏管理的,主要职责有团队管理、开发流程、公司战略、业务增长以及各类技术疑难问题的解决

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

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

项目估值:初创企业如何进行估值?

China☆狼群 提交于 2020-11-30 23:25:20
初创企业发展中往往遇到很多问题, 缺少帮扶 难以引得人们关注;没有资金发展都是难题。初次创业的朋友,无论在 社交人脉 还是创业知识上都缺少积累。在很多时候,创业项目会被问到估值多少,对于很多创业者来说,估值也是一个难题。那么,我的创业项目价值几何?如何对创业项目进行估值呢?我们通过 Tech2ipo ,来看看天使投融资社区AngelCrunch天使汇为大家整理的“初创企业估值指南”,会给你一个初步的帮助。 项目估值:初创企业如何进行估值 我们先来看看估值的基本概念: Pre-money Valuation,即融资前的估值。简称 Pre。 Post money Valuation,即融资前估值+VC 投进来的钱。 如果融资前估值是 700 万,而天使投资 300 万,那么创业团队就有 70%的股权,天使有 30%。Option pool,即期权池,在融资前为未来引进高级人才而预留的一部分股份,如果不预留,会导致将来进来的高级人才如果要求股份,则会稀释原来创世团队的股份,这会造成一些问题。 还是按照上面这个例子里的数据,如果天使要求 Option pool 是 20%的股份,而天使拥有投资后的公司的 30%,那么创始团队就只能拥有 50%。也就是说,现在的创世团队把自己的20%预留给了未来的要引进的人才。 一个初创公司可能仅仅只有一个想法或一个计划,公司也许有,也许没有营业收入。但是

Android学习之Drawable资源

為{幸葍}努か 提交于 2020-11-17 06:27:03
Drawable 资源是 android 应用 中最常见的一种资源,比如图片等,因此,对于初学者而言,必须掌握 drawable 资源相关应用。 今天在网上刚好看到了一篇介绍 android Drawable 资源的文章,分享给大家,希望对大家开发 android 应用时,使用 Drawable 资源有所帮助吧。废话不多说,赶紧学起来吧。 Drawable 是什么? Drawable 是一个抽象类( abstract class ),它有好多子类( SubClass )来操作具体类型的资源,比如 BitmapDrawable 是用来操作位图, ColorDrawable 用来操作颜色, ClipDrawable 用来操作剪切板等。 在 android 开发中, Drawable 资源一般存储在应用程序目录的 \res\drawable 目录下,当然依据分辨率的高低可以分别存储不同分辨率的资源到如下几个目录: \res\drawable-ldpi \res\drawable-mdpi \res\drawable-hdpi \res\drawable-xhdpi 图片资源 在 android 中,图片资源是简单的 Drawable 资源,目前 Android 支持的图片格式有: gif 、 png 、 jpg 等。我们只需要把图片资源放置到 \res\drawable 目中

从程序员到项目经理

▼魔方 西西 提交于 2020-11-02 09:54:28
从薪水上看,当然是资本家比小工人拿得最多,而且越接近资本家拿得也就越多,从码畜到领袖就是这样一个接近的过程, 薪水业成正比。但是,行业内什么人才都是需要的,从数量上看,管理者应该远少于被管理者,程序员数量应该是项目管理者的几倍,这样也是合理的。但是程序员 与管理者的转变,本质上是种职业的逐渐转变,尤其是上层管理者,我想马化腾、李彦宏等领袖们每天都不会去写代码的。如果是想赚很多的钱,必须从小工人去接 近资本家,或者干脆自己搞,放弃编程从做一个小资本开始;如果你觉得离开编程生活就失去了乐趣,还是好好丰富技术经验吧,做一个领域的大拿,人生活得也会 很得意的。所以,要不要从程序员转变为一个经理,要从个人兴趣爱好、职业目标、生活目标等上综合衡量,不是简单说该不该、好不好的事。本文由产品中国编 译,正文如下: “从程序员到项目经理”,这个标题让我想起了很久以前一本书的名 字《从Javascript到Java》。然而,从Javascript到Java充其量只是工具的更新,而从程序员到项目经理,却是一个脱胎换骨的过 程。从Javascript到Java,是一个取巧的方法;而从程序员到项目经理,却并无捷径可走,必须从内而外的改变和提升。 一.为什么要当项目经理 1. 问题本质 如果我对一个老程序员说:“有必要转项目经理啦”,很多人第一反 应是“为什么一定要当项目经理?!”,反问很给力

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

一曲冷凌霜 提交于 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. 经常备份代码。 在我年轻时,我就有过因硬盘故障而丢了大量代码的经历,这经历很恐怖的。只要你一次没有备份,就应当像有着严格的期限