大龄程序员的出路在哪里?八年老Android的一点心得

Docker安装并运行AnythingLLM的详细教程 通过本文的介绍,你已经掌握了如何在 CentOS 系统上使用 Docker 安装并运行 AnythingLLM。AnythingLLM 提供了强大的功能,支持本地知识库搭建和多模态输入,非常适合个人和企业使用。希望本文能帮助你快速上手并搭建自己的 AI 知识库。 阅读详情

这篇文章,给大家聊聊Android工程师的职业发展规划的一些思考,同时也给不少20多岁、30多岁,但是对自己的职业未来很迷茫的同学一些建议。

笔者希望通过此文,帮大家梳理一下程序员的职业发展方向,让大家知道自己从20多岁的初出茅庐,到40岁的大龄码农,应该如何规划属于咱们程序员的半生。

首先,咱们通过倒推的方式,看看在一个程序员40岁的时候,你凭什么来捍卫自己的核心竞争力?

那如果要搞清楚这个问题,又得从一个反面来看看,大部分的程序员在职业发展过程中犯了哪些错误,结果导致在40岁的时候没有竞争力了呢?

一、40岁回首往事:自己竟没有任何核心优势,不裁你裁谁?

以某为裁员为例,你真以为公司裁员就看他年龄大吗?

身边有几个同学朋友在华为工作,据他们的说法:他们裁的都是工作十来年,考评普通职级一般,收入和股票都偏低的一群人。也就是:这部分人的工作具有可替代性。

华为裁员是为了优化结构,不是为了断臂求生。核心员工,不仅不可能被裁,而且会被重点关照,停止流失!!!

所以,裁员裁的是这三类人:

  • 拿着远超三个应届毕业生的工资,但是能力最多顶一个

  • 老油条,干活一般般,但是油油的

  • 只会写代码,职业素养和情商一般般

总的来讲,就是性价比低、不可替代性弱的同学们。淘汰的就是这些。

但真正能有几个人的工作具有不可替低性,现在在敲代码的我们,终归逃不过被挑选的命运?

二、公司遇到危机时40岁大龄程序员会怎么样?

其实很简单,站在老板的角度,假如手里本来有10个大龄程序员作为骨干,此时完全可以拿掉其中的8个。

老板这时就留下2个大龄程序员,让他们为了保住饭碗,加班加点给公司撑住剩下的业务。

而大龄程序员的工资可是公司里最高的那一批人,把他们拿掉8个,是不是一下子节省了很大的成本?

如果公司还有业务需要支撑,完全可以找几个工资才10k的小年轻程序员进来把活儿顶着,跟着2个大龄程序员继续做就行了。大家想想,是不是这么回事?

在遇到困难的时候,工资高、年龄大、加不动班的大龄程序员,很有可能就会率先“被”牺牲掉,用来节约公司成本。

然后呢,换上几个薪资低、年龄小、可以天天加班到凌晨、还有充足的精力学习各种新技术的程序员,给公司顶上。

那么接下来,这些大龄程序员出去找工作会遇到哪些问题呢?

很简单,这些兄弟本身技术并没有什么特长,项目也没什么难度,而且很多最新的技术还没跟上没学习。

此外,这些兄弟年龄也大了,上有老下有小,还加不动班,而且你要的薪资还不低。其他公司一看,有什么理由用30多k的薪资来聘用你呢?

你的技术、精力都不行,所谓的项目经验,仅仅是上一家公司的一些项目的经验,对别的公司可能没什么太大的作用。

如果你是另外一家公司的老板,你会不会聘用这样的人?我想说到这里,大家都明白这里的问题所在了。

三、我们应该怎么办?

我搜遍全网,结合我身边的例子,给出下面几个程序员能走的路。

1. 走技术路线

根据舒伯的职业生涯阶段理论,31~44岁是安定期,程序员应该稳定于一项工作,发现适当的晋升通道,确立自己将来的保障。

结合35岁的门槛,大家应该在35岁前,尽量找到合适的下家,这些下家中有纯技术上升通道。

很显然,只有大公司才会有纯技术上升通道,比如阿里等等,中小公司是不太可能有的。所以,走这条路的同学,要想尽一切办法进到大公司中,并且稳定下来。


