Ⅰ 程序员是如何找项目练手的
首先,你能想到平时找项目来进行练手,说明你是一个在技术上面是一个非常上进的同学。 想要找到项目进行练手,第一个想到的地方应该是 Github。Github 上拥有全球最多的开源项目,你可以从其中找到自己感兴趣的开源项目,然后参与到开源项目的开发中去。 能够参与开源社区,这也是很多互联网公司非常看重的一点。
其次现在也有很多举办计算机类比赛的平台,比如阿里云的天池大数据、Kaggle、Datacasle等。 你如果有时间,可以参与上面举办的比赛,进行项目练手。
想要在 Github 上面找到自己想要参与的开源软件,首先你要确定好自己对什么技术方向感兴趣。 比如对于我来说,我对实时计算非常感兴趣,所以我找了很多开源的实时计算引擎,最后选择了 Flink 开源项目,现在也在努力的参与到 Flink 的开发中去。想要使用开源项目来进行练手,你一定要确定好自己的技术方向,找到感兴趣的开源项目,接着就是尝试参与到其中。
确定好自己感兴趣的开源项目后,第一步就是去订阅官方社区的邮件组,在社区的邮件组里面,你可以看到很多同学对于开源项目的问题以及解答,你未来有任何问题时,也可以在开源项目邮件组中进行提问。 其次,你可以去开源项目的官方网站,将里面的官方文档阅读和理解一遍,这对于你未来 API 的使用和概念的理解,会有很大的帮助。
最后,你可以去开源项目的 JIRA(问题主页),查看自己能解决哪些 JIRA,随着你解决的问题越来越多,我相信你的能力也会提升的越来越快。
其他方面,你也可以去阿里云的天池大数据等平台上面查找自己想要参与的比赛,上面的比赛主要以算法类比赛为主,但也有性能优化相关,编程类的比赛项目。 我以前在上面参加过阿里中间件的比赛,但是还是和同学一起来进行参加,一路跟着做下来,自己的能力也提升了很多,而且在校招的时候,面试官也问了很多这方面的问题。如果你能够跟着比赛做下来,我相信你肯定能够得到一定的收获。
我会持续大数据、数据库方面的内容,如果你有任何问题,也欢迎关注私信我,我会认真解答每一个问题。期待您的关注
刚入门可以在GitHub或者各个技术网站找一些基础的DEMO,不需要很复杂,有几个知识点就可以了,熟练了在学其他知识点。最后再找一些完整的DEMO练,理解各个知识点之间的联系,熟练掌握常用的设计模式。
初级程序员可以拿公司的项目练手,从头到尾熟悉代码,然后跟着版本更新,巩固掌握的技能,有新技术点多在网上查查资料,多理解,活学活用。
高级程序员可以对现有项目进行重构,搭建框架,深入底层原理。
大神程序员一般都很神秘,是我膜拜的对象[呲牙]
给你推荐一些比较实用的小项目吧,另外千锋也有很多实战项目视频教学。
文本操作
网络
类
线程处理
Web应用
文件
数据库
图像和多媒体
游戏
不用刻意找项目练手,可以从兴趣入手自己做一个项目,然后再不断的用新技术重构这个项目 。
从兴趣入手为什么说要从兴趣入手呢?因为这个是一个需要长期进行下去的项目,如果不是自己感兴趣的东西,很难有动力坚持下去。
有哪些方向可以参考呢?比如你喜欢动漫,那么可以做一个动漫图片素材收集的网站;你喜欢足球,那么可以做一个 历史 数据统计的网站,其实只要是你感兴趣的都可以动手去做。
一个项目做成以后并不是一层不变的,因为技术永远在更迭。当我们学习了一个新技术时,那么我们就可以用新技术把这个项目重构,顺便练练手。
比如说原来项目里有一个用Java写的用来抓取数据的爬虫,现在你正好在学习Python语言,那么你就可以尝试用Python语言将这个爬虫重构。
总结我一直认为一个好的程序员必定具备良好的产品思维,可以根据自身的兴趣点做一个项目并长期维护下去,并不断的用新技术重构这个项目,在练手的同时还能兼顾兴趣,可谓一举两得。
想通过项目练手,这说明你有上进心,非常值得鼓励。互联网上有不少资源,这些项目是比较成功的实践案例,还有相应的教程或者丰富的文档,便于使用者理解,这类项目非常适合程序员练手实践。这些宝藏级的资源在哪里最多呢,毫无疑问,在GitHub上最多。
有同学会问,GitHub上面这么多项目,我应该如何找到合适自己的呢?
从自己的兴趣出发每个人喜欢做的项目都不一样。有的人喜欢爬虫,有的喜欢自己做些小 游戏 。从自己的兴趣出发入手,这样有利于保持学习的动力和热情,肯花时间学习,自然进步就快。
从容易的项目入手一开始不要选择太难的项目,要从简单容易的项目入手,再慢慢过渡到难得项目。就像打 游戏 一样,先杀小怪积累经验,最后再跟boss单挑。顺序不要搞反了。
想要找项目练熟的话,肯定是找已经有人做出来的,有源程序的,如果你在项目中遇到问题不懂又没有人指导那这时候源程序就是你最好的指导老师,找项目最好是找自己喜欢的,这样你做起来就不会觉得累,即使做一天都不会感觉到累,特别是每一次中的小小的成功可以让自己更兴奋和开心。我以前就是这样过来的。
任何项目都没有实际项目练手快,各种进度,各种bug,各种要求,想想就头痛,刚解决了一个进度,下一个又来了,下一个写完了上一个又出bug了,没玩没了,这是练手最快学习最快,网上找的项目只能全是熟悉,要解决问题却比不上实际项目来的快
程序员的世界虽然是很精彩的,但是写代码本身是很枯燥的。
跟工作不一样,练手的项目一般不会给你任何回报,除了能够提高你的水平之外不能带给你其他东西。为了防止我们因枯燥的代码过程放弃练手,要尽可能地去找热门的东西,能够与人交流才能使这个练手的过程丰富起来,来自同行或者爱好者的交流反馈能使我们在枯燥的代码过程中更有目标,更能坚持下去。一个人枯燥的垒代码学到的东西比与同行在论坛上或者开源项目上的交流中要少得多。
所以说找项目练手最好是找自己感兴趣的,并且最好是有很多用户或者同行交流的,这样才能学的更多并且不容易放弃。
可以去bilibili上找找相关的项目练习,主要还是得跟着视频老师讲解多加练习才好,熟能生巧嘛。推荐你可以看看尚硅谷bilibili上的视频,更新及时内容也是贴合企业开发的需求呢。
“我的做法是,自己创造项目,然后哪里做不出来就去问,去搜。
童年接触过很多fc 游戏 ,我就把他们重新做一遍。
”
- - - - - - - - - - - - - - -
Ⅱ 毕业之后从事程序员,该怎样规划自己的职业方向呢
第一,应届毕业生需要快速积累经验。
履历和学历都非常重要,如果哪个欠缺,就趁年轻赶紧弥补。一线互联网公司对于学历和履历尤其看重。你前期不要过分看重薪资,如果一个大厂和一个小公司同时向你抛出橄榄枝,即使小公司给的再多,也要优先考虑大公司。假如你不是985高校或者硕士,你就要从技术层面快速提高自己。如果你在小公司里工作,争取三年内进入一线互联网公司。如果想要在这一行业长久发展,要有市场行情分析的能力,去学习最火的大数据,机器学习算法等领域,必要时可以果断转行。
第五,最重要的一点:多存钱,为了以后做自己的产品
你是否甘愿一直打工,一直看他们眼色?不,程序员高傲的内心不允许他这样做。所以,老老实实多存点钱,为了以后自己创业做资金储备才是王道。
Ⅲ 一个菜鸟程序员该怎样定位自身的价值方向
我到底能够解决什么问题?给别人带来什么样的方便?这是每个程序员首先要考虑的问题。这决定了你要在什么样的领域、什么样的公司工作,决定了你做什么产品,也决定了你要选择什么技术。
Ⅳ 程序员如何选择自己的职业方向
作为一名程序员,在选择自身的发展方向时一定要和企业的发展方向相吻合,程序员是一个偏向于技术的岗位,如果希望在技术上快速提升,除了学习更多的需要去实践,只有将技术应用到实际场景中才能发挥它的价值,通过企业提供的平台,将学习的知识应用到实际环境中,做到学以致用,才能不断提升自身的技术能力。将个人的发展和公司平台相结合,同步同调、同频共振才能相互促进,通过个人能力的提升来壮大平台,同时通过平台的提升促进自身的快速发展。
在中国当前的软件行业发展来看很少有纯技术的程序员,软件行业本质也是服务行业,必须跟业务行业相结合才能价值外显。软件行业也是一个快速发展的行业,新技术、新工具、新模式层出不穷,需要不断的学习和掌握,如果不是真正热爱很难坚持深入学习、长年奋战在技术一线。随着年龄的增大、家庭的牵绊,绝大部分程序员的精力是很难和年轻人相比的,所以大部分程序员都会向其他方向发展,如:产品经理、技术总监、售前咨询、运营管理等,一般情况下前两者比较多,因为二者偏向于技术,转型比较容易;售前咨询对业务能力、行业理解的要求较高;运营管理则强调更长的企业资历、更好的协作能力等。无论哪一个发展方向,都是需要不断学习、不断积累的,只有掌握一套好的学习方法和工作方法,快速提升自身能力,才能走的更高、更远。
Ⅳ 作为一名普通的程序员,该怎样给自己找一条后路呢
作为一名普通的程序员,该怎样给自己找一条后路呢?两年也就相当于是刚入行的一个程度,那这个程度就是要多努力干活,多学多练,想任何其他的都是白费功夫,因为你没有其他的时间积累,在二至四年的这个时间里,要把自己的工资技术水平提升到你所在的那个城市圈子里面的中上等的水平,然后你要有一个比较谨慎的思维,不要空有一个想法。
你现在考虑的可能就是说以后怎么发展他这个技术程序员发展的话一般是年龄平均到35岁左右的时候,你就可以通过前期的一些积累,然后铺垫到35岁的时候,你就可以去做其他的行业的,因为你到35岁的时候,不管是去面试或者是带领团队熬夜,很多时候有些东西都跟不上了,所以建议你到那个时候去转行。
Ⅵ 程序员可以如何选择发展方向
绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人说我转行去做业务 了,对于当老板的人毕竟是少数,对于转行的人来说,都不在这行做了,自然没什么好说的了。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系 统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO.
当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而最终做到 CTO的程序员,也是非常少的一部分,原因很简单,这个世界上不许要那么多的CTO和CXO.
也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答 案,因为每个人的性格不一样,际遇也不一样,就像你从小希望当贪官,可是命运却偏偏让你做了一个程序员。所以应该根据你的兴趣、性格与际遇选择一条道路, 比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以选择向项目经理方向发展。
实际上很多时候,国内并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是由一个人承担。在外包公司里,通常会有项目经理和 系统分析员(也可能是技术经理)。在一些非IT公司里,可能会有部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让 正在徘徊的程序员有一个大致的了解。
项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重 于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似 很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计 划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。
技术经理有时候也可能叫系统分析员,一些小公司可能会整个公司或者部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代 码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟 通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合 适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
产品经理这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产 品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的 人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么 优势等等。
不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。 产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然 后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。
我见过许多的程序员,他们是做Web开发的,但对互联网很不熟悉,对于互联网流行的趋势基本上不闻不问。不知道现在大家都在使用微博,也不知道SNS,也 可能从不使用网银。我觉得这样很不好,程序员应该多多去关注互联网的发展,多多去玩一些新的网站。
Ⅶ 程序员如何在35岁瓶颈期的时候,找到自己的方向
1程序员的困惑
程序员是一个神奇的职业。日复一日面对着电脑,一行一行地码着代码,给人的印象是呆头呆脑,不善于交流和沟通,加班是经常的事,仿佛永远都有干不完的活,身心都很疲惫。但事实上呢?
大多数程序员,他们热爱编程, 对很多技术充满兴趣, 总是希望学习并尝试新奇的技术, 在业余也花了很多时间学习工作中暂时用不到,但是自己很感兴趣并且很看好的技术,从进入到第一家软件公司,后来一直没有离开软件行业。
Ⅷ 北大青鸟java培训:IT程序员的职业发展方向
现在IT行业非常之火热,而许多IT程序员迷茫于未来的职业发展方向。
他们除了学习技术外,有众多问题困扰着他们,同时这些问题成为他们职业发展的瓶颈。
那么,正在培训的同学,未来的IT程序员们,要明确自己的职业发展方向才行。
海南北大青鸟http://www.kmbdqn.cn/认为IT程序员职业发展方向关乎你的未来,非常重要。
第一,培训前要明确自己的学习方向,并且想清楚自己的目标是什么;第二,如何达到自己定的目标:看书,多练习,多问老师;第三,给自己设定计划并努力完成,中、高考前,我们一定都在桌子上贴过小纸条,写着一句励志的话或者奋斗的目标。
第四,不要单纯的追求月薪多少,前景比当下的收入更重要,要放长远看,不要注重当下利益。
准备工作时,首先要明确自己的职业发展方向:管理方向、技术方向、业务方向。
管理方向:通常从两个方向转变来的。
工程师—项目组长—项目经理—项目经理—中层管理者—高层管理者—独立创业。
作为管理者,要具备把控能力和决断能力等。
技术方向:理工程师—普通工程师—中级工程师—高级工程师—技术专家—架构师是必经过程。
同时要求也很多:对技术有钻研精神、强大学习能力、解决问题能力、自身技术能力等。
业务方向:是从初级业务员开始:业务分析员。
而IT行业,通常是在技术工作的过程中逐渐熟悉了业务、对业务工作感兴趣后转化来的。
与技术方向比,业务方向要求较高的情商及良好的沟通能力。
在与客户沟通过程中,了解到客户的需求并为客户及自己的团队讲解清楚,达到预期目标。
Ⅸ 外包与小公司的程序员如何逆袭程序员该如何规划自己的职业生涯
我认为程序员需要做好自己的人生规划和职业规划,同时也需要在上班初期就有属于自己的目标。
对于每个程序员来说,程序员找到自己的工作之后,因为程序员在工作初期的待遇会比较好,所以很多人可能会彻底放松下来,同时也没有属于自己的职业规划。在这种情况之下,程序员的年龄变大的时候,程序员就会发现自己的竞争能力在不断减弱,同时也会遭遇所谓的30岁危机和35岁危机。对于任何一个程序员来讲,程序员首先需要了解自己的真实优势,同时也需要根据自己的优势来制定属于自己的职业生涯。
除此之外,我觉得每个程序员都需要尽可能做好相应的技术积累,特别是在自己面临换岗或者换工作的情况下,一定的技术积累可以帮助自己度过职场危机。
Ⅹ Java程序员如何自我提升
1.专注于一个工作,对于程序员来讲,专注于某一个开发工作是非常重要的,如果同时处理几个任务,你只会为此耗费精力,这样只会导致工作效率降低,所以作为java开发应该专心做好一个工作,再去做下一个。
2.建立条理工作系统,对于程序员来讲,工作如果没有条理,那将是多么可怕的一件事,会直接影响工作效率。一名优秀的程序员一旦投入工作当中,他们会变得非常专注和条理。
3.不要使用过多工具,在开发工作过程当中,编程工具肯定会用到,但如果使用过多,只会起到适得其反的效果。
4.要迅速做出判断,作为java程序员要果断做出抉择,不然真的会影响到工作效率。
5.学会发现和解决问题,可以这样说,问题是好的学习机会,只有在工作当中不断发现、分析和解决问题,才可以成为公司真正的骨干,同时也更快成长。从入门到高手这一过程,这一阶段对个人成长是很有帮助的。
6.经常思考总结,古人云:”学而不思则罔“,只学习不思考会导致难以把握事情的本质,这样的学习过程可以更好地版主自己清楚地了解工作进度,减少压力和提高工作表现。