❶ 非计算机专业可以当程序员吗
其实很多的IT大佬之前也不是专门学计算机的,都是后期转行的。而且大学学什么专业,对后期的工作真的没有太大关系,这也是现在高校的教育现状。有80%的学生都是通过临时抱佛脚,考前冲刺拿到毕业证书的。下面就带大家详细分析一下这个问题
首先,互联网公司有很多的岗位可以选择。市场,运营,产品,技术等等。很多岗位的对口专业也不是IT,所以,不知道你所谓的互联网公司工作是针对技术岗位,还是其他岗位。
技术岗位,对专业要求就比较严格一点。
首先, 技术岗包括Java,PHP,C++,Android,IOS,软件测试,前端开发,数据分析等等,非技术岗位包括产品经理,运营,设计。
就算是技术岗,也没有要求非得是计算机专业毕业,比如比尔盖茨是学法律的,扎克伯格是学心理学的,Github 的创始人 Tom 是 学物理的。往往把互联网干的最好的一批人都是跨专业的;
为什么?因为他们的思维往往是更加发散的,反而技术岗的同学更容易把自己的思维限制在技术的方方框框内。
一般而言,对于应届毕业生,技术岗的薪资要高于非技术岗,技术岗主要面向计算机和软件工程专业等相关专业,非计算机专业想要应聘技术岗,一般两个途径,一个是自学,网上有很多自学的平台;一个是报班。最近几年互联网培训很火,所以相对应的在线学习课堂肯定不少,报班的优势在于有一个学习氛围,有一个指导你的老师,可能成长的快一点。
非技术岗位
对于非计算机相关专业想转技术岗的同学来说,随着互联网人口红利在消失,入行门槛也逐渐提高,非相关专业想刚毕业就进大公司,难度很大,毕竟底子很薄,进小公司还是可以的,应届生基本都是月薪10000起,可以说10000真的算低的!
但是如果你真的喜欢技术,热衷于钻研,基本功扎实,大公司也是欢迎你的,毕竟这是一个只看能力不看关系的行业,你的能力强,你的可选择性就大,就有更大的议价空间。我了解到的应届生做技术的,年薪30万不少,基本20万起步吧,而且一年会比一年高,整个行业目前都是薪资倒挂。
那么一个非IT专业的小白如何快速成长起来呢,下面就来为大家一一解析。
学习动力
什么东西想要学得好,就必须直面困难。无论是计算机专业的新生,还是非计算机专业的爱好者,个人觉得最大的困难,就是从看程序、读程序到写程序的质的转变,这可是需要下点功夫的,有强烈兴趣的人,学习动力就没有问题,满满的100%。
仔细看看,许多码农都是被强烈的兴趣爱好驱使,不是为了学而学,而是为了写一个游戏,完成一个小应用程序,控制一个什么硬件等等 ,想尽一切办法去解决问题,为了解决这个问题不惜精力去学习各种相关知识,甚至是物理、数学。这是最好的途径:强大的内在动力驱使。
正确的思路
如果非计算机专业的话短期内想找到工作还是建议去选择找IT培训机构学习。一方面有专业老师指导,比自己看书、看视频学习更有效率。而且主要你非计算机专业,计算机基础编程基础相当于没有,有些编程理论很难理解,要入手建议可以从以下4个方面入手学习。
1. 学习HTML+CSS搭建简单的网页,这与编程无关,但是能够建网页,也就有了一点计算机的感觉。
2. 学习JavaScript或者Python,两者都是脚本语言,入门容易非常容易建立成就感。另外,建立代码里面,函数、变量、对象等等概念。如果是希望倾向于做界面,从JavaScript开始;如果倾向于做数据分析,从Python开始。有着两个脚本语言在手,只要能灵活运用,已经能够解决很多问题了。
3. 学习Java等面向对象语言,Java已经能够运行于世界上大部分设备,而且面向对象的设计非常优秀,如果能把Java面向对象机制理解深入,基本上就是大半个CS专业的人了。
4. 如果有需要再去看C++和C语言吧,有了前面的理解,你会发现,越是难学的东西,其实背后的招式越是简单。
综上,互联网对非计算机专业人才的需求量丝毫不亚于计算机专业,但前提是,你足够优秀,因为未来互联网的门槛会越来越高,只会留下保持学习能力的人。
❷ 一般不是在什么网络或者软件公司里面的程序员 都是干什么的
有一些区别的。程序员35岁以后不是不可以干了,而是说35岁以后做程序员的人很少。有这么几个原因:
1、程序员在做2、3年之后也就不会有什么新东西了,每天在做的都是一些重复的工作,所以很多人都说程序员是高级蓝领
2、在有了一定的经验之后,很多人会转向系统架构或者项目管理的方向,写代码之类的工作都留给年轻人去做了
3、程序员在做一定时间之后,工资增长水平会减缓。比如说,一个没有经验的年轻程序员的月薪可能在2000元左右,而一个有3年工作经验的程序员的月薪可能在8000左右,而一个有5年工作经验的程序员的月薪可能在10000左右,所以说,单从程序员的职位来说,一个公司不可能为一个高级蓝领开出太高的价格,所以很多程序员都转向系统架构或者项目经理,因为这才是一个既能体现程序内涵,又能赚钱的位子
❸ 程序员未来有哪些发展方向
绝大多数程序员最终的职业目标可能都是CTO,做到CEO的人估计会比较少,也有一少部分人自己去创业去当老板,也有部分人转行了,当老板的牛人也有。一般来说,程序员的发展基本上都会经历这么几条路径。程序员-系统分析员-架构师-技术经理-CTO,程序员-项目组长-项目经理-项目总监-CTO,程序员-产品设计师-产品经理-CTO。
当然这只是一个大致的路径,不是所有程序员都必需要这么经历的,有些人可能跳过其中的一些步骤,也可能有些人会把中间的很多职位都做了。而很显然,CTO,是大多数程序员的终极梦想。
也就是说,许多的程序员最终可能是做技术经理、项目经理或者项目总监之类的,那么到底我们职业生涯要选择哪一种呢?我觉得这个问题没有一个统一的答案,因为每个人的个性和情况不同。但有一点是重要的,一是有际遇一定要抓住,二是自己要努力。
比如说你正好有机会带一个项目,而你又不是很讨厌项目经理这个位置,那么你就可以考虑向项目经理发展。因为老板让你做,说明他看到你有这个素质和潜力。要相信别人的眼光。
但是大多数人是遇不见这么好的伯乐的,那就要自己努力。没有能力就学能力,没有知识就学知识,没有气场就每天照镜子练。如果你的确不知道怎样才能从众多的程序员中脱颖而出,那么就去参加培训,培训别选学费巨贵的,选有特色还不贵的。用一两个月工资,可以换来你能力的快速提升。
再说有些公司,并没有明确的技术经理、项目经理、产品经理之分,在许多的公司里,他们经常是几个人混搭的。在外包公司里,通常会有项目经理和系统分析员(也可能是技术经理)。在一些非IT公司里,可能会是部门经理,而做自己产品的公司可能会分得比较详细一些。我大致说一下这三个职位的区别,让正在徘徊的程序员有一个大致的了解。
项目经理是项目的直接负责人,这个角色相当于一个中间接口,不管是团队成员还是需求方(客户),或者是上级领导,有事都直接找他,所以这个职位着重于管理与沟通。一般来说,项目经理的工作重点在同客户沟通需求、项目进度的把控、团队的沟通方面,有些公司也会需要项目经理承担团队建设的工作,不过貌似很多国内公司都忽略了团队建设这个工作了。对于项目经理来说,重点会要求沟通能力、协调能力、危机把控能力、执行力、团队管理能力,着重于沟通、管理与计划。当然也有些公司还要求项目经历要参与招标谈判,这就要求项目经理有一定的商务谈判能力。
技术经理有时候也可能叫系统分析员,一些小公司可能会整个部门有一个技术经理。技术经理承担的角色主要是系统分析、架构搭建、系统构建、代码走查等工作,如果说项目经理是总统,那么技术经理就是总理。当然不是所有公司都是这样的,有些公司项目经理是不管技术团队的,只做需求、进度和同客户沟通,那么这个时候的项目经理就好像工厂里的跟单人员了,这种情况在外包公司比较多。对于技术经理来说,着重于技术方面,你需要知道某种功能用哪些技术合适,需要知道某项功能需要多长的开发时间等。同时,技术经理也应该承担提高团队整体技术水平的工作。
产品经理这个职位一般在有自己产品(不管是软件还是网站产品)的公司比较常见,产品经理主要会负责产品的设计、产品的改良等工作。需要注意的是,产品设计与设计师是两个不一样的工作,产品设计主要会从用户体验、业务需要等层面去设计产品,而设计师更多是从用户的视觉上去做。产品经理应该是最懂业务的人,比如说你在设计一个微博的产品,就要求你对微博这个东西非常熟悉,从用户习惯、用户体验、公司的发展战略上去设计这个产品,还要对比同类产品会有什么优势等等。
不管是项目经理还是技术经理与产品经理,都要求要熟悉业务,业务是需求的来源,没有不谈业务的技术,所以不管你从哪个方向发展,都要求对业务熟悉。产品经理要求对业务最熟悉,项目经理次之,技术经理排最后。对于程序员来说,刚开始工作的前几年可以埋头扎到技术里面,一般这个时间在2-3年的时间,然后就应该多关注业务了。这个业务不一定是指某个具体的业务,因为具体的业务的范围太少,而且也需要机遇。
我见过许多的程序员,他们是做Web开发的,但对互联网很不熟悉,对于互联网流行的趋势基本上不闻不问。不知道现在大家都在使用微博,也不知道SNS,也可能从不使用网银。我觉得这样很不好,程序员应该多多去关注互联网的发展,多多去玩一些新的网站。
对技术不敏感、不兴奋的人,对进步和快速提高没有强烈欲望的人,是没有办法在IT界生存下去的。
❹ 程序员的工作环境是怎样的
每个人职场人都希望在一个轻松、开心、干净、舒适的环境里面工作,这样心情好工作起来自然效率高,但是这毕竟是理想状态下的工作环境,当然现在绝大多数企业工作环境虽然达不到百分百,但至少有百分之六七十以上吧。
那么对于程序员这种有点特殊的工种工作环境又是怎么样的呢?
程序员又被人们称之为码农,也有人调侃戏称“程序猿”,程序员对工作环境往往需要有一张大的办公桌,他们不仅用一台电脑在工作,有时候需要几台电脑同时操作,而且遇到一些bug或者瓶颈的时候需要和同事协同工作,当然在硬件方面除了办公桌要大外,还需要配置比较高的电脑,毕竟这是程序员最基本的工作工具,试想如果刚有灵感,结果电脑卡顿或者死机了,那有可能灵感顿时就消失了,所以他们大多数工作环境都拥有足够大的办公桌和高配置的电脑。
前面就提到了程序员是有点特殊的工种,因为他们往往加班到很晚,时常会通宵,这就和我们正常上班的时间上错开了,他们往往白天睡觉,晚上工作,有时候为了打起精神工作,他们提神的方式各自不同,有抽烟的、有喝咖啡的、有听歌的等等,大家可以想象这是什么样的工作环境吗?但是程序员工作的时候,大多数情况下都需要安静的环境,毕竟安静能让人更好的思考问题。
每个人对工作环境要求都不一样,让自己觉得舒服的环境是自己愿意留在公司的原因之一吧,程序员也是一样的。
大公司的程序员,工作环境基本上就是一个电脑版的“衡水中学”,每天就是开会写代码改代码查代码开会继续循环往复,跟中学里每天就是拼命读书刷题刷题读书吃饭无味上厕所要跑一个样。
硬件配置无需你考虑,肯定是够你用。跟人的成本比起来,硬件就是个渣。
大公司的程序员工作比较稳定,每个人的分工是比较明确的,职业路径也很明晰,越往上的职位对智商的要求越高,这点和靠情商往上升的工作还真有点不一样。在程序员这个队伍里拍马屁搞关系基本没啥用,你写的代码都无需用户检验,自己一跑就知道成不成。这也是IT公司通常人际关系和氛围都比较轻松且简单直接的根本原因,特别适合那些不喜欢搞关系的同学去撸起袖子加油干。
如果你想在这个行业长期发展,智商一定要够用,真的。有没有基础倒在其次,如果数学好更佳。有些业内大咖本身是学数学或物理这些靠智商吃饭的学科的。
小公司的程序员,尤其是那些非IT类小公司里的程序员工作压力更大。面对不懂程序的销售和老板,还有极度贪心又不愿多付费的客户,需求三天两头变,界面是个人就可以提意见改,时间永远是“明天就要”。他们觉得程序员比悟空办法多,所以什么要求都提得出来。能在小公司做出成绩的程序员,真心让人敬佩不已。
小公司的程序员是掌握公司核心机密最多的人,比老板都掌握得多,所以通常他们的待遇也还过得去。另外他们一来二去把公司业务摸透了,出来自己干的也不少,当然能不能干成是另一回事。
其实程序员的工作环境真没什么要求,只要没什么干扰就行。学霸们在这里会找到十分熟悉的感觉,所以程序员之间以“同学”相称的极多。
我是2015年本科毕业的,但是2014年就开始工作了,从程序员+运营的工作开始实习(其实也是看最后哪一个更合适就走哪一个方向)。
对于实习阶段,因为当时待的是小公司,所以大家的配置都很一般。几个主力程序员加上我这个实习的,工作用的都是windows笔记本,联想的,除了我自己配的固态硬盘之外,很多都是机械硬盘在跑,没有特别明确的代码库规范、没有知识系统,交流全靠跑,有的是后端和前端一起干、前端和客服一起干,所以我兼职运营也是如此……平时要是不忙的话,那还没什么事儿,大家会闲聊扯淡,也算是其乐融融;但是要是忙起来,可能会突然加班到很晚——当然这种情况还是比较罕见的。
工作到了中型公司,跟以前的小公司就不在一个量级上了。这个时候主要的工作是后端开发,配置的电脑是联想的ThinkPad,但不是最高配那种,仍然没有固态硬盘,慢的要死。第一梯队的程序员配置有双显示器、机械键盘、mac。我的话配置的是外接显示器,座椅很一般,坐久了比较累。公司分工明确,办公室跨越两座楼,各个团队都有自己的办公室。有自己的wiki、定期站会、严格的代码规范、安全规范。一般情况下主要是在解决各种bug,或者开发新系统。偶尔流量高峰的时候,会加班到一两点,平常并不是特别忙,工作还是比较有序的。
其实想要招妹子进团队的,因为我们团队唯一的测试工程师长得真的一般,而且性格也很差……一个性格好长得好看的运营妹子真的能调动整个团队的气氛。
所以什么机械键盘、Mac、外接多少显示器、加多大固态硬盘、多好的人体工学座椅……这些都是假的,开发的团队里面有好看的妹子才真的是“好的开发环境”。
可以穿拖鞋?可以戴着耳机听着歌?配备两个显示器?身边总是围绕这MM端茶递水果?还是以上都不是,而是诗和远方?
程序员,一个高薪却严重亚 健康 的群体 。他们有着极客精神,疯狂coding的时候可以废寝忘食,但他们也追求精神自由,喜欢自由自在。对于这样一个群体,良好而又恰到好处的工作环境显得尤为重要。
1. 弹性上班制
常规企业的朝九晚五上班制度,说实话并不适合程序员一族,因为这种制度一定程度上扼杀了这个最需要差异性的群体的差异性,把程序员的Coding灵感等同于工厂流水线上机械手臂,希望按钮一按下,灵感发动,按钮再一按下,灵感结束。这是一种一厢情愿的想法。
所以对于高层次的程序员群体,请不要在作息时间上严格限制他们,因为他们不是装配工,有着独一无二的个体差异性,有着不同的思维G点,他们需要差异性的时间作息来调整自己的最佳状态,从而迸发激情和灵感。
2. 宽松的工作氛围
程序员群体讨厌管理,任何自上而下的所谓管理都容易引起程序员们的心理抵触,特别是那种死板的、指令式的管理模式,尤其让程序员们作呕。
程序员们希望自己做的事情是出于内心的意愿,那样他们就会干劲十足,而不是来自于经理计划文档中那条冷冰冰的文字,哪怕是他们心里意愿的和经理的计划本是同一件事。所以对于程序员群体的管理需要技巧,要化管理于无形,让他们感觉不到管理的痕迹,让他们感觉着做这些事情就是出自于他们自己的意愿。
总结来说就是让他们作为自己的管理者,而团队的管理者所要做就是培养他们这种自管理的能力。
适度的压力可以产生做事的动力,但长时间的持续的压力却是扼杀激情和创造力的罪魁祸首。压力会让程序员焦虑,同时也会造成低劣的设计和代码实现,因为交付的压力会让程序员对匆忙设计出来的方案妥协,而不会持续的优化找到最优方案。而一系列看似微不足道的缺陷设计集合到一起,就会形成让人意想不到的、不可控制的乱象。
所以,“快”不见得是好事,“慢”也不见得是坏事。
3. 鼓励参与开源项目
开源项目社区的欣欣向荣,是一朵盛开的奇葩,无论怎么赞誉都不为过。
一些着名的开源项目,例如Linux,Apahce, openssl等等,数不胜数的优秀设计,给我们带来了多少的惊喜,同时也催生了多少的商业公司。
参与到开源项目中,是一个程序员从初级走向高级、完善技术的最有效途径之一。一些着名的开源项目,架构设计和Coding技巧上都属上乘之作, 浸淫其中,受益匪浅。
其实以上三点不仅是对程序员群体,对任何一个职业的人来说都是适用的。再看下知乎上程序员们理想中的工作环境是怎样的。
@萧井陌:我读书的时候就有一个执念,一定要找一家可以穿拖鞋背心大裤衩上班的公司(当然我不穿大裤衩),如果我找不到这样的公司,说明我学得不好,所以我一直以来努力的目标似乎只是为了进一个能穿拖鞋的公司?哈哈哈哈。。。
@知乎用户:我只想要2个显示器
@知乎用户:1.安静,没有人随便喊你或者在你耳边说话;2.绝对的自由,程序员都有一定的怪癖,比如我喜欢听着摇滚乐写代码。这些都要被允许。3.温度,气味舒适的环境。
4.有个养眼的MM同事,大概是这样的
嘿,箭头方向那个哥们才是真正的程序员吧
5.独立10M光钎线
@Indream Luo,软件工程师:1.女多男少,人均年龄不到27;2.身处白云山上,与广东外语外贸大学一墙之隔;3.无边界文化,有问题可以找任何人沟通,包括高层,如果你见得到;4. 健康 文化,加班有补休,提倡8小时,自建食堂和农场,买下巴马泉眼特供矿泉水
@石磊
硬件:
1. 顶配的 MacBook Pro。
2. 上厕所不需要排队。
与人相关:
1. 不会在开发到一半时被通知要重新讨论功能,然后把以前做的东西全部推翻。
2. 没有不必要的会议,必要的会议速战速决。
3. 行政人事什么的做事清爽高效,这样不用在各种日常手续上浪费时间,只管写代码就好。
4. 同事们效率高、工作态度严肃、善于沟通、活泼有趣。
@张英锋:最理想的工作环境应该是能帮助团队沉下心来,开发出最好产品的环境。
1.上级对程序员工作的认可和尊重;
2.对所作的工作有自主权和决定权;
3.营造能让程序员专注于工作的设施,比如大家都提到的安静、以及各种提高生产率的硬件条件;
4.最后是公司是盈利的,最好是暴利,能持续提供更多福利。
@庄生:其实最重要的工作环境,还是有一帮靠谱的同事,真心的。可以术业有专攻,但是该你负责的你负责到底,保质保量,不要麻烦别人。
那你呢?你希望你的工作环境是怎样的?
上联:一个项目两部电脑三餐盒饭只为四千工资搞得五脏俱损六神无主仍然七点起床八点开会处理九个漏洞十分辛苦 ;
下联:十年编码九年加班八面无光忙的七窍生烟到头六亲不认五体投地依旧四肢酸软三更加班只为二个臭钱一生孤苦;
横批:苦逼程序员。
程序员飘过
作为一名程序员的我可以很负责任的说:是的,工作环境就像问主图片那样,可能会稍微好点,我们公司都是中央空调,不用电风扇!
我在程序员的岗位上也有好几年了,也待过几家公司,其实就工作环境来说,程序员的工作环境还是不错的,不用风吹日晒雨淋,而且是冬暖夏凉!和人们眼中的白领工作人员的工作环境是差不多的。
工作氛围其实也是很好的,程序员在穿着方面大部分公司是没有什么太大要求,可以穿着自己喜欢的风格(脑补一下大裤衩配凉拖的程序员正在撸代码),同事之间的交流也是很活跃的,所以程序员的苦逼之处不在工作环境,而是工作内容和压力。
程序员分工:
1.纯软件工程师,就是只靠电脑吃饭的,设计包括但不仅限于---网页、架构、UI、数据、运维、系统等等,整天与代码打交道;
2.Firmware(分位)工程师,半软半硬的工种,要焊板,要搭建环境,还要写代码维护代码,算法可能没有纯软件工程师牛,但动手能力绝对强,涉及的知识面可能更广。
本人就是后者,来看下我的桌面:
各个公司对于办公环境都不一样,国外都注重个人隐私,很多都是一个人一个封闭的房间。国内大部分就像图中所示那样,半隔开。也有 科技 公司,鼓励大家敏捷开发,多沟通,开方式办公
请忽略那些包含“安静,优美,闲逸的办公环境”的答案吧!
图中的环境,只是正常普通公司的工作环境。
不一定是程序员的。
程序员的工作环境,因工作内容,导致需要很多屏幕。
而且电脑配置也需要很高。
每个人因面对的公司、自身能力等因素,都会导致工作环境的不一样。
所以就有了工作环境好坏的区分。
如果你曾对着大海构思过某个接口,
在樱花飘落的院落里调试过代码,
那么你还觉得在写字间喝着咖啡对着三屏显示器敲键盘是理想的环境吗?
工作环境,还是得靠自己改变。
在程序者的不断追求下,编程是可以和写作一样成为艺术创造过程,
那么任何一个能够激发出你灵感的时刻和环境都应该可以成为你的办公环境。
资深码农应邀回答这个问题。笼统来说,程序员的工作环境与图中展现的差别不大。但根据工作属性和所属行业来讲,还是有一些区别。
甲方和乙方的区别
我在刚毕业时进入了一家软件外包公司,几乎所有的工作都是在甲方所在地完成的。
因为甲方员工是公司的稳定员工,所以工位来讲就要精致一些,配备也要完善一些。一般都会是隔间,有抽屉、插座、文件架、座机、台式电脑,甚至还有床等等。
而我们作为乙方因为流动性大,人数也不固定,甲方公司不太可能为我们准备这些精致的办公位,一般只是拉几张桌子拼凑起来,然后再接几个线板,有时候靠椅都没有,还得坐独凳。
技术驱动和业务驱动的区别
现在任何一个互联网公司,技术部门是必不可少的。但是有的公司会以业务为驱动,有的公司会以技术驱动业务。
以业务为驱动的公司就会优先考虑业务的发展,然后技术来辅助实现。我现在所在的就是这样一家公司,这样的公司技术部门就会非常的小,人员也会很少。这样的公司程序员的工位大体上和整个公司的风格没有太大的区别,因为人少,一般只有5-6个人,做技术的也喜欢安静,所以一般位置会选择靠近办公室的角落。
以技术为驱动的公司会依靠自身技术实力结合行业发展,碰撞出一些具有竞争力的业务品种,并与业务部门配合来实现并推广产品。这样的公司技术人员起码占到50%以上,这样的公司更有可能为程序员规划一个单独的大办公室,与外界隔离。一方面是为技术人员提供安静、舒适的办公环境,另一方面也是尽量避免闲杂人等进出公司技术核心所在地。
以技术为驱动的公司往往技术实力比较突出,所以他们会为自己的技术团队配备“驾驶舱”、小机房等设施。
就问题中的格子间来讲,不管是什么性质的公司,只要场地不是特别的拥挤,都会设计成格子间,这样既保护了员工隐私也充分利用了办公场地的空间。这并不是程序员特有的风格。
❺ 如果我是一个在一家非IT企业里用计算机语言编写程序的程序员,我怎么才能成为一名谷歌计算机工程师
给谷歌投简历,然后面试,被录取。
❻ 要去非IT公司做程序员了,大家认为怎么样
我觉得可以去,公司没有其他IT,所有的事情都会让你来负责解决,这样成长也会很快!