由于篇幅限制,这里只能展示部分内容,朋友们如果需要这份完整版的PDF资料合集,微信扫描下方优快云官方二维码【免费获取】。

2.技术管理路线

从小管理到大管理再到CTO,这条路。说点简单的,就是管理路线一路走到黑。

中国自古有官本位思想,觉得做了管理,就不得了了。但在技术性岗位上,真的是这样吗?

对于技术性岗位而言,如果你两年不碰代码,那基本上你的代码能力也就废了。想要立马找一份开发的工作,基本上没有可能了。

所以,技术性岗位可以向管理岗位转,反过来则不成立。

大家都经历过2018、2019的裁员潮,在2018年尤为严重,很多公司一个部门一个部门的砍,而有些部门仅留几个人运维。

而这些裁员中,首当其冲的就是纯管理,皮之不存,毛将焉附?

而技术人员可以直接找工作,虽然难找,但耐不住岗位多。管理层呢?相对则难了很多,因为管理本身就是软实力,而且岗位少,在裁员潮到来时,管理岗更少。技术岗通过技术面试,能直接了解你的水平,管理则不同。。它没办法通过面试了解你的实力,你所列举的各种成果,可能跟大环境和你所在公司有直接关系,而并不能体现你的价值。

所以,可以做管理,但无论如何不要放弃技术。无论何时,留一个保命的本领!!!

3.转型其他职位或者行业

如果有人说,我对技术没那么大热情要成为专家,我也很讨厌整天捣鼓业务,我更没天赋成为技术管理人员,那怎么办呢?

那你可以考虑写代码写到30多岁的时候,搞点别的。

比如说考虑转型做产品经理?考虑做互联网运营?或者考虑做软件销售?

也就是说,你可以考虑带着一定的技术背景,往技术行业里的其他岗位去转型,在其他岗位上积累经验,成为不可或缺的人物,这个也可以。

更有甚者,在北上广干了10年技术,积累了一定的资金之后,在老家买好房子,然后回老家去做生意,比如开个餐饮店什么的。

这个也是一条路子,但这种就是因人而异了,毕竟每个人的人脉资源都不同。

四、最后的寄语

不管你选择哪条路,首先想清楚,你要成为什么样的人。

你需要仔细想想,在40岁时,你10多年的工作经验,将会积累了哪些核心竞争优势。

然后再仔细琢磨琢磨,这些优势是否是那种刚毕业的小伙子绝对无法替代的,其他公司的资深岗位是不是必须要有你这样的人。

考虑清楚了这些,剩下的就是朝着自己的目标,坚持不懈的走下去。这中间你可能会迷茫,甚至会怀疑当初的决定。但还是那句话:相信自己、勿忘初心,自己选的路,含着泪也要走完!

最不希望看到的一种情况,就是30多岁了,还仅仅会“用”各种技术,十几种二十多种技术,什么都会用。但就是没什么技术深度,没什么竞争力,不懂底层原理,就一些使用经验比较多了而已。

我这边整理了一份558页的《Android开发相关源码精编解析》

目录总览

  • 深入解析微信 MMKV 源码

  • 深入解析阿里巴巴路由框架ARouter 源码

  • 深入解析AsyncTask 源码(一款 Android 内置的异步任务执行库)

  • 深入解析Volley 源码(一款 Google 推出的网络请求框架)

  • 深入解析 Retrofit源码

  • 深入解析OkHttp 源码

  • 深入解析 ButterKnife 源码

  • 深入解析 Okio 源码(一套简洁高效的 I/O 库)

  • 深入解析 SharedPreferences 源码

  • 深入解析 EventBus 源码

  • Android 自定义注解初探

  • View 的工作机制源码分析

  • Android 触摸事件分发机制源码分析

  • Android 按键事件分发机制源码分析

  • 深入解析 Handler 源码

  • 深入解析 Binder 源码

  • 深入解析JNI源码

  • 深入解析Glide源码

  • RxJava 原理及如何封装使用

  • LeakCanary 核心原理源码浅析

  • 插件化架构定义及插件化架构的实践思路分析

  • 热修复设计之热修复原理

由于篇幅限制,这里只能展示部分内容,朋友们如果需要这份完整版的PDF资料合集,微信扫描下方优快云官方二维码【免费获取】。
《杀鹌鹑的少女》中有这么一段话,改了两句:

“当你老了,回顾一生,就会发觉:什么时候出国读书,什么时候决定做第一份职业,何时选定对象而恋爱,什么时候结婚,什么时候决定抽出时间来学习,其实都是命运的巨变。只是当时站在三岔路口,眼见风云千樯,你做出选择的那一天,有点不舍得知识付费,在日记上,相当沉闷和平凡,当时还以为是生命中普通的一天。”

现在学习是一个特别好的时候,学几个月,增强内功(技术能力)和外功(面试经验)。年底和明年年初有不少大公司上市,到时候招聘人数会有一个量级的增加,可以在2021年的下半年重新选择,找一个更棒的平台,搞定一个更好的职位,给自己一个更好的未来。

基于STM32设计的水质检测系统_333 水质安全对生态环境、农业生产、工业制造以及人类健康至关重要。针对传统水质检测方式检测周期长、成本高、实时性差的问题,本项目设计并实现了一种基于STM32的水质检测系统。系统采用STM32F103RCT6作为主控芯片,集成水温、pH值、电导率和浊度等传感器,能够实时采集水质数据,并通过OLED显示屏进行本地显示。同时,利用Air724UG 4G模块通过MQTT协议将数据上传至华为云IoT平台,实现远程监测。用户可通过Qt5开发的Android手机APP和Windows上位机查看水质数据,并接收超限报警提示。此 阅读详情

相关推荐

STC8H DMA 串口1全双工中断方式收发通讯C语言

串口1全双工中断方式收发通讯程序。 通过PC向MCU发送数据, MCU将收到的数据自动存入DMA空间. 当DMA空间存满设置大小的内容后,通过串口1的DMA自动发送功能把存储空间的数据原样返回. 用定时器做波特率发生器,建议使用1T模式(除非低波特率用12T),并选择可被波特率整除的时钟频率,以提高精度。

czhaii的专栏 1466

程序员的出路是什么?

做为一个程序员,工作了一定时间后,一定会有一个想法,那就是程序员能干多久,未来的发展方向是什么,更专业一点的说法是,职业规划到底是什么。说实话, 我也仔细考虑过这个问题,偶尔也很会焦虑。这个问题, 简而言之就是:我觉得, 自己会有这个疑问和焦虑, 主要是对自己的定位和规划不明确导致的。如果你也有过类似的疑惑和思考, 说明你已经开始考虑自己的职业规划了。

爱编程的鱼的博客 3857

CH340驱动安装全攻略:从Windows到MacOS的避坑指南(2025最新版)

本文提供2025年最新版CH340驱动安装全攻略,涵盖Windows、MacOS和Linux三大操作系统。详细解析了驱动安装的核心原理、标准流程,并针对Windows设备管理器报错、MacOS系统安全限制等常见“坑点”提供了深度排错与解决方案,旨在帮助开发者快速稳定地完成USB转串口通信配置。

earth的博客 426

超过40岁的程序员,都去干嘛了

超过40岁的程序员仍然有很多职业发展的机会和可能性。关键是要保持积极的心态、持续学习和拓展技能,关注行业动态并勇于尝试新的机会和挑战。

weixin_1079718670的博客 5971

模仿学习与强化学习结合(IL+RL)有没有代表性论文?未来发展趋势如何?

IL与RL的结合正成为AI研究热点,尤其在机器人控制、复杂博弈等需要边学边练的场景。经典方法如Dagger(2010)和GAIL(2016)开创了先用模仿学习预热、再用强化学习微调的模式。近期工作如IN-RIL(2024)提出交替训练策略,显著提升样本效率。开源项目RoboSchool和StableBaselines3为相关研究提供支持。未来趋势包括:1)混合式智能体结合人类经验与自主探索;2)突破小样本学习、自然语言交互等方向;3)提升安全性、样本效率和可解释性。

CyberSoma的博客 2249

RK3576平台部署NanoTrack:边缘AI视觉跟踪实战指南

边缘AI部署是将深度学习模型在资源受限的嵌入式设备上高效运行的关键技术,其核心在于模型压缩、硬件适配与软件栈优化。通过INT8量化、算子融合与内存优化等原理,能显著降低模型计算量与内存占用,从而在嵌入式NPU上实现实时推理。这项技术的价值在于为安防监控、无人机视觉、工业检测等场景提供低功耗、高响应的智能感知能力。以瑞芯微RK3576平台部署轻量级视觉跟踪模型NanoTrack为例,其过程涉及模型结构分析、RKNN工具链转换、C++推理程序开发及多线程性能优化,完整展现了从算法到产品的工程化路径,为开发者提供

weixin_31887307的博客 427

都 2024 年了!程序员的到底出路在哪里!?继续卷技术?晋升管理层?还是转业?

除了上述框架,大数据生态系统还包括其他技术和工具,如NoSQL数据库(如MongoDB、Cassandra)、数据仓库(如Amazon Redshift、Google BigQuery)、数据流处理工具(如Kafka、Storm)以及数据可视化工具(如Tableau、PowerBI)等。考公务员是程序员多元化职业发展路径中的一种选择,它提供了稳定的工作环境和相对固定的工作时间,但同时也可能意味着更多的规范性和程序性工作。如果决定走这条路,就需要做好充分的准备和调整,以适应新的工作环境和职责。

weixin_53543905的博客 9826

Altium Designer(AD24/25)导入DXF或DWG结构文件的方法

DXF(Drawing Exchange Format)和DWG(Drawing)是两种常见的CAD(计算机辅助设计)文件格式,常用于结构和硬件之间的沟通。本文介绍Altium Designer(AD24/25)导入DXF或DWG结构文件的方法。

fydar的博客 1447

40岁以上的程序员还容易找到工作吗?聊聊我自己的亲身经历

在他们眼中这种大龄程序员,尤其是过了40岁以后的这种程序员,他的健康水平在下降他的体力不支,他的家庭因素等各种方面的影响啊,他们就怀疑这个程序员不能够很好的这个投入工作啊,也不能够加班甚至不能996对不对啊。而且这个40岁以上的程序员,这个工资的待遇还不低,所以呢他们就不喜欢找这种程序员。但是这只是一方面啊,也有很多公司呢,他实际上是不在意这个程序员的年龄的,他甚至非常喜欢这种大量程序员,因为他们认为他的这个啊大量程序员的这个工作经验非常丰富,写出来这个代码的质量非常高啊,一个人可以顶4个人啊。

2301_77139641的博客 1万+

智能车图像处理5-入门级分析4 ---环岛的状态机与补线

PS :入门级文章适合新手,如果已经有基础可以去看进阶篇文章。

taiyuezyh的博客 8240

(11-3-01 )

以太坊(Ethereum)是一种基于区块链技术的开源平台和加密货币。它于2015年由Vitalik Buterin和Gavin Wood等开发者创建,并成为比特币之后最受欢迎的加密货币之一。以太坊不仅支持加密货币交易,还为开发者和企业提供了构建去中心化应用程序的强大工具。在本节的内容中,将实型一个完整的机器学习模型项目,智能检测出以太坊区块链中的非法账户。从问题定义到模型建立和评估,再到最终的总结和建议。本实例突出了处理类别不平衡问题的重要性,并展示了如何使用多种机器学习算法来解决实际问题。此外,通过数据可

码农三叔 2170

过了40岁的程序员出路在哪里

40+的程序员出路在哪里

小桥流水 的专栏 3466

【ITS模型】基于MATLAB的ITS宽带短波信道模型的建模和仿真

1.软件版本 MATLAB2010b 2.本算法理论知识 对短波信道建模具有里程碑意义的是沃特森在1970年发表的一篇文章,文章中提出了一种静态模型,并在大气中进行了实验验证。 此静态模型可以描述为高斯散射增益抽头延迟线模型,即Watterson模型。 Watterson信道模型是经典的窄带短波信道模型,在这个模型中,信道衰落是瑞利幅度分布,而在每种传播模式中多普勒扩展的功率谱满足高斯分布。Watterson模型没有定义延时扩展的形状,认为各个多径传输模式中不存在延时扩展。其...

FPGA/MATLAB学习教程/源码/项目合作开发 2757

大龄程序员的出路在哪里?八年老Android的一点心得(2)

不管你选择哪条路,首先想清楚,你要成为什么样的人。你需要仔细想想,在40岁时,你10多年的工作经验,将会积累了哪些核心竞争优势。然后再仔细琢磨琢磨,这些优势是否是那种刚毕业的小伙子绝对无法替代的,其他公司的资深岗位是不是必须要有你这样的人。考虑清楚了这些,剩下的就是朝着自己的目标,坚持不懈的走下去。这中间你可能会迷茫,甚至会怀疑当初的决定。但还是那句话:相信自己、勿忘初心,自己选的路,含着泪也要走完!最不希望看到的一种情况,就是30多岁了,还仅仅会“用”各种技术,十几种二十多种技术,什么都会用。

2401_84121871的博客 879

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

2024年最全大龄程序员的出路在哪里?八年老Android的一点心得(1),腾讯的面试官是什么等级

总而言之,Android开发行业变化太快,作为技术人员就要保持终生学习的态度,让学习力成为核心竞争力,所谓“活到老学到老”只有不断的学习,不断的提升自己,才能跟紧行业的步伐,才能不被时代所淘汰。在这里我分享一份自己收录整理上述技术体系图相关的几十套腾讯、头条、阿里、美团等公司20年的面试题,把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,这里以图片的形式给大家展示一部分。

2301_82242990的博客 1172

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Android最全大龄程序员的出路在哪里?八年老Android的一点心得,h5移动端开发面试题

不管你选择哪条路,首先想清楚,你要成为什么样的人。你需要仔细想想,在40岁时,你10多年的工作经验,将会积累了哪些核心竞争优势。然后再仔细琢磨琢磨,这些优势是否是那种刚毕业的小伙子绝对无法替代的,其他公司的资深岗位是不是必须要有你这样的人。考虑清楚了这些,剩下的就是朝着自己的目标,坚持不懈的走下去。这中间你可能会迷茫,甚至会怀疑当初的决定。但还是那句话:相信自己、勿忘初心,自己选的路,含着泪也要走完!最不希望看到的一种情况,就是30多岁了,还仅仅会“用”各种技术,十几种二十多种技术,什么都会用。

2401_84519998的博客 339

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Android基础面试常常死在这几个问题上,征服Android面试官

针对Android程序员,我这边给大家整理了一些资料,包括不限于高级UI、性能优化、架构师课程、NDK、混合式开发(ReactNative+Weex)微信小程序、Flutter等全方面的Android进阶实践技术;希望能帮助到大家,也节省大家在网上搜索资料的时间来学习,也可以分享动态给身边好友一起学习!Android前沿技术大纲全套体系化高级架构视频Android高级架构资料、源码、笔记、视频。

2401_84408780的博客 915

大龄程序员的出路在哪里?

  近来,越来越感觉到 力不从心了。精神无法集中,效率很低,有时还伴有头痛等症状。  如果时光倒流个七八年,那时,可以精神抖擞地写到深夜而不知疲倦,反而乐在其中。  或许,真的不再适合写代码这个工作了。太多的细节要注意,太多的重复性的工作要做,必须全力以赋。  那么,出路在哪里呢?实在也不舍得放弃这个为之奋斗多年的事业啊(听着有些肉麻)!况且,虽然很辛苦,但code仍然是我热爱的,乐就在其中。只是

程序呓语 5433

35岁Android老猴子,真的会在这段时间被劝退嘛?怎样避免?

最近在互联网职场论坛,一位阿里程序员发帖吐槽。 前几天,和一位技术总监聊天,又提到了35岁这个问题。 他的团队现在招人,原则上不招大龄程序员,我问他原因,他回答说:“事多,精力差,不能加班。一句话,性价比太低。” “要说性价比,那很好解决呀,人年龄大了,虽然不愿意加班,但也能接受少挣点,也不和年轻人竞争职位,那性价比不就上来了?”我反问道。 “那也不行,他们这么做会把团队的士气带坏,把年轻人的干劲拉下来。” “无所谓了,如果年轻人也不愿加班,说明人家在乎生活和工作的平衡,在季度考核的时候,你给打人

Androidbye的博客 377

腾讯、阿里Android高级面试真题汇总,来看看这份超全面的《Android面试题及解析》

自我介绍一下,小编13年北京科技大学毕业,曾经在字节跳动待过,也去过vivo、小米等大厂,18年进入华为一直到现在。小编这些年深知大多数初中级Android工程师,想要提升自己,往往是自己摸索成长,自己不成体系的自学效果低效漫长且无助。因此我收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担,能在岗位上再创辉煌,步步高升!!。

2401_84887780的博客 1943

Android开发从零开始,android面试宝典2024

因此,在互联网领域,人才的流动性居高不下,自然离职率也必定较高。但是这不重要,因为编程只是你整个武器库当中相对最不重要的了,你的经验,你的视野,你的架构能力,你的管理能力,你分析和解决问题的能力已经远远不局限于技术这个领域。当你积累足够的代码量,例如超过10万行代码以后,你应该形成了自己的思维方法论和自己独立的学习技巧,任何新的技术在你眼中都能迅速的看到技术的本质,快速吸收成为你的知识体系的一部分。的经验,你的视野,你的架构能力,你的管理能力,你分析和解决问题的能力已经远远不局限于技术这个领域。

2401_85030645的博客 424

2024年Android最全35岁Android老猴子,真的会在这段时间被劝退嘛?怎样避免?,面试三个月找不到工作

要说性价比,那很好解决呀,人年龄大了,虽然不愿意加班,但也能接受少挣点,也不和年轻人竞争职位,那性价比不就上来了?”我反问道。“那也不行,他们这么做会把团队的士气带坏,把年轻人的干劲拉下来。“无所谓了,如果年轻人也不愿加班,说明人家在乎生活和工作的平衡,在季度考核的时候,你给打人C,奖金少发点不就行了。“那也不行,如果我的团队不加班,但别的团队加班。那么,无论是工作时长,还是工作态度,还是最终产出,我的团队就会被比下去。这样搞几次,说不定我就该滚蛋了!

2401_84545016的博客 925

android开发者选项说明,androidrom开发教程

*其实上面说了这么多,钱是永远赚不完的,在这个知识付费的时代,知识技能提升才是是根本!我作为一名8年的高级工程师,知识技能已经学习的差不多。**在看这篇文章的可能有刚刚入门,刚刚开始工作,或者大佬级人物。像刚刚开始学Android开发小白想要快速提升自己,最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,所以这里分享一套高手学习的源码和框架视频等精品Android架构师教程,保证你学了以后保证薪资上升一个台阶。这么重要的事情说三遍啦!

2401_84414763的博客 968

html5移动端,flutter登录跳转

在此为大家准备了四节优质的Android高级进阶视频:架构师项目实战——全球首批Android开发者对Android架构的见解。

2401_84415415的博客 873

已有千人收藏,2022最新大厂Android面试真题解析

前言 成为一名安卓开发者很容易,但是要成为一名成功的、突出的安卓开发者却不那么容易。这需要付出很多的努力,耐心,奉献和毅力才能做到。 我并没有什么捷径或者简单的方法来告诉你让你成为一名成功的开发者。但是如果你愿意身心投入且付出努力的话,你肯定会得到应得的成功的。 应大家的请求为成为一名更优秀的安卓开发者,这里有一些从我的经验中吸收的小巧而专业的小窍门来助你一臂之力。所以,如果你决定从事安卓开发或者已经是一名安卓开发者的话,那么你算是找对地方了。 好了,不需要再浪费口舌了,让我们开始吧。 互联网行业离职率分析

code8889的博客 226

2019数据表明,程序员离职人数占公司总人数的1-6,android开发平台的发展

互联网行业离职率分析 互联网行业离职率: 早上2019年7月,某招聘媒体就发布了《2019年上半年互联网求职调查报告》并指出,与2018年同期比较,2019年员工离职率上升了3%,整体为14.5%。也就是说,一家互联网公司,半年内主动或被动离职的人数就占了公司总人数的六分之一。 互联网行业离职原因: 那份报告中指出,新生代员工主动离职原因中,”对工作不满”与“平台不满”已位居前茅,对“薪酬”却排在这两个原因之下。这个数据证明新生代90、95后员工更多的人不完全看钱选工作,而更愿意选择平台优秀或工作内容让自己

m0_64314432的博客 880
上一篇: 年薪百万的程序员,30岁后送外卖、卖保险:内卷时代如何破局?
下一篇: 爱了!阿里大神最佳总结“Flutter进阶学习笔记”,理论与实战
Agent学习路线
博客等级 码龄6年 1万+粉丝 1903原创
评论 10
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值