注册
环信即时通讯云

环信即时通讯云

单聊、群聊、聊天室...
环信开发文档

环信开发文档

Demo体验

Demo体验

场景Demo,开箱即用
RTE开发者社区

RTE开发者社区

汇聚音视频领域技术干货,分享行业资讯
技术讨论区

技术讨论区

技术交流、答疑
资源下载

资源下载

收集了海量宝藏开发资源
iOS Library

iOS Library

不需要辛辛苦苦的去找轮子, 这里都有
Android Library

Android Library

不需要辛辛苦苦的去找轮子, 这里都有

今天,我终于写了我大学时候想写的代码了

前言 最近心情不是很好,然后就开始回忆以前大学的时光,好想和大学的朋友再吃一顿饭啊。 然后想到一个月黑风高的晚上,我的宿友和我讨论多线程的问题: “假如有一个非常大的文件,要入库,你怎么将这个文件读取入库?” 当时我说:“很简单啊,就这样读文件然后入库啊。” ...
继续阅读 »

前言


最近心情不是很好,然后就开始回忆以前大学的时光,好想和大学的朋友再吃一顿饭啊。


然后想到一个月黑风高的晚上,我的宿友和我讨论多线程的问题:


“假如有一个非常大的文件,要入库,你怎么将这个文件读取入库?”


当时我说:“很简单啊,就这样读文件然后入库啊。”


他说:“我当时也是这样说的,然后面试官叫我回去等通知。”


想想还是太菜了,然后他和我说可以用多线程去操作。我当时由于技术原因不知道怎么操作,只知道大概思路。而今天也是有空去实现当时的遗憾了。


思路


思路也挺简单的,就是多条线程共同操作一个变量,这个变量记录了这个大文件读取的进度,也可以理解为文件行数。各个线程读取一定的数据然后记录mark,分段入库。


image.png


代码


餐前甜品


此处模拟从数据库读取大量数据原理和分批插入相同,每条线程循环500次,偏移量为500条,使用AtomicInteger来进行线程变量共享。


public class myThread implements Runnable {
private volatile int num = 0;
private AtomicInteger val = new AtomicInteger();
@Override
public void run() {
for (int i = 0; i < 500; i++) {
StringBuffer stringBuffer = new StringBuffer();
stringBuffer.append("select id,name from user limit ");
stringBuffer.append(val.get());
val.addAndGet(500);
stringBuffer.append(",").append(val.get());
System.out.println(stringBuffer);
}
}
}

    public static void main(String[] args) {
myThread myRunnable1 = new myThread();
Thread thread1= new Thread(myRunnable1);
Thread thread2 = new Thread(myRunnable1);
thread1.start();
thread2.start();
}

每条线程是500x500,也就是250000,此处开了2条线程,最终结果应该是500000。控制台输出如下


image.png


ok,不错,证明方向是正确的,接下来是模拟读取大文件入库。

正餐


线程类


@Component
public class myNewThread extends Thread {
@Autowired
private IUserService userService;

private static AtomicInteger val = new AtomicInteger();

public myNewThread(){
}
public void run() {
List<User> list = new ArrayList<>();
for (int i = 0; i < 500; i++) {
User user = User.builder().wxName(val.get() + "").build();
SoftReference<User> stringBufferSoftReference = new SoftReference<>(user);
list.add(stringBufferSoftReference.get());
val.incrementAndGet();
}
userService.saveBatch(list);
}

}

@Test
void contextLoads() throws InterruptedException {
Thread thread3 = new myNewThread();
Thread thread4 = new myNewThread();
thread3.start();
thread4.start();
}

每条线程插入400条数据,wxName这个字段记录第几条数据
启动后发现控制台什么都没输出,数据库也没插入数据,很纳闷。然后经过一番思考后找出来问题所在。
在线程启动后加入以下两行代码


thread3.join();
thread4.join();

原因是,主线程在创建这两个线程后就结束了,子线程还没来得及操作数据库主线程就已经死亡了导致子线程被迫停止。


join表示主等待这线程执行结束,这样子就不会出现主线程创建完子线程就死亡导致子线程都没来得及执行线程体就死了的情况。


ok!启动!!
坏啦,空指针异常


image.png
经过调试发现,是service类在线程里面为空,导致能空指针异常,看来是spring捕获不到线程体。


既然捕获不到那我就传一个给线程体吧。


修改后的线程体


@Component
public class myNewThread extends Thread {
private IUserService userService;

private static AtomicInteger val = new AtomicInteger();
public myNewThread(IUserService userService){
this.userService = userService;
}
public myNewThread(){
}
public void run() {
List<User> list = new ArrayList<>();
for (int i = 0; i < 400; i++) {
User user = User.builder().wxName(val.get() + "").build();
SoftReference<User> stringBufferSoftReference = new SoftReference<>(user);
list.add(stringBufferSoftReference.get());
val.incrementAndGet();
}
userService.saveBatch(list);
}

}

修改后的单元测试


@Autowired
private IUserService userService;
@Test
void contextLoads() throws InterruptedException {
Thread thread3 = new myNewThread(userService);
//Thread thread4 = new myNewThread();
Thread thread4 = new myNewThread(userService);
thread3.start();
thread4.start();
thread3.join();
thread4.join();
}

简单来说就是使用构造函数给线程体传递一个非空的service类。


启动单元测试


image.png


证明是可以的刚刚好800条数据


总结


启动线程时要注意主线程和子线程的关系,然后操作数据库时,要注意传入的类是否空指针。


分段插入就到这里了,在高并发的情况下还没测试过,明天再说吧,已经是下午5点58了,下班!!!


作者:Avalon2353
链接:https://juejin.cn/post/7224051399255703613
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

五一在即:有哪些办法能阻止票贩子和我们一起抢票?

背景 五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。 有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任...
继续阅读 »

背景


五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。


有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任嘲就得了。


恶意爬虫的相关特征


对于恶意爬虫的特征,航空公司自己有总结:


1、访问的目标网页比较集中:“爬虫”代理人目标明确,主要是爬取班次、价格、数量等核心信息,因此只浏览访问几个固定页面,不访问其他页面。


**2、查询订票等行为很有规律:**由于“爬虫”是程序化操作,按照预先设定的流程进行访问等,因此呈现出毫无思维、但很有规律、有节奏且持续的行为。


3、同一设备上有规模化的访问和操作:“爬虫”的目的是最短时间内抓取最多信息,因此同一设备会有大量离散的行为,包括访问、浏览、查询等。


**4、访问来源IP地址异常:**正常情况下用户在查询、购买时,用户的IP地址比较稳定,而且访问来源IP比较;“爬虫”、“虚假占座”等操作时,IP来源地址呈现不同维度上的聚集,而且浏览、查询、购票等操作时不停变化IP地址。


5、设置UA模拟浏览器和频繁使用代理IP:很多“爬虫”程序伪装成浏览器进行访问,比如在程序头或者UA中默认含有类似python-requests/2.18.4等固定字符串;并且通过购买或者租用的云服务、改造路由器、租用IP代理、频繁变更代理IP等进行访问。


6、操作多集中非业务时间段:“爬虫”程序运行时间多集中在无人值守阶段。此时系统监控会放松,而且平台的带宽等资源占用少,爬虫密集的批量爬取不会对带宽、接口造成影响。以下是顶象反欺诈中心监测到,凌晨1-5点是恶意“爬虫”的运行高峰时段。


浅谈防范措施


1.设备指纹的应用


设备指纹单独用的话,在恶意爬虫面前,会稍微较弱一些。因为攻击者会使用其他技术手段来绕过设备指纹的检测,例如使用虚拟机、代理服务器等来隐藏真实设备的指纹。所以可以考虑结合IP地址限制一起使用:


import fingerprintjs2
from flask import Flask, request, abort

app = Flask(__name__)

# 创建一个新的Fingerprint2实例
fp = fingerprintjs2.Fingerprint2()

# 白名单IP地址
IP_WHITELIST = ['127.0.0.1', '192.168.0.1']

@app.route('/book-flight')
def book_flight():
# 获取设备指纹和IP地址
device_fingerprint = fp.get()
ip_address = request.remote_addr

# 检查IP地址是否在白名单中
if ip_address not in IP_WHITELIST:
abort(403)

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


2. 人机验证


人机验证肯定是一个阻挡办法,但是在这种恶意强攻击的情况下,我们可以试试语音验证码(但是可能对用户体验不大友好):


from flask import Flask, request, jsonify
import random
from io import BytesIO
from captcha.audio import AudioCaptcha

app = Flask(__name__)

# 生成随机字符串作为验证码
def random_string(length):
pool = 'abcdefghijklmnopqrstuvwxyz0123456789'
return ''.join(random.choice(pool) for i in range(length))

# 生成语音验证码
def generate_audio_captcha():
captcha = random_string(4)
audio = AudioCaptcha().generate(captcha)
return captcha, audio

# 创建一个全局变量,用于保存已生成的语音验证码
captcha_cache = {}

@app.route('/audio-captcha')
def audio_captcha():
# 生成新的语音验证码
captcha, audio = generate_audio_captcha()

# 将验证码保存到缓存中,以便后续验证
captcha_cache[captcha] = True

# 返回语音验证码
response = BytesIO(audio.read())
response.headers['Content-Type'] = 'audio/wav'
return response

@app.route('/book-flight', methods=['POST'])
def book_flight():
# 获取表单中的验证码
captcha = request.form['captcha']

# 检查验证码是否正确
if captcha not in captcha_cache:
return 'Invalid captcha!'

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


因为对用户体验不大友好,研发同学在设计的时候,最好考虑一下它的易用性和可访问性问题。需要权衡用户体验和恶意爬虫。


结语


“天下熙熙皆为利来,天下攘攘皆为利往。”因为这一块存在着巨大的利益,也就一直吸引着无数黑客从中牟利,而我们能做的,是“魔高一尺道高一丈”,希望能为安全世界尽一份力。


作者:昀和
链接:https://juejin.cn/post/7223965203254771771
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

我的30岁,难且正确的事情是什么?

过去这两年里完成管理角色转型,完成了移动端工程化建设,养成了早睡早起的习惯,还戒了烟,也看了不少书,学会了羽毛球,但这些都不是最重要的。 3月意料之中的最后裁员到来了,在充分了解个人意愿后留下两个不想看新工作的小伙伴,IOS Android各一个。我把自己也...
继续阅读 »

过去这两年里完成管理角色转型,完成了移动端工程化建设,养成了早睡早起的习惯,还戒了烟,也看了不少书,学会了羽毛球,但这些都不是最重要的。



3月意料之中的最后裁员到来了,在充分了解个人意愿后留下两个不想看新工作的小伙伴,IOS Android各一个。我把自己也写进了名单,跟其他能力相对强一点的一起出来了。回顾过去2年我们做的事情,我对大家还是蛮有信心的。同时基于对《钱》这本书的学习,我从前两年开始就一直留有1年以上的备用金,所以暂时也没太大经济压力,不至于因为囊中羞涩着急找一份谋生的工作。


刚离开公司的前两周,先花了1000多找了两个职业咨询师,了解目前的招聘环境,招聘平台,招聘数据,以及针对性的帮助我修改简历。都准备好以后,开始选公司试投简历,认真看完大部分JD后大概清楚自己的能力所匹配的公司,薪资范围。机会确实不多,移动端管理岗位,架构岗位就更少,尤其是像我这样工作不到10年,架构跟管理经验都还未满5年的人,选择更是寥寥无几。


先后参加了两个2面试,一个是小团队的移动 TL,在了解后双边意向都不大。另一个是 Android 架构方向。虽然拿了offer,薪资包平移,但我最终没去。一是发生了一点小误会,发offer前电话没告诉我职级,我以为架构岗过了其实没有,差一点点到P7。回看面试记录,提升并不困难,有能力冲一冲的,这一次并不会影响我的信心。


另一个则是我真的冷静下来了,也就有了这篇文章。


在这两周里,陆续写了一些文章,做了一些开源项目。完全是出于助人为乐回馈社区,没想到也因此结识了几个做阅读业务的同学,纷纷向我抛来橄榄枝。其中包含一个已经在行业内做到Top3的产品。这让我有些受宠若惊,毕竟我觉得我给的技术方案并非有很大门槛,只是运气好站在巨人的肩膀上想到了不同的方案而已。


正是这些非常正面的反馈,帮助我消化了很大一部分所谓的焦虑(难说我本身一点不受环境影响)。在Zhuang的帮助下,我大概做了两次自我梳理,最后在前几天我从地铁回家大概3km的步行中想明白了很多事情。


每次出去旅游时,比如我躺在草原上,看着日落,说实话我欣赏不了10分钟。因为我的思绪停不下来,我就会去想一些产品或者是管理方面的问题。我很爱工作,或者说喜欢工作时可以反复获取创造性的快乐,比如做出一个新的技术方案或者优化工作流程解决一个团队问题,都让人很兴奋。但现在,我想强迫自己来思考一些更长期的事情。


我的30岁,难而且正确的事情是什么?


是找一份工作吗?这显然不难,作为技术人,找一份薪资合理的工作不难,这恰恰是最容易的


是找一份自己喜欢的工作吗?这有一点难,更多的是需要运气。职业生涯就十几年,有几次选择的机会呢?这更多的是在合理化自己对稳定性,舒适性的追求,掩盖自己对风险的逃避。


是找一个自己喜欢的事情,并以此谋生吗?这很难,比如先找到自己长期喜欢长期坚持投入的事情就很难,再以此谋生就需要更多的运气与常年积累去等待这个运气出现,比如一些up主。这可以是顺其自然的理想,但不适合作为目标。


上面似乎都是一个个的问题,或者说看到这些问题的时候我就看到了自己的天花板了。因为我可以预见我在这些方向上的学习能力,积累速度,成长空间,资源储备。


这半年涌出了太多的新事物,像极了02年前后的互联网,14前后的移动互联网。我从去年12月5日开始使用GPT,帮助我提高工作,学习效率,帮助我做UI设计,帮助我改善代码,甚至帮助我学习开网店时做选品,做策略,可以说他已经完全融入我的工作学习了。


开发自己的GPT应用要仔细阅读OPEN AI 的API,我再次因为英语的理解速度过慢严重影响学习效率,即使是有众多实时翻译软件帮助下丝毫不会有所改善。


翻译必然会对原文做二次加工,翻译的质量也许很高,甚至超过原文,但这样意味着阅读者离原文越远。


比如我在Tandem上教老外“冰雪聪明”这个词的意思,我很难解释给她,更多的是告诉她这个词在什么场景用比较恰当,比“聪明”更高级。但是如果用翻译软件,这个词会变着花样被翻译成“很聪明”,美感全无。


在Tandem跟人瞎聊时以涉及复杂事件就词穷,直到认识了一个 西班牙的 PHD 与另一个 印尼的大学生,她们帮我找到了关键点,基础语法知识不扎实,英语的思维不足。有些时候他们会说我表达的很棒,口语也行,有些时候他们会说我瞎搞。其实很好理解,就像他们学中文一样,入门也不难,难的是随意调动有限的词汇自由组织句子进行表达,而不是脑子里先想一个母语再试着翻译成外语,难的是在陌生场景下做出正确的表达,能用已经学的知识学习新知识,也就是进入用英语学习英语的阶段。


另外一个例子就是做日常技术学习的时候,尤其是阅读源码的时候,往往是不翻译看懂一部分注释,翻译后看懂一部分,两个一结合就半懂不懂,基于这个半懂不懂的理解写大量测试去验证自己的理解,反推注释是否理解正确,这个过程非常慢,效率极低。


这就是为什么很多东西需要依赖大佬写个介绍文档,或是翻译+延伸解释之后才能高效率学习,为什么自己找不到深入学习的路径,总是觉得前方有些混沌。


记得在刚入行的前几年写过一篇学习笔记,把自定义view 在view层测量相关的代码中的注释,变量名称整个都翻译了,备注2进制标记位变化结果,再去理解逻辑就非常简单了。跟读小说没啥区别(读Java代码就像读小说,我一直这么觉得),很快就理解了。但这个过程要花太多时间了,多到比别人慢10倍不止。


所以这第一个难而正确的事情是学习英语


达到能顺畅阅读技术资料与代码的地步,才能提高我在学习效率上的天花板。


第二个是有关生活的事情,增加不同的收入手段,主业以外至少赚到1块钱


裁员给我最大的感触就是,我很脆弱,我的职业生涯很脆弱,我的生存能力很脆弱,不具备一点反脆弱性。如果没有工作我就没有任何收入,只要稍微发生一点意外,就会面临巨大的经济压力,对于我和家庭都会陷入严重的经济困难中。


市场寒冬与我有关但却不受我影响,我无法改变。同时平庸的职业经历在行业内的影响微乎其微,大佬们是不管寒风往哪吹的,他们只管找自己想做的方向,或者别人找到他们。


我就认识这样的大佬,去年让我去新公司负责组新团队,连续一两周持续对我进行电话轰炸,因为当时正负责的团队处于关键期,我有很深的“良知”情节,我婉拒了,这是优点也是缺点。


而我只有不断提高自己的能力,让人觉得有价值才能持续在这个行业跟关系网里谋生。


但是我知道,大风之下我依然是树叶,我不是树枝,成为树枝需要天时地利人和。就像在公司背小锅的永远都是一线,因为如果是管理层背锅那公司就出了决策性的大问题了,对公司而言已然就是灾难。


这几周陆续跟很多人聊了各种事情,了解他们在做什么。有双双辞职1年多就在家做私活忙得不亦乐乎,有开网店有做跨境电商的,也了解了很多用Chat GPT,Midjourney 等AI工具做实物产品在网上卖的。包括去年了解的生财有术知识星球等等,真的花心思去了解,打开知识茧房确实了解到非常多不同的方向,有一种刘姥姥进大观园的感觉。


自己做了一些实际尝试,跑了下基本流程,确实有一些门槛但各不相同。同时在这个过程中,又因为英语阅读效率低而受阻,文档我也是硬看,不懂的词翻译一下,理解不透再整句翻译,再倒回来看原文。


比如网上midjourney的教程一大把,其实大多数都不如看midjourney官方文档来的快,我从看到用到商品上架,不过几个小时,这中间还包括开通支付跟调整模型。


至于赚到1块钱,有多难呢,当我试了我才有所体会。


种一棵树最好的时间是在10年前,其次是现在。


继续保持在社区的输出,保持技术学习。休假我都不会完全休息,Gap 中当然也不会。


后记


去年公司陆续开始裁撤业务线,有的部门直接清零,公司规模从几千人下降到千人以内不过是几个月的事情,有被裁的,也有为了降低自身风险而主动走裁员名单,这也是双赢的解决方案,公司能精简人员个人可以拿到赔偿。管理层的主要工作是尽力留下核心成员,温和的送走要离开的成员,最大程度降低团队的负面情绪,做人才盘点,申请HC做些人力补充,减少团队震动保障项目支撑。没错,一边裁员一边还会招人。


彼时我个人也才刚刚在管理岗上站稳脚跟不久,团队里没有人申请主动离职算是对我挺大一个宽慰。有的团队人员流失率接近70%,相比之下我压力小得多,但我依然要交出一个名字给到部门负责人。我当然很不舍同时也为他们担忧,过去一年多大家一起相互成长,很多人也才刚刚步入新职级。


我努力寻找第三选择,功夫不负有心人,之前做过的一个项目独立出去了,成立了独立的子公司运营,新团还没搭建完。当时跟那个项目团队的产品,后端负责人配合得相当不错,我便以个人的背书将一个曾重点负责过这个项目的成员推荐过去,加上直属上级的帮助,最终在所有HC都要HRD审批的环境下平滑的将裁员变成了团队调配。现在即使我离开了母公司,他们小团队依然还不错,没有受到后续裁员影响。这位小伙伴人特别实在,他是我见过执行里最强的人,他值得这样的好运气。


作为管理者,我有些单纯的善意,不满足于工作层面的帮助。因为我觉得个人能量实在是太小了,而未来无人知晓。


作为核心部门虽然裁员的影响波及较为滞后,但明显的感觉还是研发压力骤减,加上公司为了早点达到账面盈亏平衡,对部分薪资采取缓发,在这样的背景下整个部门的氛围变了,需求评审得过且过,项目质量得过且过,此类情况比比皆是,工作的宽容度也一再升高。


作为个人来讲这真是躺平型工作,工作任务骤减但薪资还照样发,绩效照发,每天到公司跟去上学一样。我心里就出现了一个声音「你喜欢在这里继续混吗?这里如此安逸」。


今年3月意料之中的新一轮裁员到来,我几乎没有犹豫就答复了部门负责人。团里谁想留下谁不想留我很清楚,过去我们一直也保持比较健康的氛围,始终鼓励能力强的人出去看看,也明确告知留下来与出去将面临的不同风险。大家都有心理准备,但大家都没有懈怠自己的学习,技术目标按部就班,丝毫没有陷入负面漩涡,偶尔还会因为讨论技术问题忘记下班时间。


这一次,我把自己放在了名单上,当然这并不突然。我与部门负责人一直保持着较高的工作沟通频率,就向上管理这一点上,我自认做得非常不错。


离职后大家都积极找工作,我对他们非常有信心,抛开头部大厂,中厂依然是他们的主阵地,他们在各自专精的领域里技术都很扎实,尤其是去年大家一起补足了深层次的网络层知识。不出意料部分人都很快拿了offer,有的更是觉得不想面试了匆匆就入职了,这我就不行使自己好为人师的毛病了。




滑到底部可点赞评论



浏览橘子树其他文章:橘子树的飞书写作记录


作者:橘子没
来源:juejin.cn/post/7224068169341763643

收起阅读 »

2023年,我从北京回到了东北

(背景应景吗铁铁们) 🎤: 可以讲讲在北京这几年的经历吗?   🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身...
继续阅读 »

(背景应景吗铁铁们)


🎤: 可以讲讲在北京这几年的经历吗?


  🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。
   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身的认知水平,想要跟上各位大佬们的思维,讲真,有的时候P8领导给我们开会,我get不到大部分会议内容的核心点和他表达的东西,最后让我明白了人和人之间的差距真的可能这一生都追赶不上。
   再后来就去到了一家中小厂吧,老板较有知名度,做知识服务的,在这里度过了我最后的北漂时光。


🎤: 在北京一定学习到了很多东西吧,最大的收获是什么?


  🙍‍♂️:这倒是不假,毕竟是帝都,确实让我见识到了很多很多新的东西和形形色色的人们,这是不曾在老家可以看见的。
   至于学习吧,我本身是一个很少会去主动学习的人,更多的情况是在工作需要,我才会去学习。所以不能说没有长进,只能说略微缓慢,但是我并没有觉得自己很差劲。还有一些生活技能,最多的就是做饭
   除了自身的成长以外,要说最大的收获,我必须要很诚实的说,是一些精神问题,曾经有很长一段时间,甚至是到至今,我被自己内心的焦虑所控制,对自我有无数个疑问。我曾经因为一个需求难搞以至于我做梦都在梦我如何去写它的代码;无数次的凌晨钉钉或是飞书群的@消息,我一般是第二天起床才看到,但是看到那些的瞬间我头疼欲裂胸口紧缩。我的内心会一直问:“为什么?为什么不能让我睡一个好觉或者是起一个好早。”,大城市的节奏之快让我睁眼的第一件事就是想到工作,或者是带着工作入眠,开玩笑,入不了,根本入不了。种种原因吧,可能是我心态的问题,所以决定回到老家也是为了尽可能的调整一下自己的心态。


huabu.webp

(自己做的炒鸡蛋和葱爆肉)


🎤: 在北京一定有攒钱吧?


  🙍‍♂️:攒钱是攒了一些,但是没有很多。当我真正开始月薪过万的时候,对于一个从来没有见过5位数进账的人来讲,我开始了一种报复性消费,我把之前不敢买的东西几乎都买了,游戏也充了很多钱,每个月都会买衣服和鞋,甚至如果有的东西我想要但是手里的钱不够,我也会分期买,前两年的消费很夸张,而且从来不记账,现在回想起来那时候真的是虚荣的、丑陋的。(仅对我个人而言)
   真正开始攒钱的时候是从我的女朋友来到北京找我开始,我们感情很好,所以就像两个人正常的在一起生活一样,总是要为生活和未来买单的,于是我每个月发完工资都会经过她的计算后留下基本的生活费,然后全部转给她,她掌管家里的财政,很让我安心。就这样后几年算是攒下了一笔小钱。
   在我的理解是爱情更多还是要责任更多一些吧,所以我不会觉得让我不再乱花钱也是一种约束


🎤: 真正让你决定离开北京的原因是什么?


  🙍‍♂️:没有能绝对决定的原因,只有能压垮的最后一根稻草。
   从刚来北京的奋斗b到现在只想摆烂躺平的我是一个长期的心态上的变化。我最终得出一个结论:这里不适合我,或者说,我不适合它。 影响比较大的几件事都集中在了22年,三件事:
   1. 回家过年
   2. 奶奶过世
   3. 公司裁员
   这三件事贯穿了我整个2022年,可以说是一连串的事情打得我措手不及。于是经过了多次自我内心的审视、对答后,在过完23年的春节后,我做了这个决定,我要离开这里了。 电影的主角们总会说:“What does not kill me, makes me stronger.”,但是对于我来说,可以打倒我的东西太多了,我自认普通且平凡。



I just wanna be free.



🎤: 离开后你都做了些什么呢?


  🙍‍♂️:2月下旬开始处理离职交接的一些事情,同时还有面试一些老家那边的公司,然后租房子,收拾行李。每天真的是累到倒床就睡,感觉这次跨省搬家元气大伤、身心俱疲,掉了半条命一样。
   好在和女朋友的规划下,把时间节点安排的刚刚好,2月末把这些事儿都处理好了之后,3月初我和女朋友就开始了一周的云南之行,我俩称之为:心灵救赎之旅
   路线是丽江-大理-西双版纳,选择去云南是因为我们马上要回到东北,以后像这种东北到西南斜跨全国的旅游机会应该没几次了...让我印象最深刻的是丽江,我最大的感觉就是:纯净(我着实是没有文本功底)。无论人、山、水、云,大家生活在这里,仿佛一片世外桃源


huabu.webp

(丽江的云,是让我觉得离自由和奶奶最近的时候)


🎤: 回到东北后感觉怎么样?


  🙍‍♂️:先说工作吧,我目前在大连一家做车载车机的小公司,因为之前没有做过这类工作,所以最近也是在学习一些相关的知识,在这里真的要特别感谢一位大佬:林栩link,他的文章对于我来说很有帮助。然后工资对于我来讲还算可观,因为对大连这边的就业环境不是很了解,先在这里稳一稳吧。
   我租的房子和公司在一条街上,距离不到300m,每天中午还可以回家吃口饭歇一歇。工作时间的话是早8点半到晚5点半,目前一个月我没有加过班,到点就走了(而且是同事们几乎都这样),晚上和女朋友一起做饭,之后可以去市中心或者是海边溜达一圈,时间非常充足,周末的话会叫上朋友到家里吃饭或者是一起出去玩。
   距离我的老家鞍山也更近了一些,我妈说我自从回来了之后,她总有一种心里的石头落地了的感觉,我没事儿的时候就会和女朋友在周五晚上坐3个半小时的绿皮回去,然后周日的晚上再坐回来,回家吃自己爱吃的东西。
   算是找到了那种安安静静上班,认认真真生活的感觉。
   说这么多是因为这是我在北京这么多年从未体会过的生活,实在是没有发现生活的多样性(可能也是因为没钱吧hhh)。


huabu.webp

(星海广场的灯光秀)


🎤: 未来有什么样的规划?


  🙍‍♂️:哈哈,想在2年内和女朋友领证结婚,首付买一套小房子和一台小鹏G3i或者是零跑C11。然后多去了解了解这边的市场,在这么多空余的时间去计划搞一些副业(万一以后能干成主业呢)。


🎤: 想说的话。


  🙍‍♂️:嗯...看了很多大佬的年终总结,收获颇多,于是也想自己去写出一些东西,表达一下,哈哈哈。
   如果让我来总结自己的每一年的话,我好像只能说:还行、凑合、就那样,又不温不火的过了一年。但是我很喜欢一句话:空想都是问题,落笔皆为答案。不论好坏对错,都是我选择的答案,可能以后还会遇到相同或者不同的问题,只要不会停滞不前就好了。
   最后欢迎大家来找我一起讨论玩耍摸鱼~ 祝好!



我们生來自由,所以希望我们都有勇气选择自由。



作者:啊是小鱼快来摸摸
来源:juejin.cn/post/7222897518517551141
收起阅读 »

五一在即:有哪些办法能阻止票贩子和我们一起抢票?

背景 五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。 有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任...
继续阅读 »

背景


五一就要来了,本来准备去淄博吃烧烤,结果发现根本抢不到机票。了解了一下原因,原来是黄牛的恶意爬虫把票都抢完了,现在买票,只能通过黄牛的渠道,多花几倍的钱来买了。


有鉴于此,想试试能不能针对这种爬虫防止相关问题,当然是站在航空公司的角度,就个人而言,躺平任嘲就得了。


恶意爬虫的相关特征


对于恶意爬虫的特征,航空公司自己有总结:


1、访问的目标网页比较集中:“爬虫”代理人目标明确,主要是爬取班次、价格、数量等核心信息,因此只浏览访问几个固定页面,不访问其他页面。


**2、查询订票等行为很有规律:**由于“爬虫”是程序化操作,按照预先设定的流程进行访问等,因此呈现出毫无思维、但很有规律、有节奏且持续的行为。


3、同一设备上有规模化的访问和操作:“爬虫”的目的是最短时间内抓取最多信息,因此同一设备会有大量离散的行为,包括访问、浏览、查询等。


**4、访问来源IP地址异常:**正常情况下用户在查询、购买时,用户的IP地址比较稳定,而且访问来源IP比较;“爬虫”、“虚假占座”等操作时,IP来源地址呈现不同维度上的聚集,而且浏览、查询、购票等操作时不停变化IP地址。


5、设置UA模拟浏览器和频繁使用代理IP:很多“爬虫”程序伪装成浏览器进行访问,比如在程序头或者UA中默认含有类似python-requests/2.18.4等固定字符串;并且通过购买或者租用的云服务、改造路由器、租用IP代理、频繁变更代理IP等进行访问。


6、操作多集中非业务时间段:“爬虫”程序运行时间多集中在无人值守阶段。此时系统监控会放松,而且平台的带宽等资源占用少,爬虫密集的批量爬取不会对带宽、接口造成影响。以下是顶象反欺诈中心监测到,凌晨1-5点是恶意“爬虫”的运行高峰时段。


浅谈防范措施


1.设备指纹的应用


设备指纹单独用的话,在恶意爬虫面前,会稍微较弱一些。因为攻击者会使用其他技术手段来绕过设备指纹的检测,例如使用虚拟机、代理服务器等来隐藏真实设备的指纹。所以可以考虑结合IP地址限制一起使用:


import fingerprintjs2
from flask import Flask, request, abort

app = Flask(__name__)

# 创建一个新的Fingerprint2实例
fp = fingerprintjs2.Fingerprint2()

# 白名单IP地址
IP_WHITELIST = ['127.0.0.1', '192.168.0.1']

@app.route('/book-flight')
def book_flight():
# 获取设备指纹和IP地址
device_fingerprint = fp.get()
ip_address = request.remote_addr

# 检查IP地址是否在白名单中
if ip_address not in IP_WHITELIST:
abort(403)

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


2. 人机验证


人机验证肯定是一个阻挡办法,但是在这种恶意强攻击的情况下,我们可以试试语音验证码(但是可能对用户体验不大友好):


from flask import Flask, request, jsonify
import random
from io import BytesIO
from captcha.audio import AudioCaptcha

app = Flask(__name__)

# 生成随机字符串作为验证码
def random_string(length):
pool = 'abcdefghijklmnopqrstuvwxyz0123456789'
return ''.join(random.choice(pool) for i in range(length))

# 生成语音验证码
def generate_audio_captcha():
captcha = random_string(4)
audio = AudioCaptcha().generate(captcha)
return captcha, audio

# 创建一个全局变量,用于保存已生成的语音验证码
captcha_cache = {}

@app.route('/audio-captcha')
def audio_captcha():
# 生成新的语音验证码
captcha, audio = generate_audio_captcha()

# 将验证码保存到缓存中,以便后续验证
captcha_cache[captcha] = True

# 返回语音验证码
response = BytesIO(audio.read())
response.headers['Content-Type'] = 'audio/wav'
return response

@app.route('/book-flight', methods=['POST'])
def book_flight():
# 获取表单中的验证码
captcha = request.form['captcha']

# 检查验证码是否正确
if captcha not in captcha_cache:
return 'Invalid captcha!'

# 其他业务逻辑代码...
return "Flight booked successfully!"

if __name__ == '__main__':
app.run()


因为对用户体验不大友好,研发同学在设计的时候,最好考虑一下它的易用性和可访问性问题。需要权衡用户体验和恶意爬虫。


结语


“天下熙熙皆为利来,天下攘攘皆为利往。”因为这一块存在着巨大的利益,也就一直吸引着无数黑客从中牟利,而我们能做的,是“魔高一尺道高一丈”,希望能为安全世界尽一份力。


说个事情:滑动验证码 免 费

收起阅读 »

俞敏洪:我曾走在崩溃的边缘

大家在人生的经历中遇到过很崩溃的事情吗? 我遇到过,遇到这类事情的时候,我会读读名人传记,看看他们有没有遇到我和我类似的事情;他们是怎么处理这些事情的;或者说他们的心路历程是怎么样的。他们的应对方式可能会对我有所启发。 长时间下来,这个习惯让我对名人的苦难经历...
继续阅读 »

大家在人生的经历中遇到过很崩溃的事情吗?


我遇到过,遇到这类事情的时候,我会读读名人传记,看看他们有没有遇到我和我类似的事情;他们是怎么处理这些事情的;或者说他们的心路历程是怎么样的。他们的应对方式可能会对我有所启发。


长时间下来,这个习惯让我对名人的苦难经历或者处理棘手问题的经历有强烈的好奇心。最近,读了俞敏洪的自传《我曾走在崩溃的边缘》,感觉挺有意思。


俞敏洪是新东方的老板,在“双减”政策之后,新东方转型做了直播,也就是大家熟知的东方甄选,可能很多人还买过他们直播间的大米。当然,我没有买过,因为理智促使我很少为情怀买单。


离开北大


俞敏洪曾经是北大的老师,他的梦想是出国留学。但老师的工资低,很难赚够出国的学费。作为南方人的他,天生的商人基因让他找到了赚钱的路子——开英语培训班。这条路子获得的收入比工资高十几倍,利润十分丰厚。


于是,他打着北大的招牌私下招生,这意味着和北大“官方”的托福培训班形成了竞争关系。学校当然不会允许北大老师和北大抢生意,况且学校禁止老师私下办培训班。俞老师无法避免地和校领导发生了冲突,并因此被处分。


图片


处分的通告在学校的高音喇叭上足足播了一个礼拜,这件事情闹得人尽皆知,对俞敏洪名声的伤害极大。后来,学校分房自然没有俞老师的份了。在中国的社会体系下,名声对一个人来说极其重要。这种“德治”社会虽然在人口大国里对秩序起着巨大的作用,但也给一些人带来了巨大伤害。一遭名声败坏,要背一辈子,这对当事人是多大的打击。


那时俞敏洪已经结婚,本可以在大学教书过安稳的生活,但这一纸处分,让他决定从北大离职。最后,他骑着三轮车拉着家当离开了北大,开启了新东方的事业。


图片


死磕办学证


办培训班需要办学证,类似于现在的牌照。如果没有就无法公开招生,这意味着无法扩大规模。俞敏洪没办法,找了当时一个叫东方大学的机构联合办培训班,条件是支付总收入的25%给东方大学。


东方大学不参与招生、培训等所有事情,却要分掉一大笔钱。随着培训班的规模越来越大,俞敏洪意识到这不是长久之计,他决定就算再难,死磕也要把办学证拿到手。


要拿到办学证要符合两个条件:一是必须有大学副教授以上职称,二是要经原单位同意。


俞敏洪在北大只是讲师,没有副教授职称,而且北京大学处分了他,不可能同意他办学。两个条件都不符合,教育局直接拒绝,并叫他不要来了。


不得不说,俞老师的脸皮是够厚的,每隔一两星期就去教育局和办事的人聊天,久了大家就混熟了。


大概耗了半年,教育局放低了办学的要求,只要他能够在人才交流中心拿到允许办学证明就放行。可是人才交流中心的工作人员根本不给他开证明。直到遇见他一个在这里工作的学生,在她的帮助下才拿到证明。


办学证到手后,俞敏洪离开东方大学,开始独立办培训班。原来的“东方大学外语培训部”这块招牌积累了相当的名气,新东方成立后,大量学生还去那边报名。为了顺利切换品牌,新的培训机构起名叫新东方,而且从东方大学买断了“东方大学外语培训部”三年的使用权,每年支付20万。


这一系列的操作,可见俞敏洪有相当不错的商业头脑。


被赶下董事长的位置


中国是一个人情社会,比如亲情、友情、同学情。在这种社会成长起来的人,自然会想到找自己熟悉的人一起做事业。俞敏洪也不例外。新东方的培训班办得风生水起,俞敏洪开始寻找人才。


除了拉亲人朋友入伙,他还出国把大学同学王强、徐小平拉回来一起跟他干事业。这三人被称为“东方三驾马车”,也就是电影《中国合伙人》的原型。


image.png


亲人、同学、朋友之间,天然有信任感,在事业的初创阶段一起工作沟通效率非常高,而且为了共同的目标,凝聚力非常强。


当公司到了一定的规模,这种人情关系构建起来的团队,会使公司的人事关系变得非常复杂。


一是,团队没有组织架构,决策效率低下;二是,老板没有话语权,下面的人不知道该听谁的,却谁都不敢得罪。


后来,在新东方改革期间,创始团队出现各种矛盾,俞敏洪无法短期内处理好这些矛盾,被管理层认为是不合格的董事长。于是,俞敏洪从位置上退了下来。


退位期间,其他几个领导轮流做主,也无法处理好团队的矛盾。俞敏洪开始大量阅读公司管理、股权管理的书籍,积累比其他领导更丰富的管理知识。两三年后,他重新回到董事长的位置上。


他能回到位置上,管理知识是一方面,我斗胆猜测,运气的成分占比很大。毕竟被自己的公司赶走的大有人在。


结尾


除了上面3个故事,俞敏洪还有很多非常精彩的故事,比如“被抢劫险些丧命”、“知识产权侵权风波”、“新东方上市”、“遭遇浑水公司做空”等等。


语言是思想的外衣。他来自农村,《我曾走在崩溃的边缘》这本书语言坦诚,像他本人一样。他的人生非常精彩,展现了他强大的韧性。


他的成功,有时代的机遇,也有个人的努力。我们可能无法准确把握时代的机遇,但可以学习他的努力和韧性,在崩溃之时屹立不倒。


作者:华仔很忙
链接:https://juejin.cn/post/7218487123212091450
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

28岁小公司程序员,无车无房不敢结婚,要不要转行?

大家好,这里是程序员晚枫,又来分享程序员的职场故事了~ 今天分享的这位朋友叫小青,我认识他2年多了。以前从事的是土木行业,2年前找我咨询转行程序员的学习路线和职业规划后,通过自学加入了一家创业公司,成为了一名Java开发。 **最近他遇到了新的职业上的困惑,又...
继续阅读 »

大家好,这里是程序员晚枫,又来分享程序员的职场故事了~


今天分享的这位朋友叫小青,我认识他2年多了。以前从事的是土木行业,2年前找我咨询转行程序员的学习路线和职业规划后,通过自学加入了一家创业公司,成为了一名Java开发。


**最近他遇到了新的职业上的困惑,又找我聊了一下,我也没想到好的解决方法,**大家可以一起看一下~下面是沟通的核心内容。


1、他的问题


小青是中原省份省会城市的大专毕业,毕业季就去了帝都实习和工作。后来发现同学中有转行程序员的,薪资很诱惑,所以就找到我咨询如何学习和转行,现在一家帝都创业公司负责后端开发。工资1w出头。


今年已经28岁了,有一个女朋友,最近女方家里催他结婚,他自己也有结婚的意愿。但是考虑到自己人在大城市,无车无房,创业公司的工作也不稳定,以后吃住花销,结婚后养孩子的花销,再看看自己1w多的工资,女朋友做财务,一个月到手不到1w。


双方家里也都是普通家庭,给不了什么实质的资助,靠自己目前的收入根本不敢想象成家后压力有多大。


所以目前非常迷茫, 不知道自己在28岁这个年龄应该怎么办,应不应该成家?应该怎样提高收入?


虽然自己很喜欢程序员这份工作,但是感觉自己学历不好,天花板有限,程序员还能继续干下去吗?


2、几个建议


平时收到后台读者的技术问题或者转行的困惑,我都会尽力给一些详尽的回复。


但是这次听到小青的问题,说实话,我也不知道该说什么。


在28岁这种黄金年龄,想去大城市奋斗一番也是人之常情,但因为现实的生活压力,却不得不面临着选择离开大城市或者转行到自己不喜欢但是更务实的职业里去。


如果想继续留在帝都,我能想到的有以下几个办法:



  • 首先,如果想继续从事程序员工作,努力提高收入。最快的办法就是跳槽,已经工作2年多了,背一背八股文,总结一下项目经验,应该是可以跳槽到一家更好的公司了。

  • 其次,探索另一个副业收入,例如自媒体。因为我自己就是通过在各个平台开通了自媒体账号:程序员晚枫,分享自己的程序员学习经验获得粉丝,进而得到自媒体收入的。小青也可以实事求是的分享一下自己大专毕业从建筑工作转行到程序员的经验,应该也能帮助到别人。

  • 最后,努力提高学历,想继续在程序员这行卷出高收入,趁着年轻,获得一个本科或者本科以上的学历还是很有帮助的。


受限于自己的经验,我只能给出以上几个建议了。


大家还有什么更有效的建议,欢迎在评论区交流~


3、写在最后


说句题外话,很多人都觉得程序员工资高想来转行,但其实程序员和其它行业一样,高收入的只是一小部分,而且那部分人既聪明又努力。


最重要的是,高收入的那部分人里,大部分都不是转行的,而是在一个专业深耕了多年,最终获得了应有的报酬。


无意冒犯,但听完小青的经历,我依然要给大专以下,想转行程序员拿高薪的朋友提个醒:如果不是十分热爱,请务必三思~


作者:程序员晚枫
链接:https://juejin.cn/post/7209447968218841144
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

2023年,我从北京回到了东北

🎤: 可以讲讲在北京这几年的经历吗?   🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身的认知水平,想要跟上各...
继续阅读 »

🎤: 可以讲讲在北京这几年的经历吗?


  🙍‍♂️:5年多,算是大小厂都经历过了,大概是小-大-中的一个顺序,刚毕业的时候去了一家做线下教育的小公司,现已倒闭。
   后来去到了阿里的一个边缘业务,当不当正不正吧,那段时间我尽可能的提升自身的认知水平,想要跟上各位大佬们的思维,讲真,有的时候P8领导给我们开会,我get不到大部分会议内容的核心点和他表达的东西,最后让我明白了人和人之间的差距真的可能这一生都追赶不上。
   再后来就去到了一家中小厂吧,老板较有知名度,做知识服务的,在这里度过了我最后的北漂时光。


🎤: 在北京一定学习到了很多东西吧,最大的收获是什么?


  🙍‍♂️:这倒是不假,毕竟是帝都,确实让我见识到了很多很多新的东西和形形色色的人们,这是不曾在老家可以看见的。
   至于学习吧,我本身是一个很少会去主动学习的人,更多的情况是在工作需要,我才会去学习。所以不能说没有长进,只能说略微缓慢,但是我并没有觉得自己很差劲。还有一些生活技能,最多的就是做饭
   除了自身的成长以外,要说最大的收获,我必须要很诚实的说,是一些精神问题,曾经有很长一段时间,甚至是到至今,我被自己内心的焦虑所控制,对自我有无数个疑问。我曾经因为一个需求难搞以至于我做梦都在梦我如何去写它的代码;无数次的凌晨钉钉或是飞书群的@消息,我一般是第二天起床才看到,但是看到那些的瞬间我头疼欲裂胸口紧缩。我的内心会一直问:“为什么?为什么不能让我睡一个好觉或者是起一个好早。”,大城市的节奏之快让我睁眼的第一件事就是想到工作,或者是带着工作入眠,开玩笑,入不了,根本入不了。种种原因吧,可能是我心态的问题,所以决定回到老家也是为了尽可能的调整一下自己的心态。


huabu.webp

(自己做的炒鸡蛋和葱爆肉)


🎤: 在北京一定有攒钱吧?


  🙍‍♂️:攒钱是攒了一些,但是没有很多。当我真正开始月薪过万的时候,对于一个从来没有见过5位数进账的人来讲,我开始了一种报复性消费,我把之前不敢买的东西几乎都买了,游戏也充了很多钱,每个月都会买衣服和鞋,甚至如果有的东西我想要但是手里的钱不够,我也会分期买,前两年的消费很夸张,而且从来不记账,现在回想起来那时候真的是虚荣的、丑陋的。(仅对我个人而言)
   真正开始攒钱的时候是从我的女朋友来到北京找我开始,我们感情很好,所以就像两个人正常的在一起生活一样,总是要为生活和未来买单的,于是我每个月发完工资都会经过她的计算后留下基本的生活费,然后全部转给她,她掌管家里的财政,很让我安心。就这样后几年算是攒下了一笔小钱。
   在我的理解是爱情更多还是要责任更多一些吧,所以我不会觉得让我不再乱花钱也是一种约束


🎤: 真正让你决定离开北京的原因是什么?


  🙍‍♂️:没有能绝对决定的原因,只有能压垮的最后一根稻草。
   从刚来北京的奋斗b到现在只想摆烂躺平的我是一个长期的心态上的变化。我最终得出一个结论:这里不适合我,或者说,我不适合它。 影响比较大的几件事都集中在了22年,三件事:
   1. 回家过年
   2. 奶奶过世
   3. 公司裁员
   这三件事贯穿了我整个2022年,可以说是一连串的事情打得我措手不及。于是经过了多次自我内心的审视、对答后,在过完23年的春节后,我做了这个决定,我要离开这里了。 电影的主角们总会说:“What does not kill me, makes me stronger.”,但是对于我来说,可以打倒我的东西太多了,我自认普通且平凡。



I just wanna be free.



🎤: 离开后你都做了些什么呢?


  🙍‍♂️:2月下旬开始处理离职交接的一些事情,同时还有面试一些老家那边的公司,然后租房子,收拾行李。每天真的是累到倒床就睡,感觉这次跨省搬家元气大伤、身心俱疲,掉了半条命一样。
   好在和女朋友的规划下,把时间节点安排的刚刚好,2月末把这些事儿都处理好了之后,3月初我和女朋友就开始了一周的云南之行,我俩称之为:心灵救赎之旅
   路线是丽江-大理-西双版纳,选择去云南是因为我们马上要回到东北,以后像这种东北到西南斜跨全国的旅游机会应该没几次了...让我印象最深刻的是丽江,我最大的感觉就是:纯净(我着实是没有文本功底)。无论人、山、水、云,大家生活在这里,仿佛一片世外桃源


huabu.webp

(丽江的云,是让我觉得离自由和奶奶最近的时候)


🎤: 回到东北后感觉怎么样?


  🙍‍♂️:先说工作吧,我目前在大连一家做车载车机的小公司,因为之前没有做过这类工作,所以最近也是在学习一些相关的知识,在这里真的要特别感谢一位大佬:林栩link,他的文章对于我来说很有帮助。然后工资对于我来讲还算可观,因为对大连这边的就业环境不是很了解,先在这里稳一稳吧。
   我租的房子和公司在一条街上,距离不到300m,每天中午还可以回家吃口饭歇一歇。工作时间的话是早8点半到晚5点半,目前一个月我没有加过班,到点就走了(而且是同事们几乎都这样),晚上和女朋友一起做饭,之后可以去市中心或者是海边溜达一圈,时间非常充足,周末的话会叫上朋友到家里吃饭或者是一起出去玩。
   距离我的老家鞍山也更近了一些,我妈说我自从回来了之后,她总有一种心里的石头落地了的感觉,我没事儿的时候就会和女朋友在周五晚上坐3个半小时的绿皮回去,然后周日的晚上再坐回来,回家吃自己爱吃的东西。
   算是找到了那种安安静静上班,认认真真生活的感觉。
   说这么多是因为这是我在北京这么多年从未体会过的生活,实在是没有发现生活的多样性(可能也是因为没钱吧hhh)。


huabu.webp

(星海广场的灯光秀)


🎤: 未来有什么样的规划?


  🙍‍♂️:哈哈,想在2年内和女朋友领证结婚,首付买一套小房子和一台小鹏G3i或者是零跑C11。然后多去了解了解这边的市场,在这么多空余的时间去计划搞一些副业(万一以后能干成主业呢)。


🎤: 想说的话。


  🙍‍♂️:嗯...看了很多大佬的年终总结,收获颇多,于是也想自己去写出一些东西,表达一下,哈哈哈。
   如果让我来总结自己的每一年的话,我好像只能说:还行、凑合、就那样,又不温不火的过了一年。但是我很喜欢一句话:空想都是问题,落笔皆为答案。不论好坏对错,都是我选择的答案,可能以后还会遇到相同或者不同的问题,只要不会停滞不前就好了。
   最后欢迎大家来找我一起讨论玩耍摸鱼~ 祝好!



我们生來自由,所以希望我们都有勇气选择自由。


作者:啊是小鱼快来摸摸
链接:https://juejin.cn/post/7222897518517551141
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

写在入职九周年这天,讲讲这些年的心路历程

往前翻翻才意识到已经很长很长时间没有写文章,大概具体有多长?感觉上有一光年那么长。 今天,刚好是入职九周年,竟然遇到周末,省了奶茶钱。是的,没错,我在一个窝里面趴了九年。 这些年,彷徨过,迷茫过,孤独过,也充满热血的奋斗过,激情的追求过,有犹豫,有脆弱,也有失...
继续阅读 »

往前翻翻才意识到已经很长很长时间没有写文章,大概具体有多长?感觉上有一光年那么长。


今天,刚好是入职九周年,竟然遇到周末,省了奶茶钱。是的,没错,我在一个窝里面趴了九年。


这些年,彷徨过,迷茫过,孤独过,也充满热血的奋斗过,激情的追求过,有犹豫,有脆弱,也有失落。在悠悠岁月中,能及时不断做出调整,让自己学会享受工作带来的乐趣,学会慢慢成长。在当下浮躁的时代,写些闲言碎语,给诸君放松下心情,缓解压力。


过去的那些年


入职那天,阳光明媚,清风柔和,大厦旁边的道路开满迎春花,连空气都是甜的,让人不由自主地深呼吸,可以闻到花香草香,还有阳光的味道。


那一天也是为数不多来上班较早的一天,哦吼有大草坪,哦哟还有篮球场,这楼还波浪线,牛批,B座这个大厅有点大,有点豪华,牛批牛批,头顶上这看着怎么像熊掌,12345,设计真不孬啊。慢慢的大厅上聚集了很多人,有点吵,咋也没人组织一下呢,大家都很随意的站着等待,陆陆续续有员工来上班。


“XXX”,听到有人喊我名字,吓我一跳,还以为偷看小姐姐被发现了。


“站到靠近电梯入口的最右一列,第一个位置上”,“XX,去站在他后面”,“大家按我叫名字的顺序排好队,咱们准备上楼了”。


那会儿,AI 还不会人脸识别过闸机。


呦呵,这公司真牛批,还有扶手电梯。跟着带路的同学来到三楼五福降中天会议室,一个挺老大的屋子,还有各种数不过来的高大上仪器电子设备,一周后,也是在这里,我和厂长面对面聊聊人生。坐稳扶好后,HR 同学开始入职培训,我摸摸新电脑,摸摸工卡牌,心里美滋滋,想到未来几年,将在这样美妙的环境中度过,喜不胜收,甚至我都闻到了楼下食堂啵啵鱼的香味。


培训刚结束。


“我叫到名字的同学,跟我来。XXX,XX……”,纳尼???中午还管饭??这福利也太好了吧,真不用吧,我自己能找到食堂,再说,你知道我喜欢吃什么吗?“跟着我走,咱们去北门做班车,去另一个办公楼,你们的工位不在这儿。”不在这?还坐班车?what?被外包了?她刚刚喊我了吗???差不多六七个同学,跟着楼长鱼贯而出,下楼,走小路,几分钟后,上了班车。司机大哥,一脚油门,就带着我远离啵啵鱼。


大约10分钟,也有可能是5分钟,或者15分钟,按照现在萝卜快跑无人车的速度,是7分钟。来到一栋圆了咕咚的,长的像长南瓜的楼,它有一个很科技感的名字,“首创空间”,就是这个空间,不仅给我带来技术的成长,还有十几斤的未来多年甩也甩不掉的肥肉。没有啵啵鱼的日子,相见便成为世上最奢侈的愿望。


大约是两年后的初春 ,准确的说,不到两年,记得是二、三月份,北京的PM2.5比较严重的时候,鼻子还不会过敏,也没学会发炎,眼睛也不知道怎么迎风流泪,总之,我们要搬家了。


“科技园”\color{#333333}“科技园”,听听,听听,多好的名字,长得像无穷大与莫比乌斯环,楼顶带跑道,位置也牛批,毗邻猪厂、鹅厂、渣浪,北邻联想,西靠壹号院,远眺百望山,低头写代码,啧啧,美滋滋的日子又来了。当时还没有共享单车,晚饭时蹭着班车和一群小伙伴过去看新工位,喏,不错不错,挺大,位置离厕所不远,不错不错,会议室安静舒适好多个,不错不错。重点来了,食堂大的离谱,还有很多美食,连吃几个月,基本不重样。吃过几次啵啵鱼,与大厦简直天壤之别,怀念。


机会说来就来,几个月后的一天,发生了一件大事。我回到了梦开始的地方,那让人朝思暮想的啵啵鱼,那让人魂牵梦绕的味道,那让人无法忘怀的美妙口感。


清醒一下.gif


命运说变就变,国庆休假回来,食堂换了运营商,我他么……¥#%@%#!@#@!&%


一直没变的:不忘初心,砥砺前行。


曾经觉得自己无所不能,可以改变世界,总幻想像蝴蝶一样扇扇翅膀,亚马逊的雨林就会刮起大风。食堂吃的多了,越来越认识到自己的影响力微乎其微,我们能做到,是把交代的工作做好,做到极致,应该就是对公司最大的回馈了,也对得起日渐增多的白发。


早些年,搞视频直播,课程学习,每天研究各种编解码技术,与视频流打交道,看过不少底层技术原理书籍,探索低延迟的 P2P 技术,枯燥,乏味,也跟不上时代变化,觉得自己会的那些早晚被淘汰,技术乏陈革新的速度超乎想象,而你所负责的,恰恰不是那些与时代贴合度较高的业务,边缘化。


怎么破?


从来没有人限制你,不允许你去学习。\color{red}从来没有人限制你,不允许你去学习。


因为恰巧在做课程的直播、录播,需要特别关注课程内容,主要担心出现线上问题,刚好利用这个契机,了解到很多跨专业,跨部门的业务,当时给自己的宗旨是,“只要有时间,就去听课”,“凡是所学,皆有收获”。前后积累近千小时的学习时长,现在想想,觉得都有些不可能,怎么做到的,是人吗?这是人干的事?


日常工作,专心不摸鱼,积极努力提高工作效率,解决研发任务,配合 peer 做好产品协同。晚饭后,专心研究 HTML大法,通勤路上手机看文档,学 api 用法,学习各种牛批的框架,技巧,逛各大论坛,写博客做积累,与各种人物斯比,每天晚上十点,跑步半小时,上床睡觉,生活很规律。


机缘巧合下,我终于从一个小坑,成功跳到一个大坑,并至今依然在坑中。那天,我想起了啵啵鱼。


16797732_0_final.png


一直在变的


团队在变,用两只手数了数,前前后后换了七次 leader,管理风格比五味杂陈还多一味,有的事无巨细,有的不闻不问,有的给你空间让你发挥,有的完全帮不上忙。怎么破?尊重,学习,并努力适应,不断调整心态,适应环境的变化。


业务在变,这么多年数过来,参与过的产品没有一百也有八十了,真正能够长期坚守下来的产品不多,机会可遇不可求,能得一二,实属幸运。把一款产品从零做到一,很容易;再做到十,很难但能够完成;再从十到百,几乎不可能。互联网公司怎么会有这样的产品存在,少之又少。


技能在变,经历过前端技术栈井喷的同学都深有体会,学不动的感受。


时代在变,社会在变,人心也在改变。


曾经多次想过换个环境,换一个坑趴着,毕竟很多机会还是很诱人的。印象最深的一次,是在某年夏天,对手头的工作实在是感到无聊。由于前一年小伙伴们的共同努力,产品架构设计相当完美,今年的工作接近于智力劳动转变为纯人力的重复的机械的体力劳动,对产品建设渐失激情,每天如同行尸走肉般的敲键盘,突然意识到,自己到了职业发展瓶颈期。如何抉择,走或留,临门一脚的事,至于这一脚踢向何方,还未知。


忧思几天后,去找 leader 沟通,好家伙,他让我呆在这里别动,帮他稳住团队,他要撤,一两个月的事。好家伙,你不殿后掩护我们,自己先撂了,还说可以试试带团队,我说大哥,也没几个人呀。他说你还能招兵买马,试试新的角色,体会下不同的视角,很好的机会。坑,绝对的大坑,我他么竟然义不容辞的答应了。


好在,不枉大家这么多年的认可,团队战斗力很强大。


你觉得什么是幸福



  • 有独处的时间

  • 有生活的追求

  • 工作能给你带来乐趣


颐和园.jpg


前些日子,给娃拿药请了半天假,工作日人不多,十点多就完事了,看看时间地铁回去差不多到公司刚好中午饭。医院出来看到很多小黄车,美团那种新式的自行车,看着很不错,还没体验过,特别想兜几圈。查地图,距离公司有22公里,按照骑行的速度推算,70分钟也差不多到了。打定主意后,书包里翻出俩水煮蛋(鬼知道我为什么早上去公司拿了俩鸡蛋)和一瓶水(鬼使神差的早上往书包放的),算是吃过早饭了。于是一个人,一条狗,开局一把刀,沿着滨河路,经过木樨地,二里河,中关村南大街,北大街,信息路,上地西路回来了。您还别说,就是一个地道。竟然还路过玉渊潭,还遇到了封路限行,静悄悄的圆明园东路,过国图,还有数不清的大学,附中,有那么一瞬间好想回母校去看看,总之,重点是顺路吃到心心念的煎饼果子。


路上给媳妇打电话,这小妞竟然说我疯了,疯了?你懂个屁,这叫幸福。


人生的乐趣


人生的乐趣何在?你的答案和我的答案可能不一样,作为打工人,我知道,肯定不是工作。但似乎又不能没有工作,不工作我们怎么活着?怎么在这个社会上,换取资源,立足于当下,着眼于未来。说回工作,最后悔的事,曾经有那么一小段,人际关系没有处理好,可能造成误会,当时来自于我对某些事情的不表态,默许的态度,十周年前修复它。最快乐的时光,是和大家一起沉浸在技术点的探讨,Bug的跟进定位,发现问题解决问题的成就感;参与产品的规划,出谋划策,影响他人;挑灯夜战,专注于产品的 DDL,为上线争分夺秒的努力前行,感受团队的力量。


这个春天,爬过许多京郊的小山头,站在山顶,凝视着壮丽的景色,总以为自己是秦始皇。不惑之前,去征服贡嘎雪山。


总之,故事太多讲也讲不完,作为一个九年的老东西,我是不会爆金币的。


到结尾了,给点建议吧


建议?给不了给不了,我自己还没活明白。


历史的滚滚车轮中,每个生命都很渺小,时代一直在变,抓住机遇,让自己成长,多读书,沉下心,慢慢来。


16795669_0_final.png


作者:水鳜鱼肥
来源:juejin.cn/post/7222509109948989501
收起阅读 »

你可能想了解的开源开发者两年经历

前情提要 2021年初时写过一篇《三年 三本 BAT 要素齐全 | 2021年终总结》 的年终总结,正如上文所说,我离开了广州来到深圳鹅厂,阴差阳错之下我从一个业务切图仔变成了一个开源开发者。 彼时我的心情是那么忐忑,我向往开源工作,但又害怕自己不成熟的想法会...
继续阅读 »

前情提要


2021年初时写过一篇《三年 三本 BAT 要素齐全 | 2021年终总结》 的年终总结,正如上文所说,我离开了广州来到深圳鹅厂,阴差阳错之下我从一个业务切图仔变成了一个开源开发者。


彼时我的心情是那么忐忑,我向往开源工作,但又害怕自己不成熟的想法会给别人带来负担,而不敢向开源仓库提PR。


两年下来我已经习惯了常态化的开源开发生活,是 libpag 的核心开发兼 Web 端 owner。但因为生活的变动,我将要离开现在的团队,所以想在最后记录一下这两年的开源开发经历。



本文不会有很多技术细节的分享,更多的是经历的分享与一些建议。



参与


2021年中加入PAG团队,从了解 PAG 的工作流,PAG 文件格式开始参与到团队的开发工作中,慢慢地完成了Web上简化版本的渲染SDK,再到基于 WebAssembly + WebGL 架构适配了 Web 平台,完成了 libpag 在主流平台的最后一块版图。


时间来到2022年1月14日, libpag 完成 4.0 重构与 Web 平台的适配后在 GitHub 上正式对外开源,也完成了从内部开源到外部开源的转变。


讲到这里我希望能给想要参与开源的同学一些建议,开源团队都是希望有尽可能多的人能够参与到开源社区中来,所以不要害怕提PR。 开发者一般都会把开发流程和注意点记录在 README 中,只要仔细阅读完仓库中相关的文档,就可以大胆地参与共建。当有不确定的想法时,也可以先提一个 issue 与开源团队探讨,确定思路之后,提出 PR,开源团队 Code Review 有问题时也会提出 comment,修改问题无误之后就会合入主干了。


参与开源库的共建可以给你的简历留下浓墨重彩的一笔,对找工作也是有一定帮助的。(打工人狂喜


蜕变


从2022年1月14日对外开源以来,业务接入量也从最初的40个迅速扩大超过 600 +,其中包含微信、手Q、王者荣耀、小红书、知乎、B站、京东等知名APP。


随着对接业务数量的增加,大家的交流也多起来,搭建了专门用于交流的PAG 论坛 bbs.pag.art/,团队的工时也有很大的一部分开始被对接工作所占用,同时我们也收到了很多不同的场景需求。


根据开发者们提供的这些不同的场景需求,我也规划了 Web 端的 Roadmap,比如 4.1 版本中完成了微信小程序的适配,4.2 版本中支持了 WebWorker,还有数不完的优化。


寒冬


随着互联网寒冬的到来,降本增效的浪潮开始席卷各大公司。在这个环境下对于开源工作的开展是十分困难的,人员的骤减让以往免费的即时对接无法继续延续。成本、收益等问题被重新拿上台面,开源几乎只剩下为爱发电。为了生存,也为了还有机会继续维护这个开源仓库,大家都被迫走上商业化的道路。


无关团队,说一些自己的看法。其实国内的开源环境并不好,虽然有很多优秀的开发者前仆后继地投身其中,不停的优化着开源这块土壤。当维持社区 SDK 功能不变,探索一些新的商业化道路谋求生存时,就会有一些奇怪的声音出现。“准备捞钱了”、“吃相难看”等等,但其实开源 SDK 并没向使用者收费过一分钱,开发者也希望在不影响社区的情况下谋求生存。


希望在这个寒冬里,大家少一点戾气,多一点包容,都是为了生存。


后记


原本想写最近很火“前端已死”的话题,聊聊这个寒冬中面试的建议,还想写写 libpag Web源码的解析。


但最后还是选择在这个时间点,写一写关于开源工作的一些记录。


如果你对其他话题有兴趣,欢迎点赞评论,请求加更。


作者:zenoslin
链接:https://juejin.cn/post/7222509109949022269
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

我又写了一堆烂代码

“我又写了一堆烂代码!” 这句话我经常对自己说,目的是为了督促自己不断地思考所写的代码是否足够可靠。 不要觉得代码通过了 QA 的测试就万事大吉了,如果你为了实现某个功能,而破坏了原有系统的规则,或者让代码变得耦合,那么这就是一件糟糕的事情。 我通常在实现某个...
继续阅读 »

“我又写了一堆烂代码!”


这句话我经常对自己说,目的是为了督促自己不断地思考所写的代码是否足够可靠。


不要觉得代码通过了 QA 的测试就万事大吉了,如果你为了实现某个功能,而破坏了原有系统的规则,或者让代码变得耦合,那么这就是一件糟糕的事情。


我通常在实现某个功能后,我都会问自己几个问题。


第1个问题:我刚刚做的工作是让整个系统更容易改变还是更难改变?


优秀的代码设计都满足一个原则:ETC原则。即 Easier To Change,更容易变更。


我们学过的任何其他设计原则,其实都是 ETC 的一个特例。



为什么解耦很好?因为通过隔离关注焦点,可以让每一部分都容易变更——此谓ETC。
为什么单一职责原则很有用?因为一个需求变化仅体现为某个单一模块上的一个对应变化——此谓ETC。
为什么命名很重要?因为好的命名可以使代码更容易阅读,而你需要通过阅读来变更代码——此谓ETC!



当你在思考自己写的代码是否可靠时,ETC 就是一个很好的向导。


如果需求变更,你的代码是否能轻易的做出改变,以适应这种变化,甚至是可以被替代。如果不能,那么你的代码就成了一种障碍。


所以,ETC 它更像是一种价值观念,能够帮你在不同的方案中,选出正确的那一个。同时,也能让你的代码不断进化。


第2个问题:有没有为了偷懒,写了很多重复的表达?


要让项目更容易理解和维护,唯一的方法是遵循这条原则:系统中的每一部分,都必须有一个单一的、明确的、权威的代表


这个原则被称为 DRY 原则(Don't repeat yourself 不要重复你自己)。也可以叫 OAOO(Once and only once 一次且仅一次)。


来看一个违反 DRY 原则的例子:


void calculate(int money){
if (money >= 400) {
print('打折后的价格为¥:${money*0.7} RMB');
}else if(money >= 300){
print('打折后的价格为¥:${money*0.8} RMB');
}else if(money >= 200){
print('打折后的价格为¥:${money*0.9} RMB');
}else{
print('打折后的价格为¥:${money} RMB');
}
}
复制代码

这个例子就是典型的重复。


假如价格的单位变更了,改成卢布,或者其他货币,那一共需要修改 4 处 RMB。


再比如,'打折后的价格为¥' 这个文案有调整,改为 '折后价',那么也需要修改 4 处的内容。


所以,平时写代码时,一定要避免这样的写法。


第3个问题:我写的代码有没有破坏正交性?


“正交性”是几何学中的概念。若两条直线相交后构成直角,它们就是正交的。


“正交性”在计算科学中,表示独立性或解耦性。


对于两个或多个事物,其中一个的改变不影响其他任何一个,则这些事物是正交的。


举个例子,在项目中,如果你改动了 UI 相关的代码,而不影响其他业务逻辑(比如数据库操作,网络访问逻辑等等),那么这样的系统,就属于设计良好的系统。


相反,如果你发现自己改动其中一处的代码,会影响很多地方,那么你就得思考一下,是否需要重构代码了。


一般来说,保持代码的正交性有以下几个实用的方法:



  • 使用最少知识原则(迪米特法则)来保持代码的解耦性。

  • 避免全局数据。只要代码引用了全局数据,就会将自己绑定到共享该数据的其他组件上。


希望你也养成不断质疑代码的习惯。只要有机会就重新组织、改善其结构和正交性(重构)。



作者:陈有余Tech
链接:https://juejin.cn/post/7107423109434736653
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

低代码平台是否会取代程序员?答案在这里

上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢? 故事 程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD 架构师老李: 多个大型项目经验,精通各种屠龙宝术; 程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和...
继续阅读 »

上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢?


故事


file


程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD


file


架构师老李: 多个大型项目经验,精通各种屠龙宝术;


程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和维护公司核心数字系统,但最近他们经常因为应对新需求而焦头烂额。


有一天,老李向小张提出了使用低代码平台来加快应用开发的建议。小张听完后不太理解,认为低代码平台会取代程序员,使开发工作变得简单和机械化。


老李解释说低代码平台并不会取代程序员,而是让专业的开发人员从简单、重复的开发需求中解放出来,让他们能更好地投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等,并且低代码平台仍然需要由程序员开发和维护。


小张听后开始思考,认为这个建议确实有道理。他决定利用低代码平台来创建一些敏捷运营类应用,以减轻自己的工作量,并利用更多时间进行系统分析和优化。


于是,小张按照老李的建议利用低代码平台创建了一款敏捷运营类应用,并与老李一起进行了测试和上线。在此过程中,他们深刻领悟到低代码平台的优势,如快速开发、易于维护和扩展等等。


最终,他们成功地为公司创造了一个具有高效性和可扩展性的应用程序,并受到了同事们的好评。小张也明白了使用低代码平台并不是把程序员取代掉,而是让他们更好地利用时间和技能,为团队带来更多价值。


问题


越来越多的企业进行数字化转型,信息化升级。


系统的统一性和集成一直是一个难题,传统模式需要通过多套系统才能满足企业整体的信息化需求,想要统一打通非常困难。


程序员的高薪一直是企业高昂的成本,当出现新的生产工具,必定会对生产关系产生一定影响。


低代码在企业应用开发中的场景?


市场上有哪些种类的低代码平台呢?


低代码到底是怎么降本增效的?


低代码取代程序员怎么破局?


低代码


低代码平台的热度可谓风头无两,


那么低代码是什么呢?简单给它下一个定义。


通过可视化、模块化、拖拽式代替了传统的开发方式,达到了“降本增效”的目的,加速了企业数字化转型的进程的工具平台;


file


1 低代码的使用场景有哪些?


一般来说,核心的业务系统不会使用低代码从0到1搭建,低代码适合搭建基于核心数字系统之上的创新类应用,敏捷运营类应用。
这类应用使用低代码可以极大提升技术研发和系统交付的整体效率。
低代码当前处在技术成熟度曲线中的创新阶段,后面模板会越来越丰富,生态越来越完善,低代码的适用范围也会不断扩大。
下面五类应用是比较适合用低代码来实现的。





































种类说明点评
企业门户包括App、小程序、PC门户等等,数据都来自中台、后台,企业门户只是做展示,以及简单的互动。xxcube正在覆盖
数据操作和展示应用通过连接企业的数据库,把生产经营的数据进行编辑删除查询等操作。可预研
基于表单的应用基于数据库的表单收集、处理、统计类应用。xxcube正在覆盖
业务流程类应用定义复杂的工作流,跨部门协作流程,复杂审批流程,比如:OA、人力、财务等系统。xxcube正在覆盖
移动端应用基于已有核心生产经营系统,进行移动化的应用场景。xxcube正在预研和了解

以上5类应用已经覆盖了企业数字化的80%的场景了,低代码的使用范围非常的广泛。


3 低代码平台的分类


目前低代码属于蓝海市场,以中国IT企业的创新速度,未来的竞争会非常激烈。
按照低代码的应用场景,可分为4类。列表对比一下。
































种类说明xxcube的对比
原生低代码即面向通用型企业软件的低代码厂商,你可以从0构建一个企业经营系统,使用低代码平台将它实现出来。代表企业: 数睿数据、奥哲、轻流,国外的Mendix、OutSystems等等。具备能力
云平台低代码软件作为云平台生态其中的一环,是云原生一体化的企业解决方案,企业云平台的能力补充。比如阿里云(宜搭,氚云,简道云),腾讯云(微搭),微软(Power Platform)具备能力
行业软件低代码平台本身是非常成熟的行业软件,他们积极拥抱低代码,借助低代码解决企业个性化的需求,拓展软件应用场景。金蝶(企业管理,财务)、明道云(地产物业)、网易数帆(游戏)、销售易(CRM)、Airtable。聚焦游戏发行,游戏开发细分领域
软件开发工具做软件开发工具的,借助低代码实现功能模块化,帮助开发人员进行快速开发。Zion、葡萄城、ClickPaaS具备低代码扩展能力

3 低代码是怎么降本增效的?


file


**低代码,将传统软件开发的6个环节,缩短到了3个环节。**即通过把“需求设计”、“架构设计”、“编码”,聚合为“模块搭建”。


简单来说,低代码的开发模式,就是在需求梳理清楚后,用“拖拉拽”的方式把功能实现出来。


以一个10人天的软件开发需求为例:


传统软件开发模式,总共需要5个人,即:1个产品、2个开发、1个测试、1个运维,开发周期8天。


低代码开发模式,总共需要3人,即:1个产品,1个开发,1个测试,开发周期2天。


也就是说,使用低代码开发模式,同样的需求,节省开发周期70%,减少技术人员40%。


这只是一个粗略的估算。总之,低代码能够用更短的时间、更低的成本,实现软件产品的交付。


4 低代码平台的出现真的会取代程序员吗?


答:不会取代程序员,低代码的优势是可以让专业的开发人员从简单、重复的开发需求中解放出来,把精力投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等。
首先,低代码平台不也是程序员开发的吗?再说了,使用低代码进行软件开发的,不还是包含程序员吗?
低代码虽然是“低”,也还是有代码的,除非是无代码平台,在适合的业务场景之下,确实不需要程序员了,可以由业务人员直接搭建应用,但那毕竟是特定场景。
低代码虽然不会干掉程序员,但是对程序员、产品设计人员提出了新的能力要求。越来越多的程序开发工作,将会通过低代码来完成。


技术人员必须到一线中去,跟业务人员在一起,跟最终用户呆在一起,打造更便捷易用的软件产品给业务赋能,用新的科技手段帮助业务转型、业务创新,使企业具备敏捷反应的能力。
否则,企业将会很快被时代抛弃,连打声招呼的机会都没有。


对广大程序员来说,可以按照下面的要点进行应对。
































招数说明自查
1. 警惕重复性编码工作CURDboy请多学一些硬核技术。比如梳理系统架构、理清业务逻辑。低代码已经能够完成复杂业务流程类开发工作,能够基于表单驱动、模型驱动的方式进行软件开发工作。最先被替代的就是那些技术含量低的重复性编码工作。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
2. 错位竞争,在低代码不擅长的领域深耕对于界面效果要求特别高、复杂的算法和数据挖掘、高性能和复杂系统架构、要求较高的底层开发等方面工作还不能胜任。低代码首先模板,生态,可扩展性限制。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
3. 重视企业数字化的建设方法论学习随着低代码的不断成熟,越来越多的业务系统研发工作将由低代码平台来完成,很多企业的老板会看到这块的价值企业运营和建设相关的知识学习中
4. 终生学习,时刻准备职业B计划顺应潮流,学习最先进最高效的生产工具和技术,往往可以对同一赛道的保守选手降维打击;职业B计划是应对职场风险的最佳途径;持续学习技术和管理,持续输出,职业B计划酝酿中

一个心酸的故事,希望能给广大程序员一点启发:



在工业革命时代早期,有工厂主发现纺织机经常在夜里遭到破坏,就派人躲在角落里观察,看看到底是谁在使坏。因为当时没有监控摄像,只能用人肉监控。
结果他们发现,是一些小作坊的纺织工人在搞破坏,原因是他们认为先进的纺织机抢走了他们的工作,而织布是他们赖以生存的手艺,不甘心这几十年修炼出来的一身本领,一夜之间被一台机器所取代,所以破坏机器泄愤。



现在的chatgpt也是影响力类似低代码的先加生产工具,作为程序员应该要主动拥抱他,利用它;



























工业时代IT时代启发
工厂IT公司资本或者资本机构: IT时代要重视低代码,作为程序员,要积极拥抱低代码,这是新的生产工具,可以成为自己的武器。低代码时代已来,不必焦虑,冲过去大力拥抱它,相信这一次,时间会站在变革者这一边。一些行业资深人士,视低代码为“毒瘤”,不仅暴露了自身的无知,也误导了部分从业者,也引起了无谓的恐慌。
纺织机低代码生产工具-静态
工人程序员\业务人员生产工具-动态

作者:李福春
链接:https://juejin.cn/post/7222832297854287929
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

裸辞一个月备考事业编所历所思

3.7日正式离职离现在也一个月了,这一个月里人类该有的情绪或大都尝了一遍。浅聊一下这一个月里干的事及一些感受。 原计划与现实 原本计划三月中旬提离职,四月 深圳-〉重庆-〉云南 半月游,五月开始刷题、下旬回到武汉。 计划永远赶不上变化。 2.23像往常一样坐在...
继续阅读 »

3.7日正式离职离现在也一个月了,这一个月里人类该有的情绪或大都尝了一遍。浅聊一下这一个月里干的事及一些感受。


原计划与现实


原本计划三月中旬提离职,四月 深圳-〉重庆-〉云南 半月游,五月开始刷题、下旬回到武汉。


计划永远赶不上变化。


2.23像往常一样坐在工位吃早餐。打开手机微信,看到一条订阅关于湖北事业单位招考的。于是,点进去看了看报考单位,那时就开始在想要不要试试。好嘛,我和一些朋友说了这个打算,好几个也一起加入备考大军。


第二天周五我调休了。算上周末三天,我开始了解事业单位考试及确定报考的岗位(实则,啥也不知道,随便选了一个我们小县城的岗位试试看)。


周一去到公司就提了离职。最后走的那天晚上请了几个同事吃了散伙饭,道了告别。


离职.png



我:拜拜,下辈子再见~ (人生中很多人再见就是再也不见了)



IMG_1089.png


备考


报名.PNG



  • 前期


离职后,当然是要给自己放松一下。于是,给自己放纵了两天。


接着开始备考。朋友分享了一套粉笔课程,每天也就看1-3个职测基础视频。


开始还是感觉蛮新鲜的。特别是一些逻辑、图形推理。哇,原来有这些套路。还记得以前面试一家公司让我做的题和这些差不多,当时觉得这都是些啥啊,和我做前端有关系吗。


其实期间除了看视频学习,其他时间基本都是在刷手机。那段时间B站推给我的全是大龄找不到工作、工作不好找等等让人致郁的视频。每天除了不专心学习就是无止尽的焦虑感。



  • 中期


后面把理论攻坚里的职测看完之后,更加放飞自我,每天也就打开粉笔app做几道题,然后就去手机里吸收消极情绪。很好笑,每天都在继续做前端、转行、摆摊、回家种地无限循环,当然包括现在偶尔也会是这样。


第一天:


等我考完这个破试回去武汉还是先找前端工作看看。


第二天:


刷了下B站,刷到说程序员找不到工作了,大龄了更加没人要了。那就考完试回来把后期视频好好学习下,回去找个剪辑师工作试试。


第三天:


打开Boss,搜索剪辑师;很多都是招流媒体,然后要求:会剪辑、会策划、会写脚本、会拍摄、会运营,还需要有工作经验。


又是那个无解的问题。


公司:我们需要有经验的。


我:我就是没有经验才找工作积累经验啊。


总结:转行不易。


第四天:


发现现在摆摊很火,去B站刷别人摆摊分享。了解了很多,常见的烤肠,还有之前没听过的热奶宝。这里可以推荐一个up主蜻园,还蛮不错的。


第五天:


算了,先考完试再说吧,实在不行就回家种地。刷B站,哎,这个剧还不错搜索全集cut,花几天看完。


这段时间差不多一个多星期,情绪就在这些上面循环往复,每天凌晨1、2点开始睡,但是得翻来覆去,差不多4、5点才能睡着,第二天起来已经中午了,再做个饭,差不多下午了,一天也差不多了。每天都是致郁的一天。



  • 后期


要考试了,得突击一下,把考前冲刺视频看了看,一天做几题。裸考综应和公共基础,其他随缘吧。


备考.png


参加考试



  • 去到酒店
    IMG_1258.png
    酒店备考.png


IMG_1271.png



  • 考试当天


考试的人真多,看起来很多都不是很大。


考试当天.png


考试当天听到一个女生对另外一个说:考试前几天整晚整晚都睡不着。(现在的人都不容易啊,很多大学生毕业即失业,都在卷考研、考编;白天准备考研,晚上准备考编。)


去到考场,安检然后需要手机关机,真是尴尬,第一次用苹果手机不会关机,当时迟迟关不了机,监考老师一度怀疑我有问题。


说:哎,你怎么回事,关机关这么久。


最后我问了旁边考生怎么关机,然后老师教了我,接着说:不会你早点说啊,一点都不谦虚。


我尴尬而不失礼貌的微笑。


快要考试了,我去上了个厕所,毕竟连续考三个半小时,时间也紧张,压根做不完,上厕所时间都得把握的好(喂,能不能在学习上多花点功夫哈)。


离谱,去厕所路上经过一个教室,外面三个女生都还在看书复习,我上完厕所出来,还在看,然后监考老师对她们说,快进来安检了,不要看了。


进考场看过来,可以看出很多女生都是那种很爱学习的人,就感觉我一个是来碰运气的。



  • 考试中


职测真做不完,之前和朋友说语文我完全不行,只能靠数学,结果数学计算相关压根没时间做。做题顺序不是按考卷顺序来的,开始也直接跳过常识题,直接言语开始啥的。


记得等我计算完资料分析的第一题后,我一看时间,我的妈,只剩下半小时了,数学运算直接放弃,当然不止数学运算,还有几十道都没有做,都是选择题,最后都是闭眼涂。


最无语的是我的综应都没有做完。作文十年没有写过了,我TM全抄的给的素材,离大谱;字写的也丑,唯一记得是以前老师对我说:一笔一画写清楚就行,不要连笔。感觉不连笔我字都不会写了,反正做的特慢,作文还大篇幅抄,最后来个总结,离大谱。



  • 考完试


考完试我就感觉自己是废物,感觉可以另谋生路了,这辈子估计是指望不上了。
考试结束.png


然后回酒店收东西,准备回家。退完房出来,下着瓢泼大雨,就像我的心情一样。


打了个的,准备去南站坐车,司机说好像只有北站有车去我那个地方;好嘛,又绕了老远了。在车上和司机聊了好多。


司机说也是回来考试的啊,然后说了我是从深圳回去考。


司机:这么远回来要是考不...没说完,算了,不说了,要是考的不好,还花了这么多钱。


我:笑了下,考不上就算了呗,还能怎么办。


然后说了很多,说她女儿也是搞计算机这行的,当时要她找个稳定的工作,不带编也行,她不干,现在在广州...叭叭叭,一起说了一路。


回家,晚上老妈回来一起聊了好多。很多时候我们焦虑,需要一个情绪缺口去宣泄。


返程


考完这次试,再加和老妈聊的许多,完全没有玩玩休息下的心情,第二天就准备返回深圳。


到深圳后就把自己后期AE中级课程开启了,开始学习(AE好难啊)。


打个小/广/告,这段时间把PR初/中级,AE初级视频录屏上传百度云完成;pr高级在录,AE中级在学在录。有兴趣的可以联系我,骨折价出售。


后面准备一边上课学习一边背前端八股文,偶尔出去拍拍照,积累些剪辑素材,之后回湖北后剪视频纪念用。


最后


最后想说:想的多了都是问题,做的多了都是答案。当你一直在消极情绪里时,可以找一些喜欢的事情去做,从不好的情绪里脱离出来,不必想的过多、过远,毕竟65岁退休都“太早了”。


作者:前端Y酱
链接:https://juejin.cn/post/7221131892427014205
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

人生是一个长期的均值回归

到了现在这个阶段,总想说点什么。 我一直觉得记录并收藏每个阶段的状态是一件很有意义且奇妙的事,尤其是多少年后还能清晰地回忆其当初的心境,联想到曾经所设立的一些目标以及为之做出的努力,这些人生经历的脉纹清晰而完整,形成的回荡激扬的动力循环让人长久受益。 所以在...
继续阅读 »

到了现在这个阶段,总想说点什么。



我一直觉得记录并收藏每个阶段的状态是一件很有意义且奇妙的事,尤其是多少年后还能清晰地回忆其当初的心境,联想到曾经所设立的一些目标以及为之做出的努力,这些人生经历的脉纹清晰而完整,形成的回荡激扬的动力循环让人长久受益。


所以在即将进入下一个更长远的阶段之前,纪念珍贵的经历,留存美好的记忆,时间是个单向的旅程,在未来的某一刻回忆曾经,挺不错的。


真正的大师,永远怀着一颗学徒的心


尽管计算机科班出身的自己学习了这么多年,对于本专业的某些领域知识却仍然处于浅尝辄止的状态。不过庆幸自己的做事态度,由于存在一些偏执,对于一些方向的学习还做到了令自己满意的成绩。只要认定一个方向,只要开始着手做一件事,那就先做完,不然已经做的努力就白白浪费了。


究天人之际,通古今之变,成一家之言


jinengshu.png


还记得最早接触的是Android开发,曾经,2010年后的5年掀起了移动互联网的热潮,跟随着校科研团队的步伐,开始触碰这个方向。15年到17年初,从eclipse到andorid studio,从控件使用到自定义view,从Holo到曾盛极一时的Material Design,从原生开发到跨平台weex、flutter,又了解学习了性能调优、热修复、组件化、插件化、mvp、mvvm等技术,还记得在这个过程中,小程序小游戏也曾盛行一时,不过这个倒是比android简单多了。对于面向用户的终端应用,与服务器进行数据交互自然不可避免,我也因此了解了诸如xutils,httpclient,okhttp,retrofit和glide等库,在学习优雅android设计模式以及极致代码优化的同时,我永对设计这些工具库的Jake Wharton等大神致以最崇高的敬意!


记得16年暑假的时候,我用了两个多月的时间来调试一个andorid与服务端通信的bug,期间辛酸一言难尽,因为没有经验,服务器一直是一个黑盒的存在,这因此促使我去了解网络通信原理和后端开发流程。我也就开始了服务端研发的学习。一个是框架和工具的应用,诸如SSH、SSM、SpringSecurity、SpringCloud、MySQL、Redis、Tomcat、Nginx、Kafka、RocketMQ、Xxl-Job、Docker、Kubernetes、Jenkins等等,一个是设计模式的理解和应用以及代码架构MVC到DDD的理解、迁移与应用,还有架构方面的学习,包括从单体架构到分层架构到微服务架构再到云原生架构以及DevOps的实践等,最后是为了系统稳定而进行的监控系统设计包括用于日志监控的ELK、用于链路监控的Skywalking以及用于指标监控的Prometheus和Grafana等。19年的时候,还和技术大佬川哥一起讨论当年最新的FAAS,这个过程也将我的技术理解和视野带到了一个新的高度。当然,分布式也是后端不可逃脱的重点内容,这里要感谢MIT6.824课程,受益良多!


最早的服务端开发是没有前后端分离这一概念的,所有的前后端资源都集中由一个项目部署,那个时代还是JSP和Thymeleaf的天下。但随着移动互联网的普及以及当今应用复杂性和对实际生产的高性能要求,逐渐产生了诸如SOAP等协议和Restful架构风格,原来的单体项目才开始拆分。但,不论是早期还是架构设计理念有所进步以后,搞后端的人都避免不了对于web基础内容的学习,毕竟最常见的业务还有开发一个常见的管理系统。为此,我又乐此不疲的学习了JS、Html5、JQuery、Vue等技术。不过前端自己了解的都很浅很浅了,在这个过程中遇到的问题还是要请教各位前端大佬,此时,我要感谢我的老同学——房哥,一个人很好的前端开发者,曾一度帮我解决很多问题。


冰冻三尺,非一日之寒


工程领域技术庞大繁杂,所以我对所进行的工作一直在不断的思考和总结,为了更好的于他人分享我的经验以及对诸如高可用、高性能、稳定系统的认识,我对服务端的核心内容以自己的理解进行了总结归纳。跳出技术细节的桎梏,全面考虑问题并有针对性的进行解决。


zongjie.jpg


算法是每个计算机人不可忽视的重要一课,除了可以更好的锻炼思维能力和编码能力,通过算法来学习一些代码的优化设计思想常常也可以用于实际生产之中。比如,我已经和不止一个师弟或同学讨论到某一个具体业务或者问题的解决方案,发现这些本身就是一个个经典的算法问题,如果有所总结和沉淀自然得心应手。所以硕士期间,我除了重新补充了对于专业课操作系统和计算机网络的学习,我还坚持刷了一些算法问题,主要是在LeetCode上。我要感谢我曾经看到的一个博主,奔跑的蜗牛,是他在坚持刷题的过程中不断总结并以录制Vlog的方式来分享才促使我坚持刷题并不断输出,而这一过程让我受益匪浅。


leetcode.png


bzhan.png


博学而笃志,且问而近思


一开始自己还是很浮躁的,总是想把很多内容都搞懂。虽然作为一名技术人,我们要构建一个广泛的知识体系,但技术领域的学习本质应该是一个专注钻研的过程,我们终归是要克制住诱惑,将某个领域做到精深。正如杨老师曾经说过的,“水桶装水量取决于最短板,但是大多数情况下,我们在工作中获取的回报,更多来源于自身的长处”。我在后来也逐渐认识到这一点并及时做出了调整,不过我还是非常庆幸有一段学习过不同领域各种技术的经历,这对我技术眼界的开阔有很大的提升,一个是服务端本身就是要为前端和移动端等平台来提供服务的,如果能对其他平台有一定的认识自然会对自己的编码设计有一定的科学指引,另一个是其他领域的设计思想也可以借鉴到当前领域的许多工作中。博观而约取,厚积而薄发!


感谢一路走来所遇到和知道的前辈,包括做安卓时的郭霖、张鸿洋、赖帆、任玉刚等,做前端时的Vben维护者金毛、在爱奇艺和快手工作过的老同学房哥等,做服务端时的LinkedBear、松哥、Mrbird、小林、汤兄、传奇大佬Robert Tappan Morris等。


大胆与礼貌



记录毛姆所著小说《刀锋》里的一段文字:


我并不怕犯错,搞不好会在其中一条冤枉路上,找到人生的目标,人生从来就没有白走的路,每一步都算数。


我们这一生,都怕走冤枉路,都想找到一条捷径,好用最快的速度接近自己的目标。


但事实上,当你并不清楚自己内心最真实的声音的时候,你只有不断尝试,才可能知道什么是适合自己的,就算尝试过后你还是不清楚自己想要什么,但你最起码知道一点,这不是自己喜欢的。



谦逊是青年人进入社会的一种必须常备的状态,但谦卑不是。


这些年的经历,我逐渐感受到因为自己缺乏勇气与自信导致自己失去了很多的机会。自己出身平凡,在见识了很多优秀的大佬后更觉自己渺小,时间长了开始优柔寡断,总觉得自己目前学的做的不充分,不敢去尝试更怕去竞争,患得患失。


鹏哥是我的一个舍友,我们也是七八年的同学了,他是一个性格很好的人,也是一个相当聪明的人,他的逻辑思维非常强,学习能力也很强,经常帮助我们周围很多同学解决很多我们查了很多资料都解决不了的硬件和软件方面的疑难杂症。如果把我们计算机相关专业的同学都放在一起,把我们的生活学习环境比作一个武林,那鹏哥绝对是一个深藏不露的世外高人,他很爱折腾技术,会主动学习一些技能来解决现实生活中的很多问题,比如只要我们去看他正在做的事,看看他的手机或电脑,总会发现很多实用的小工具,有些是他自己写的,有的也不知道是从哪些渠道获取的,但这些工具就是那么的神秘且好用!


鹏哥是我认为周围人里面绝对很出众的一个同学了,但很多时候他得到的往往与他的实力不够匹配,究其原因,也是不够自信,很多事不敢去尝试,总觉得自己的实力有限而不敢有过多的想法,但实际上呢?据我的经历以及我一些朋友跟我分享的一些事看来,总会有很多出身不如你、头脑也不会比你更聪明、技术能力不如你的人做出了非常好的成绩。他们当然很优秀,但如果仅从硬性技能出发而言,他们可能很多还比不上我们,比如我们学的时间更长,积累的编程经验或者理论基础都要超过很多入门才一两年的学生,之所以我们还停留在原地,是很多时候我们忽视了软性技能的培养,我们缺乏那一点初生牛犊不怕虎的干劲和勇气。我们都是普通人,又会有多少人有“秀美的容颜”、“聪颖的天资”、“出众的才华”、“骄人的学业”?如果不能改变自己的心态,即便我们的实力达到了某项任务需要的标准,我们的软实力还是会限制我们的发展。我们出身不如名校学生,如果还一直畏手畏脚,那就更不能在社会上与他们相竞争了。


生活、学习和工作中的很多事,其实本没有那么难,往往是自己不自信的心态为之蒙上了一层恐惧的阴影,之后面对机遇就会胆怯。这些年给我最深的感触就是,我们已经因为缺乏自信和勇气失去了好多机会,而如果有新的机遇让我们来尝试,那我们一定要敢闯,敢干,不怕失败,不畏周围可能存在的偏颇眼光,如果不去尝试那一定不会成功,即使尝试失败了也会成为下一次成功的经验砝码,人生从来就没有白走的路。


自信很重要,大胆一些,礼貌的去问就好了。


愿为江水,与君重逢


江水.jpg


这些年的读书过程中,我结识了与之相处时间最久的谭同学,我们认识了八年,在一个寝室生活就有六年多,自然对于双方的认识是无比的熟悉。谭兄一个非常优秀的人,他头脑聪明、思维敏捷,对于新知识和未知领域永远充满兴趣且会一直不断地探索和求知。做事具有极强的目标性,凡事绝不囿于当前的状态,以最大的自信来追求最接近完美的极致,我经常对他说,“你是我们周围同学中我认为最富有极客精神的那一位”,事实上,谭兄作为全院最优秀的学生同时也是最努力的那一位。


作为良师益友,我们在这八年的过程中,最多的讨论就是关于专业知识学习、技术提高、发展规划等方面的内容。在过去的五六年里,我们进行着不同方向的工作,在自己擅长的领域深耕厚植,当遇到涉及对方领域的问题时,我们都十分乐意交流双方的观点与经验。更为重要的,我十分崇尚开源精神,而谭兄也是非常重视学术交流和论点探讨的人,我们都会毫无保留的分享自己的知识及经验,即使对一方在不擅长某个领域时仍会给予尊重并提供最大的帮助,实现真正的成长。十分荣幸遇到了一个优秀的同学,不仅是在学业上得到了很多帮助,因为熟悉互相脾气秉性,我们也在日常的生活中得到了性格的磨合,在做人做事上也有了很大的进步。


我们终将分别,但想想,我的一生能和几个人共同生活达八年之久呢?一切都是命运,愿为江水,与君重逢。他将到昆士兰去继续自己新的学术研究,我也将准备进入我的下一个阶段。正如谭兄经常说的,我们还要经常保持联系,多交流学术问题,以科研会友,期待能够在KDD等顶会上能够见到对方来参会。而我则希望我们在追求理想的道路上还能相互引为知音,就像一条清澈的小溪在流向大海的途中遇到了另一条清澈的小溪,碰巧这两条小溪还是朝着同一个方向流向大海。祝我们都能实现自己的理想,成为自己想成为的那个人!


这是个拥挤的地方,而我却很平凡


在我读研的这几年里,开始逐渐将自己的精力和工作重心从工程转向科研,尽管如此,我仍然会时常关注工程界大致的一些动向,关注互联网职场人以及北漂青年的一些生活和境况,我喜欢他们忙碌的状态、积极的生活态度以及日常努力生活而表现出的韧性。


鼓楼.png
 


北漂人都是可爱的,不管生活有多少苟且都能够坚持自己的理想,在压力中求生存,平凡而生活更显真实。每个人都有自己选择的生活方式,不管遇到什么挫折与不顺,总要挺过去,毕竟生活总要继续,方向总会有的!


飞鹏各自远,且尽手中杯


友情是散落四处的点点温馨,平时想起一座城市,先会想起一些风景,到最后必然只想起这座城市里的朋友,是朋友,决定了我们与各个城市的亲疏。


很荣幸这些年遇到了一些很好的朋友,曾经的本科同学、如今的研究生同学、工作中认识的朋友以及各种社区交流技术和求职过程中遇到的朋友,不管是校内还是校外,不论是在济南还是在北京、南京、深圳......,他们都在我的人生中的不同阶段提供了极大的帮助。更为重要的是,他们分别从事不同领域的工作,分别在不同地域以不同身份生活,所得到的社会经验和生活感悟对我而言更是弥足珍贵的。


还记得东哥曾经给我分享他从周围人学到的做人之道。如何做一个高情商的人,其实就是与人的交往中要擅于交流,而擅于交流的前提在于你知道的很多,眼界开阔,你能够从容温和的和很多人聊,和不同阶层的人聊相应的话题,打破周围人对你的刻板印象,让自己成为一个有内涵又有趣的人。你的知识储备,你的形象以及谈吐都作为以上的评判标准。


听不同的音乐,看不同的书,游历不同的城市,邂逅不同的人,思维与际遇有交集亦有合集,见得多了,站得高了,自然也就看的远了。


我们终将生活在不同的城市,即使不能时常相见,我们也会随时在对方身处困境或者黑暗时及时的带去援助和光亮。所谓朋友,也只不过是互相使对方活得更加温暖、更加自在的那些人。


时空是个圆圈,直行或是转弯,我们总会相见!


最后


仅以上文来记录我当前阶段的状态与生活。《圣经.启示录》中写道:“我又看见一个新天新地,因为先前的天地已经过去了,海也不再有了”。是的,过去已经过去,未来终将来到,这是一个新的开始。


王小灏

开始于2023年4月1日

完成于2023年4月18日

作者:Gopher
来源:juejin.cn/post/7223374346094329911
收起阅读 »

低代码平台是否会取代程序员?答案在这里

上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢? 故事 程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD 架构师老李: 多个大型项目经验,精通各种屠龙宝术; 程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和...
继续阅读 »

file


上图是一张机器人或者自动化系统取代人工的图片,您看了有哪些感想呢?


故事


file


程序员小张: 刚毕业,参加工作1年左右,日常工作是CRUD


file


架构师老李: 多个大型项目经验,精通各种屠龙宝术;


程序员小张和架构师老李是同事,在一家科技公司工作。他们的团队负责开发和维护公司核心数字系统,但最近他们经常因为应对新需求而焦头烂额。


有一天,老李向小张提出了使用低代码平台来加快应用开发的建议。小张听完后不太理解,认为低代码平台会取代程序员,使开发工作变得简单和机械化。


老李解释说低代码平台并不会取代程序员,而是让专业的开发人员从简单、重复的开发需求中解放出来,让他们能更好地投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等,并且低代码平台仍然需要由程序员开发和维护。


小张听后开始思考,认为这个建议确实有道理。他决定利用低代码平台来创建一些敏捷运营类应用,以减轻自己的工作量,并利用更多时间进行系统分析和优化。


于是,小张按照老李的建议利用低代码平台创建了一款敏捷运营类应用,并与老李一起进行了测试和上线。在此过程中,他们深刻领悟到低代码平台的优势,如快速开发、易于维护和扩展等等。


最终,他们成功地为公司创造了一个具有高效性和可扩展性的应用程序,并受到了同事们的好评。小张也明白了使用低代码平台并不是把程序员取代掉,而是让他们更好地利用时间和技能,为团队带来更多价值。


问题


越来越多的企业进行数字化转型,信息化升级。


系统的统一性和集成一直是一个难题,传统模式需要通过多套系统才能满足企业整体的信息化需求,想要统一打通非常困难。


程序员的高薪一直是企业高昂的成本,当出现新的生产工具,必定会对生产关系产生一定影响。


低代码在企业应用开发中的场景?


市场上有哪些种类的低代码平台呢?


低代码到底是怎么降本增效的?


低代码取代程序员怎么破局?


低代码


低代码平台的热度可谓风头无两,


那么低代码是什么呢?简单给它下一个定义。


通过可视化、模块化、拖拽式代替了传统的开发方式,达到了“降本增效”的目的,加速了企业数字化转型的进程的工具平台;


file


1 低代码的使用场景有哪些?


一般来说,核心的业务系统不会使用低代码从0到1搭建,低代码适合搭建基于核心数字系统之上的创新类应用,敏捷运营类应用。
这类应用使用低代码可以极大提升技术研发和系统交付的整体效率。
低代码当前处在技术成熟度曲线中的创新阶段,后面模板会越来越丰富,生态越来越完善,低代码的适用范围也会不断扩大。
下面五类应用是比较适合用低代码来实现的。


种类说明点评
企业门户包括App、小程序、PC门户等等,数据都来自中台、后台,企业门户只是做展示,以及简单的互动。xxcube正在覆盖
数据操作和展示应用通过连接企业的数据库,把生产经营的数据进行编辑删除查询等操作。可预研
基于表单的应用基于数据库的表单收集、处理、统计类应用。xxcube正在覆盖
业务流程类应用定义复杂的工作流,跨部门协作流程,复杂审批流程,比如:OA、人力、财务等系统。xxcube正在覆盖
移动端应用基于已有核心生产经营系统,进行移动化的应用场景。xxcube正在预研和了解

以上5类应用已经覆盖了企业数字化的80%的场景了,低代码的使用范围非常的广泛。


3 低代码平台的分类


目前低代码属于蓝海市场,以中国IT企业的创新速度,未来的竞争会非常激烈。
按照低代码的应用场景,可分为4类。列表对比一下。


种类说明xxcube的对比
原生低代码即面向通用型企业软件的低代码厂商,你可以从0构建一个企业经营系统,使用低代码平台将它实现出来。代表企业: 数睿数据、奥哲、轻流,国外的Mendix、OutSystems等等。具备能力
云平台低代码软件作为云平台生态其中的一环,是云原生一体化的企业解决方案,企业云平台的能力补充。比如阿里云(宜搭,氚云,简道云),腾讯云(微搭),微软(Power Platform)具备能力
行业软件低代码平台本身是非常成熟的行业软件,他们积极拥抱低代码,借助低代码解决企业个性化的需求,拓展软件应用场景。金蝶(企业管理,财务)、明道云(地产物业)、网易数帆(游戏)、销售易(CRM)、Airtable。聚焦游戏发行,游戏开发细分领域
软件开发工具做软件开发工具的,借助低代码实现功能模块化,帮助开发人员进行快速开发。Zion、葡萄城、ClickPaaS具备低代码扩展能力

3 低代码是怎么降本增效的?


file


**低代码,将传统软件开发的6个环节,缩短到了3个环节。**即通过把“需求设计”、“架构设计”、“编码”,聚合为“模块搭建”。


简单来说,低代码的开发模式,就是在需求梳理清楚后,用“拖拉拽”的方式把功能实现出来。


以一个10人天的软件开发需求为例:


传统软件开发模式,总共需要5个人,即:1个产品、2个开发、1个测试、1个运维,开发周期8天。


低代码开发模式,总共需要3人,即:1个产品,1个开发,1个测试,开发周期2天。


也就是说,使用低代码开发模式,同样的需求,节省开发周期70%,减少技术人员40%。


这只是一个粗略的估算。总之,低代码能够用更短的时间、更低的成本,实现软件产品的交付。


4 低代码平台的出现真的会取代程序员吗?


答:不会取代程序员,低代码的优势是可以让专业的开发人员从简单、重复的开发需求中解放出来,把精力投入到更有价值的事情上,比如梳理系统架构、理清业务逻辑等等。
首先,低代码平台不也是程序员开发的吗?再说了,使用低代码进行软件开发的,不还是包含程序员吗?
低代码虽然是“低”,也还是有代码的,除非是无代码平台,在适合的业务场景之下,确实不需要程序员了,可以由业务人员直接搭建应用,但那毕竟是特定场景。
低代码虽然不会干掉程序员,但是对程序员、产品设计人员提出了新的能力要求。越来越多的程序开发工作,将会通过低代码来完成。


技术人员必须到一线中去,跟业务人员在一起,跟最终用户呆在一起,打造更便捷易用的软件产品给业务赋能,用新的科技手段帮助业务转型、业务创新,使企业具备敏捷反应的能力。
否则,企业将会很快被时代抛弃,连打声招呼的机会都没有。


对广大程序员来说,可以按照下面的要点进行应对。


招数说明自查
1. 警惕重复性编码工作CURDboy请多学一些硬核技术。比如梳理系统架构、理清业务逻辑。低代码已经能够完成复杂业务流程类开发工作,能够基于表单驱动、模型驱动的方式进行软件开发工作。最先被替代的就是那些技术含量低的重复性编码工作。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
2. 错位竞争,在低代码不擅长的领域深耕对于界面效果要求特别高、复杂的算法和数据挖掘、高性能和复杂系统架构、要求较高的底层开发等方面工作还不能胜任。低代码首先模板,生态,可扩展性限制。聚焦架构设计,云原生,物联网,大数据热门领域的学习和实践
3. 重视企业数字化的建设方法论学习随着低代码的不断成熟,越来越多的业务系统研发工作将由低代码平台来完成,很多企业的老板会看到这块的价值企业运营和建设相关的知识学习中
4. 终生学习,时刻准备职业B计划顺应潮流,学习最先进最高效的生产工具和技术,往往可以对同一赛道的保守选手降维打击;职业B计划是应对职场风险的最佳途径;持续学习技术和管理,持续输出,职业B计划酝酿中

一个心酸的故事,希望能给广大程序员一点启发:



在工业革命时代早期,有工厂主发现纺织机经常在夜里遭到破坏,就派人躲在角落里观察,看看到底是谁在使坏。因为当时没有监控摄像,只能用人肉监控。
结果他们发现,是一些小作坊的纺织工人在搞破坏,原因是他们认为先进的纺织机抢走了他们的工作,而织布是他们赖以生存的手艺,不甘心这几十年修炼出来的一身本领,一夜之间被一台机器所取代,所以破坏机器泄愤。



现在的chatgpt也是影响力类似低代码的先加生产工具,作为程序员应该要主动拥抱他,利用它;


工业时代IT时代启发
工厂IT公司资本或者资本机构: IT时代要重视低代码,作为程序员,要积极拥抱低代码,这是新的生产工具,可以成为自己的武器。低代码时代已来,不必焦虑,冲过去大力拥抱它,相信这一次,时间会站在变革者这一边。一些行业资深人士,视低代码为“毒瘤”,不仅暴露了自身的无知,也误导了部分从业者,也引起了无谓的恐慌。
纺织机低代码生产工具-静态
工人程序员\业务人员生产工具-动态


原创不易,关注诚可贵,转发价更高!转载请注明出处,让我们互通有无,共同进步,欢迎沟通交流。



作者:李福春
来源:juejin.cn/post/7222832297854287929
收起阅读 »

git stash 用过嘛?

各位在摸鱼的时候...不是... 各位在写代码的时候离不开的git其实发现有很多小技巧,老铁们,今天咱们就来唠一唠 笔者由于能力水平非常高...不是... 笔者的司由于前端人手紧缺,不得不自己负责多个项目,同时存在一个项目中多个更新迭代同时开发的情况,所以笔者...
继续阅读 »


各位在摸鱼的时候...不是...


各位在写代码的时候离不开的git其实发现有很多小技巧,老铁们,今天咱们就来唠一唠


笔者由于能力水平非常高...不是...


笔者的司由于前端人手紧缺,不得不自己负责多个项目,同时存在一个项目中多个更新迭代同时开发的情况,所以笔者每天的工作状态就是切分支,切分支...


当一个分支的内容还没开发完,不得不切换分支去改造另一个线上bug时,此时当前分支的内容一定要推到远程分支嘛,答案,不一定


这时,我们应该想到git stash


# 保存当前未commit的代码
git stash
# 保存当前未commit的代码并添加备注git stash save "订单详情"

#
应用最近一次的stashgit stash apply

#
应用最近一次的stash,随后删除该记录git stash pop

#
删除最近的一次stashgit stash drop

删除stash的所有记录git stash clear

#
查看所有记录git stash list
#还原某个版本git stash apply stash@{stash_id}

所有的命令我都罗列于此


所以话不多说,开干


git stash save '订单详情组件封装完成'

//此时我们可以切换分支
经过一系列的操作之后
//切换到当前分支

1.懒人操作
- 如果不想麻烦and墨迹,直接操作
git stash apply

2.如果想秀一波
- 那么好,操作
git stash clear

啊......

其实我想操作git stash list

来吧,继续操作~

当误操作git stash clear时,我们应该打印所有的提交列表
git log --graph --oneline --decorate $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' )
如果在这个输出的内容中可以找到你提交 那么可以通过提交的id来找回

当内容无法找到时间,我们继续操作
git log --graph --oneline --decorate $( git fsck --no-reflog | awk '/dangling commit/ {print $3}' ) >1.txt
这个命令是将输出内容输出到1.txt文件中,在文件中可以通过搜索你保存时的关键字来进行找到id

再次执行
git stash apply id

3.当我们手不抖~

执行找到stash的列表
git stash list

还原某个版本
git stash apply stash@{stash_id}
大功告成

各位这波操作怎样,哈哈哈


其实就是日常工作(mo yu)的小技巧,希望对各位有帮助!


作者:凌云空间
来源:juejin.cn/post/7221825086667014205
收起阅读 »

踏平坎坷成大道---前端还有希望吗

最近在头条还有一些其他平台经常会看到一些论调“前端已死”,各种找工作难之类的信息,同时在自己身边也有不少朋友、同事持有同样的看法;作为前端开发接近10年的老菜鸟也想谈谈自己的一些看法【个人拙见,欢迎喷,喷的时候给出建议】 先说观点,前端未死 要知后续情节请...
继续阅读 »

最近在头条还有一些其他平台经常会看到一些论调“前端已死”,各种找工作难之类的信息,同时在自己身边也有不少朋友、同事持有同样的看法;作为前端开发接近10年的老菜鸟也想谈谈自己的一些看法【个人拙见,欢迎喷,喷的时候给出建议】



先说观点,前端未死



要知后续情节请看下面分解,如有雷同实属巧合;头条或一些平台的网友言论有很多带节奏的成分,而不是真实的!



为什么很多人说前端已死


找工作难



  • 不可否认的是这两年受疫情影响、国际国内经济形式的影响,我们身边能看到、能感受到各行各业的日子都不好过,各种内卷、各种无奈;我所在的公司在年前也进行了一波人员的精简,组内成员减半,这个已经是不争的事实;




  • 我们发现刷BOSS、刷智联看到的岗位似乎比前几年同期少了很多,发信息得到回复的次数也在减少,似乎简历就像石头一样沉入招聘的大海,隔壁王奶奶就跟我吐槽过多次;




  • 发现身边、各种论坛、网络上充斥着各种悲观的论调,讨论的热度不比36度的夏天差多少;




面试要求高



  • 隔壁王奶奶经常说,前几年简单问问Vue\React原理、生命周期、JS基础,聊聊项目经验就能收到几份Offer,自己还在选择哪家公司更有钱景; 而现在呢? 一上来就问源码、算法、数据结构、还有让直接手写源码的,就问各位看官慌不慌、惊不惊?




  • 说实话,在前端岗位摸打滚爬接近10年,感觉自己老了却还是个菜鸟,很多原理性的东西真的很弱,计算机基础也很差(早期培训了),上班干活也就每天那一、二、三3板斧;诸位有没有跟我一样的,面试很没底呢!




有没有核心技能

既然面试要求那么高,那么卷,这个时候就要问问自己到底有没有核心竞争力呢?很庆幸目前我{ age: 36 }目前尚有一份可维持生计的工作(可能也快了),短期还能跟大家一期扯淡;自我感觉10年下来我并没有掌握核心技能,诸位呢?如果一定要回答自己有什么信心敢出去面试,大概有这么几点吧:



  1. 脸皮够厚,不怕被拒绝,能怼人

  2. 得益于早些年坚持锻炼,现在加班熬夜还能和年轻人一战

  3. 长期的积累,基础还行,目前还学得动

  4. 得益于长期的积累,对待产品、项目有一些心得和自己的看法


前端的路在哪?



在回答该问题之前我想说的是:当下的局面对刚刚入行、初级前端是很不友好的,对于已经在行业内站稳了,有几年工作经验的前端朋友而言,处境并没有那么悲观;所以,这里只聊聊已经有几年经验的情况;





  • 首先、我们通常讲的前端大部分还是停留在HTML + CSS + JS的模式,与后端相对, 那前端就是在画页面,调数据,写交互,诸位的工作是这样吗?




  • 其次,前端在项目中、在团队中的核心价值是什么?




  • 最后,面对当下日益复杂的业务,前端能抢谁的饭碗,而谁又会抢前端的饭碗?




前端在团队、项目中的核心价值是什么?


要回答上面的问题,需要先弄清楚前端在团队、项目中的核心价值是什么,我个人认为,前端的核心价值在于:【用户体验】【用户体验】【用户体验】,前端不是页面仔,也不是接口仔,更不是切图仔!前端应该是一个胶水性质的岗位,哪里有漏堵哪里;在产品经理-设计师、UI设计师-UE交互设计师、UI\UE - 前端、 前端-后端、 后端-测试、
产品经理-项目经理,这些诸多环节之间做一个适配器的角色,在项目的全程去理清开发的每个环节,为项目的高质量交付发挥不可替代的作用;



说了那么多,前端就是要充当适配器的角色呀,那么是不是就意味着我们需要掌握的技能就要很多呢?要接触很多的面呢? 答案是肯定的;合格的前端技能至少是一超多强的,一精多能的,这也就是在面试中对初级不友好,对老鸟相对友好一点的根结!而这些技能的积累,产品、项目的把握能力需要一定的积累,短期怕是无法达到的;三点,重新审视自己的岗位:



  1. 【站在产品经理的角度去理解前端】

  2. 【站在项目经理的角度去理解前端开发的过程】

  3. 【站在用户的角度去理解前端的产出】


前端能抢谁的饭碗? 谁又来抢前端的饭碗?

这个嘛....(⊙o⊙)…,の,打败自己的从来都不是自己的同行,想这些是无意义的,把眼光盯在本公司同事的身上是无意义的;有个很好笑的现象是:很多人总是气不过自己身边的同事、朋友比自己每个月多几千块钱,而不生气身价百万、千万、甚至过多的成功人士; 所以我说,如果真的要抢,那应该从其他与之(前端)有关联的行业找出路;


如何破局?


如何提高薪资,如何不被抛弃? 这个问题思考了很久,反复拷问自己接下来该怎么走?最近几年也做了一些尝试,有的放弃了,有的没下文了;在划水之余关注了BOSS招聘一年多时间,看到了一些信息,供大家参考;





  1. 如果已经有多年的经验,前端架构师是不错的选择(最近1年在BOSS上看到,架构师的需求在不断增加),建议:一定要会NodeJS,最好学学其他后端语言、服务器、数据库,可以不写,但是一定要知道之间的区别,能做什么,适合做什么,如何选择;




  2. 大前端方向现在还有很大空间: Vue\React + Flutter(或类似) + 小程序,这里有个高的要求:建议去学一下原生的Android、IOS开发,至少知道是如何运行的,和混合式开发等区别是什么,如何同前端交互;




  3. 前端 + GIS 方向,这个是很推荐的!(最近1年看到gis岗位的招聘增加非常多)




  4. 前端 + 3D + GIS (各位看官,去看看BOSS吧,如果这些你同时拥有,还会担心工作岗位吗)




以上的都是硬实力,也就是面试时候绕不开的; 接下来的软实力,就是作为适配器角色的核心:



  • 沟通能力;

  • 对产品的理解能力;

  • 项目把控能力;


这个需要积累,决定前端的尽头最终走向哪的,前端最终的出路就是不是前端,可能是?


....


...


..


.


BOSS!
谁说前端出生就不能成为老板呢? 前端走向产品经理一定要强于一出来就是做产品的产品经理(当然其他岗位也可以),总之方向很多吧!


聊到

作者:风雪中的兔子
来源:juejin.cn/post/7220220100384817210
这里吧,该撸代码了!

收起阅读 »

有趣的futu android面试体验

futu面试算是我面过的最特殊的了,大部分问题都是智力或者算法题,幸好我平常有刷算法的习惯,即使是项目相关的题,也是非常开放式的,几乎没看到八股 整体体验面试官还是比较专业的,其中的实现队列题和概率题我没有考虑到的点都和我进行了友好讨论,提醒了我,尤其是三面的...
继续阅读 »

futu面试算是我面过的最特殊的了,大部分问题都是智力或者算法题,幸好我平常有刷算法的习惯,即使是项目相关的题,也是非常开放式的,几乎没看到八股


整体体验面试官还是比较专业的,其中的实现队列题和概率题我没有考虑到的点都和我进行了友好讨论,提醒了我,尤其是三面的那道概率题,挺有意思,也是多亏面试官提示


不算难,但是需要扎实的基础,大家可以作为参考


一面:


项目


recyclerview刷新设计,分页,复杂布局,网络流量 刷新包含整个刷新,单个item刷新, 局部刷新策略,diff对比后台刷新id


MVVM的viewModel与android中的ViewModel的区别


如何分享一个抽象列表框架(如recyclerview)技术给客户端同事,包含pc, ios等


如何做一个需求,输入框可以输入,输入字符串变化时都会有回调产生对应效果


算法/智力




  1. 数组实现队列,入队出队


    增加扩容功能,


    修改为循环队列







  1. 9个砝码,一个轻的,最少次数称出来?


    称的次数与砝码数量有什么关系?






  1. 数组中和大于等于target的长度最小的连续子数组


二面:




  1. 多线程


    static a = 0;

    thread1: a += 1;

    thread2: a += 1;

    最后的结果区间







  1. 已知公司OA数据库有一个员工信息表,


    包含员工ID,员工姓名,入职月份(如201801),和离职月份。


    财务审核时发现 201803 到 201808 这6个月,


    当时所有在职员工都少发了工资,


    现在老板需要了解有多少人受影响需要获得补偿。


    请写出查询语句。




  2. a b c 轮流投掷一个硬币,直到正面出现即胜利,求c获胜的概率




  3. 在一个字符串中,找出不包含重复字符的最长子字符串的长度




aa => a => 1


abcdaf => bcdaf => 5


abcd => abcd => 4


abacad=>bac=>3


afbcdef => afbcde => 6


三面



  1. 编码:输入有字符串s1和s2,判断s2是否包括s1的排列 例如, 输入s1=abc,s2=abcd, 输出True; 输入s1=abc,s2=acbd, 输出True; 输入s1=abc,s2=ambnc, 输出False; (排列的解释:字符串abc,则abc的排列包括abc、acb、bac、bca、cab 和 cba)


先用了排序,复杂度


然后用数组,空间换时间




  1. 90% 返回0,10%返回1,如何包装此方法让返回0与1都是50%




  2. 做过的最难/有挑战性的项目


作者:小松漫步
链接:https://juejin.cn/post/7221357811288457272
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

【2023】22届前端程序员毕业一年的心路历程

没有任何光环的,一个普通人的前端之路 启程 要讲是如何对前端感兴趣的,我大约可以从大一的C语言讲到大四的微信小程序,想了想这不是本篇文章的重点,所以掐住话头(。 自觉大学过得十分散漫,临近毕业我才开始认真对待自己的前途,好在专业选的不错——计科,啥也不会又啥都...
继续阅读 »

没有任何光环的,一个普通人的前端之路


启程


要讲是如何对前端感兴趣的,我大约可以从大一的C语言讲到大四的微信小程序,想了想这不是本篇文章的重点,所以掐住话头(。


自觉大学过得十分散漫,临近毕业我才开始认真对待自己的前途,好在专业选的不错——计科,啥也不会又啥都懂一点。


大四那年寒假我从学校建的就业群里参加了一个线上面试培训班(虽是商业但全程免费),从接触前后端的概念到决定学前端只用了十分钟,那个时候我连html都不太会写,就被拉去接触企业级的前端开发流程,可想而知有多手忙脚乱,“蓝湖、禅道、yapi...”,这些现在习以为常的东西对于当时的我来说根本形不成概念,中途跟老师提了一次退出,理由是不想拖大家后腿,好在老师十分鼓励我继续跟进。于是我一边跟着培训进度一边在b站学习前端基础,虽然到结课也没学完,培训课也因为人数不够被腰斩。


留下来的同学被打包送进面试背题班(没错就是背八股文),明确的目的使得效率突飞猛进,回想起来仍觉得那一个月过得十分抓马,但也是在那里我真正叩响了前端的大门。


实习前夕


培训课一个月结束,寒假还剩半个月,对就业十分心虚的我决定提前返校,由于疫情学校不提前开放,我便借住在同学的校内公寓里,那段日子每天一睁眼就是打开电脑看视频课,跟着敲代码,直到学完vue以后,我才有了些许底气面对我的简历(培训老师倾情指导,洋洋洒洒写了好多我根本不懂的技能,只能硬着头皮一个一个学。


寒假前我在班级群里保存了一份招聘实习生的材料,负责人说我联系的时间有些晚,但还是接受了我的简历并通知我去面试,面试前一天培训老师和我通了电话,告诉我可能会遇到哪些提问,以及怎么答。


人生第一次求职面试就这样顺利结束,虽然实习工资近乎于倒贴上班hhh(长沙的行情令人闻之落泪)


经验之谈


入行前端于我而言是一段兵荒马乱的时光,给后来者的建议就是早做准备!早点实习!真的会少很多焦虑与迷茫。


另外,学校的资源一定要充分利用,出了社会就更没人为你操心了。


实习阶段


实习的过程中我写了一个门户网站,也参与了一个大型管理后台的需求迭代


内容少而简单,三个月时间就是夯实基础以及查漏补缺,不过很大一个原因就是我学的刚好是我要用的,真真是一点新东西都没有出现,也是很神奇_(:з」∠)_

大概是以下这些:


html + js + css

vue2 + webpack + axios + vuex

element-ui

git


这段阅历虽然浅薄但也不可或缺,让我明白学过跟真正会用是两码事,也真正实践了企业级的开发流程。
临别前负责人找我谈话,语重心长地建议我去大城市发展,我点点头,但对于自身的实力十分不自信,并没抱太多希望。


春招的末班车


因为考研错过秋招,又因为实习错过春招,在确定不转正后我才把精力放到了春招末班车上。

不得不承认机会真的所剩无几,为数不多的几场招聘会一眼望去全是销售,偶尔有前端岗位也不对本校学生开放,简历改了又改,真正能投出去的屈指可数。


当然也不是全无机会,要是我当时甘心留在长沙,从我实习能接触到的技术与眼界来看,也许就不会有这篇文章了。


转折点就在那些不对本校学生开放的前端岗位上,招聘摊位的人并没有接我的简历,但我本着排队都排了那么久的心态还是扫了易拉宝上的企业春招二维码,投递了线上的简历。


大约是幸运女神的眷顾,一面二面终面,耗时近两周,最终一路绿灯拿到了深圳的offer,后来从导师那里得知,我投递简历的那一天,也是春招通道关闭的最后一天。


真正的修炼之路


一个事实是,即使抓住了机会,我也时常焦虑,放眼同期入职的都是双一流的研本,说没有压力神都不信。


疏解压力的办法只有比别人加倍努力。


试用期三个月,第一个月vue2就被公司淘汰了,前端技术更新迭代的速度令我咋舌,那段时间我几乎把所有的技术栈都更新了一遍。


稳定下来的vue技术栈大致如下:


html + js + ts + css + less

vue3 + vite + axios + pinia

ant-design-vue

git + docker + nginx + devops


学会这些大致能跟上团队的开发速度,但代码依旧不优雅,知识也不成体系。
转正后我忙于一个又一个需求,新技能的学习基本依托于业务,例如被动学习了fabric、echarts、g2plot等等。


要是组织架构没有变动,身边的同事没有被优化,我大约会持续这样状态很久,直到遇到下一个瓶颈。


变动带来了不安,也推动了新一轮的自我学习,转到新的业务线后,自己明显感觉能控制开发节奏了,独立完成的需求越来越多,遇到知识盲区的次数也越来越少,部门的业务和技术栈大差不差,好处是不用花费精力去适应另一套生态,坏处也很明显,没办法从工作中学到技术层面的新东西了。


也是在这段时间,我能够抽出时间自主学习,先是用hexo搭建了个人博客,又尝试着用react自己设计开发,期间去重修了nodejs,补充了一些后端的技能。我导师说他初中就开始做这些事情了(我发誓我初中对网络的概念还停留在4399...( _ _)ノ|


技术之外


从我转正到22年年底,一共参加过两次答辩,一次是转正答辩,一次是年终述职答辩,两次的结果都不错,刚毕业的我很喜欢从一些虚无缥缈的事情上寻找价值,比如被领导夸了两句就觉得自己像一个快乐的小陀螺,到现在还是如此。


与此同时,工作带给我的精神内耗一直很严重,总觉得自己什么都不会,也不聪明,不懂表达,追求不高,喜欢给自己也给别人画饼。


唯一的优势大约是我尚且年轻,仍然对无垠的未来充满期待,并且愿意为之付出努力。


23年的flag


1、系统学习前端,不再浅尝辄止;

2、继续学习英语,关注前沿技术,坚持博客产出;

3、早睡早起,饮食规律,平凡且健康就很好。


写下这篇文章更多的是记录自己曾经和当下的状态,期冀今后的每一年我都比现在更加从容。


作者:兀米米
来源:juejin.cn/post/7216223889487511608
收起阅读 »

“勇敢的去走自己的夜路”——走出我的“浪浪山”

引子 2022年,经历过太多太多的故事,也发生了太多太多的事故。 这一年,迷途失措且努力,未来可期却恍惚,我错失了太多的机会,幸然遇到了大家,让我们一同努力见证Cool(小陈同学)的改变,这一年我经历过比赛失利,国奖失之交臂,也遇到了求职季的滑铁卢。但有幸的是...
继续阅读 »

引子


2022年,经历过太多太多的故事,也发生了太多太多的事故。


这一年,迷途失措且努力,未来可期却恍惚,我错失了太多的机会,幸然遇到了大家,让我们一同努力见证Cool(小陈同学)的改变,这一年我经历过比赛失利,国奖失之交臂,也遇到了求职季的滑铁卢。但有幸的是遇到了一堆可爱的掘友,利用掘金的资源也找到了一个工作。


这一年,我走了很远的路,吃了很多的苦,踩了很多的坑,才将这份年终总结交付与星球大伙。也曾有幸与掘友一起分享只属于我们的“情书”


第一节:对你,同样对自己说


今天是 2023年1月1日,这一年,半分努力,半分浑噩,忽隐忽现的理想,支撑着自己踽踽独行。几年前,他应征入伍,算不上什么好选择,也或许并没有选择的权利。北方干冷的空气,窗前停驻的麻雀,以及战友豪迈的言语曾一度让我觉得,南京或许会是我最终的归宿。


在南京的第二个年头,这一年我21周岁,报国的赤心和热血似乎都正热时,我做出了人生的第一个计划,“退役复学”。


感恩军旅生活,让我真正的热爱祖国与持续学习,在二零年上旬,新冠疫情爆发了,一个八十八线小城市的我,除了紧张的气氛外,到也没受到多大的影响,在家依旧忙碌,直到2022年2月10日,我记得非常清楚,写了一天前端(三件套的弱鸡)代码的我,结束了当天的笔记小结,打开了B站,悄然间随机看见了关注了好久的鱼皮居然真的开了学习圈子(编程导航),这让一个对编程说不上爱的萌新,从此爱上了coder与share,(一个利他的博主谁又能不爱呢?),曾经把编程视为作业的我,我发现我能用他code出一个全新的世界,我便一发不可收拾爱上了它(这里的它指的是编程)。


(一)身体是革命的本钱


but 「熬夜 + 不规律的作息 + 不健康的饮食」+ 「年轻」= 无事发生


“年轻人”,似乎总是有一种得天独厚的优势,有精力,有体力。而这对于我这个退役选手更是easy了,这些不太好的习惯也似乎在年轻一代的大水潭中泛不出多少涟漪,凭借着这份“本钱” ,自然能更加心安理得,反正:我还年轻,我还可以熬。


(2) 继续战斗,也请先照顾好自己


疫情消耗掉了大半年的时间,大学断断续续的锻炼,把熬夜换成了早起,开始按时吃早餐,解封后的日子,趁着南方冬天来的很晚,与几个战友开始了跑步的活动,这一阶段体能上确实有了很大的提升,我很享受跑步后,被风吹过的感觉(皮一下:我也曾吹过未来女朋友曾吹过的风)。


说来也很神奇,每次当我没什么精神,只要去跑步,回来冲个澡就会精神百倍,所以我一般傍晚的时候有空就会去跑跑,然后就可以再晚上全身心的写代码,整理笔记(当然最后就是发到星球上面,感受大家阅读后的“指责与指导,哈哈哈”)。


运动本不应被当做一种应该做的任务,而应被看作一种休闲的方式,没必要与别人比较强度,组别,只有自己舒服就是最好的标准。


所以,不管是真的热爱也罢,苦于生计也罢,即使继续战斗也请先照顾好自己


(二) 随波逐流只会让你接近平均值


普通人的危机感总来自他人,而想要成为一个优秀的人,危机感必须来自自身,随波逐流只会让你靠近平均值,总有一种恍惚感,懂得越多,越觉得自己像这个世界的孤儿,与同龄人格格不入,总是自负的认为他人幼稚,就像鲁迅先生说过:“人类的悲欢并不相通......”。听着他们谈论着我 “早就走过的路”,“早就见过的风光”,我也只觉得他们吵闹。


可惜,我在某些时候,总是小气的,心中惰于学习,更不愿将自己的 “财富” 与他人分享,总忧虑别人以己为石,跳向远方,患得患失的一种矛盾,让自己无奈又颓靡。
后来我遇到了鱼皮,我发现分享的乐趣后我便不再随波逐流,持续性努力,以下是我在星球这一年输出的笔记



(ps:请大佬过目,记得留赞)如下:



大数据笔记:wx.zsxq.com/dweb2/index…


运维Devops笔记:wx.zsxq.com/dweb2/index…


低代码Lowcode笔记:wx.zsxq.com/dweb2/index…


yarn的学习:wx.zsxq.com/dweb2/index…


软件设计师:wx.zsxq.com/dweb2/index…


NodeJS笔记:wx.zsxq.com/dweb2/index…


机器学习方面:wx.zsxq.com/dweb2/index…


Vue+pinpa笔记:wx.zsxq.com/dweb2/index…


MySQL笔记:wx.zsxq.com/dweb2/index…


华为鸿蒙认证:wx.zsxq.com/dweb2/index…


软件工程笔记:wx.zsxq.com/dweb2/index…


力扣刷题攻略:wx.zsxq.com/dweb2/index…


ES6模块暴露笔记:wx.zsxq.com/dweb2/index…


ACM算法思维导图:wx.zsxq.com/dweb2/index…


Bootstrap笔记:wx.zsxq.com/dweb2/index…


网络安全资源贴:wx.zsxq.com/dweb2/index…


(三) 不被枯井遮住双眼,保持谦虚及自尊


目光短浅带来的问题是致命的,当你有一天觉得自己好像还不错,好像已经登到峰顶了。那就需要反思一下自己或许已经陷入了“枯井”中,你会这样想,那大概率是被枯井遮住了双眼,你看不到枯井之外的世界,为了一点点成就就沾沾自喜,虽然阶段性的成功也很值得高兴,但千万不要走进这份舒适区中,温水煮青蛙的例子也不少见,走出枯井后,你就会发现外面的世界还是在一个枯井中,你要做的就是不断的往上爬。


永远不要看不起任何人,即使一位在你眼中普普通通的人,他的技术或许逊色你不少,但是他在思想和创造性上总能给你意想不到的惊喜。即使我的学校很普通,但是我的身边仍然有着一批充满韧劲的朋友,希望能通过考研,亦或者对于技术的钻研,弥补自己高考的遗憾,我记得大二那年,我常常在凌晨一点半两点收到微信弹窗大家一起交流一些问题。备战比赛的三点一线生活,学技术的通宵达旦,为了目标不断努力,这样的人仍然值得我尊重与学习,我认为他们拥有了一名大学生应该有的“灵魂”


除此之外,请千万保持自尊,自尊并非别人给的,而是自己给的,如果遇到比自己弱的人就有“自尊”,遇到比自己强的人就畏畏惧惧,没有“自尊”,那么这种自尊就没有任何意义了,闻道有先后,术业有专攻,应当尊重任何在某个方向的前辈,但是也没必要过于拘束,见贤思齐,见不贤而内自省即可。


(四) 远离总是给你负面情绪的人


但是如果你遇到了一些人,总时时刻刻,在学习以及生活上给你一些负面的观点,这种人会严重影响你坚定往枯井上爬的信念,不管你们是什么关系,我给你一个建议——赶快跑(这里现代化的叫法喊:润),有多快,跑多快,如果你们不幸要发生必要的交互,请将这段关系限制在最小范围内,切勿投入感情


(五) 传道授业:若要学知识,必得为人师


这一年我很喜欢读一本书,那就是《软技能:代码之外的生存指南》(下面我会提到)其中有一个章节给我印象很深,即第33章,传道授业:若要学知识,必得为人师,下面我摘了一段:



在你传道授业的时候都会发生什么 当我们初次接触某个课题的时候,我们对于自己对此了解多少往往都会高估。我们很容易自欺欺人,以为已经对某样东西 了如指掌,直到我们试着去教会别人的时候,才能发现事实并非如此。你有没有被别人问过一个非常简单的问题,却震惊地发现自己不能清晰地解答。你刚开始会说:“这个,很明显……”,接下来只有“哦……”。这种情况在我身上屡屡发生。我们自认为已经透彻理解了这个话题,实际上我们只是掌握了表面知识。这就是传道授业的价值。在你的知识集合里面,总有一部分知识你并没有理解透彻到可以向别人解释,而“教”的过程能够迫使你面对这一部分。作为人类,我们的大脑善于模式识别。我们能够识别模式,并且套用这些固定的模式去解决许多问题, 而没有做到“知其然”也“知其所以然”。这种肤浅的理解力无碍于我们完成工作,因而不易被察觉。然而一旦我们试着向别人解释某件事情的运作原理或背后的原因的时候,我们在认知上的漏洞就会暴露出来。不过这并非坏事。我们需要知道自己的弱点,然后才能对症下药。在教别人的时候,你迫使自己面对课题中的难点,深入 探索,从只知皮毛变成完全理解。学习是暂时的,而理解是永久性的。我可以背诵九九乘法表,但是一旦理解了乘法的运算原理,即使突然记性不好,我也可以重做一张乘法表。



我已经记不清很多年前我初中亦还是我高中的一位任课老师曾经说过这么一句话:能教会别人,自己也就没问题了。可惜那个时候的自己压根没提起学习的欲望,当然了,也或许与我自己根本不喜欢枯燥的应试教育有点关系。我也没理解这句话的意思。大学这几年,我很喜欢与朋友交流技术方面的事情,每个人都有很多我意想不到的理解与想法。还有更多时候我更加喜欢帮助朋友解决一些问题,当你什么时候可以将别人的一个问题,用通俗的解释说明 + 简洁却又富有代表意义的实例 + 补充一些自己的理解与看法,说给别人听得时候,最起码,我认为你对于这块内容就真的入门了。当你能够滔滔不绝的讲解给别人一块内容,能合理的安排讲解的引子与顺序的时候,这说明这一块的知识已经在你脑海中有了一条清晰的体系。同时你通过与别人交流的时候,再根据别人对你提供的一些方向好好反思斟酌一下,不断的修改。相信我,当你成功与他人讲解/交流你的知识后,你会爱上这种感觉的。


但是老板和老师可不会等你,很多时候我们都不得不 “填鸭子” 式的学习一些内容,例如根据老师的要求,强制使用一些指定的框架或者技术,或者根据业务/项目组长的需要和安排,你需要快速的学习一些你并不熟悉的内容,凭借我们多年 “应试” 的本事,大家总能很快的就找到这种套路,例如怎么快速搭建环境,怎么配置,如何快速的用起来。但是千万别止步于此,不然终究只是一个CRUD工程师,这也不一定是坏事,当你熟悉如何用一款框架或技术后,再去看一些源码,或许会事半功倍。



作为人类,我们的大脑善于模式识别。我们能够识别模式,并且套用这些固定的模式去解决许多问题, 而没有做到“知其然”也“知其所以然”。



(六) 别让情绪扼杀你状态


(1) 所谓迷茫,都不过是想的太多


总在独处时,开始怀疑自己,我是谁,我在干什么,以后该怎么办......在我理智的那两天,我都会把这种状态归咎于闲的蛋疼。但是确确实实在那种状态下,什么事情都没法下手,最严重的的一种状态,就是会有一种深深的无力感,感觉距离目标实在太远了。这种无力感,会瞬间摧毁你的勇气,让你不敢下手去做些什么。就像是一场噩梦,你明知道应该醒来,却无法挣脱。



鼠鼠我啊是家里唯一的大学生,大学入了党,工作也没有让家里操心,家里人都认为我有出息了,只有鼠鼠觉得鼠鼠是个废物,鼠鼠以前也会想着让妈妈为自己骄傲,让家里人可以开心的生活,可是浪浪山不如鼠鼠所愿,鼠鼠在浪浪山清楚的认识到了阶层的差距,身边的人正活着曾经难以想象的生活,鼠鼠也才知道人生可以那么精彩,它就在我眼前,又好像远在天边。鼠鼠在家里是最强天赋,在浪浪山却是擦锅布,我好像永远走不出浪浪山了,鼠鼠想回下水道,鼠鼠下辈子不想做鼠鼠。



这种状态,都不过是因为想的太多,我们总是在刚起步的时候,就想着终点在哪里;总是在刚学习一项技能的时候,就想着攻克技术难题;总是在与人初次见面之后,就想推心置腹;总是在今天都没有过好的时候,就想着明天该怎么办。我就是这样一个人,常常纠结于各种各样的学习路线上,每次在学习不同的技术的选择上,进行纠结,但其实这两者我明明是有足够的时间兼学的,还有时候明明知道基础要一步一步走扎实,但是却想到后面还有各种各样的新式技术,高级技术等着我,就会又开始所谓的迷茫。


其实这种所谓的迷茫,很多时候都是源自于我们想的太多了,路要一步一步走,饭要一口一口吃,想的太多,就会感到迷茫和焦虑。最好的办法就是,立足当下,安于寂寞,不要太着急看到极大的成果,放平心态,只有你的心里想通了,你的状态就会迅速回归,重振旗鼓


(2) 你总需要一个人走一段路


孤独伴随着,几年前来到几百公里外上学的我,亦或是年后即将开始找实习,找工作的我。


我想我总会有一段时间感觉到莫名的孤独,想找个人聊聊天,却又不想去找,自己戴着耳机,漫无目的的走在路上。以及每次晚上或者凌晨写完东西,躺在床上有一种说不出的感觉,特别的是,我并不感到忧伤,只是感觉空落落的,也不想认识新的朋友,也不想联系家人,却也不知道有些话该和谁说。


即使你人缘很好,常常有三五好友一起相伴,但是总会有一些空隙感到孤独,这源自于你的内心还是不够强大,有的人独行却乐在其中,有的人三无成伴却又内心孤独,因为孤独的人心中并无足乐者,灵魂还是被空虚填满。


所以,请充实自己的生活,多出去走走,多与人交往,给自己多找点自己感兴趣的事情去做,即使感到孤独,也没必要太过沮丧,只需要告诉自己,沮丧,孤独,都是正常的,我们要在自己走的这段路上,让自己成为一个更加闪亮的人。走过自己的一段夜路,终将会有柳暗花明又一村的“闹市”。


(七) 恋爱的本质是「撞」而不是「寻」


(1) 你真的想要谈恋爱吗?


有时候总会想,谈恋爱是「一定要」还是「可以要」亦或者 「没必要」。


总有那么几天,好似陷入了爱情的怪圈。让你平淡无奇的生活荡起了阵阵涟漪,打破了你安稳的生活轨迹。


大部分时候,或许只是你想要摆脱这种“孤零零”的状态,又或者看着别人的“幸福”与“快乐”,激起了你的那份欲望,而欲望总会在你的忍耐中冲昏你的头脑,让你开始憧憬爱情,并且费力的去「寻」去「找」,试图去接触不同的人,试图找出哪一个是适合自己的,或许你会觉得,主动去寻找自己的幸福是一件很美好的事情,不过于我而言,这并不是爱情,我只能把它叫做权衡利弊后的一个选择。


或许有的时候,你只是想找一个人陪你,那也或许并不是爱情。你结束了一天的忙碌,合上了笔记本电脑,关掉了手机,疲惫的倚靠在椅子上,狭小的房间中,只有那盏台灯在一片死寂中发出微弱的光。连点一只烟的动作都觉得多余,他只想一个人安静的待一会,也不知道在想什么。但如果无由头的想起了一些事情,一些人,这个引火线,就会瞬间将情绪点燃,无尽的孤独涌上心头,这个时候,你渴望有一个人陪在你身边,陪你说说话,哪怕陪着你坐一坐,起码让你知道你并不是一个人。自此以后,你开始标榜自己「需要人陪」,看似高尚的理由,其实只是你害怕寂寞的一种借口,就算你真的找到了一个陪着你的人,那你真的爱她吗,可能你只是在你漆黑的房间中又添置了一盏台灯,这样能让你的眼中看起来更加明亮。


(2) 三观一致真的很重要!


这几年也接触过一些异性,或许也有动心过,但是你会发现,不同人看待,处理事物的方式会有截然不同的结果,你认为简直不可理解的事情,在其眼中似乎也稀松平常,或许你不懂她,也许她不懂你,三观这个词的定义实在太模糊,最简单的方法就是看你们在一起的感觉,给你的感觉如果是很舒服的,那么可以进一步了解一下,害,没什么好说的了, 希望你可以找一位能符合你心中期望的另一半。


(3) 顺着人生轨迹走吧,别为了一个人停下来


千万不要陷入单恋的漩涡中,这是致命的,对的人是不需要主动找的,你只需要顺着人生轨迹走,在合适的年纪做合适的 “正事” ,自然而然就会遇到那个人了,如果等到七老八十,也没有遇到,或许这也就是命。或许说的太悲观了,但我仍认为,与其让自己为了追求一个不确定,也或许没有回应的爱情,不如自己欣赏自己孤岛中的美丽。但话也不能太绝对,或许有一天我就会因为所谓的爱情,陷入盲目。爱情这东西,谁说的好呢。但我只要不断告诉自己,一定不要停下来


第二节 这一年我都做了些什么


(一) 学习 + 技术输出


(1) 行百里者半九十


按照原来的计划,从 Java --> JavaWeb --> SSM --> SpringBoot 这个主线就算结束了,其中夹杂着 SQL,Linux,Web,小程序,设计模式等等的一些支线。不过,根据自己的情况和具体需要吗,其实我已经做出了一些重点的调整,我会在后面的目标中去提到。


(2) 一年和球友一起 输出了一百多万字的笔记



先放地址【Java全栈方向】:http://www.yuque.com/icu0/wevy7f


欢迎大佬们关注一下小弟。



一年中,一边学习,一边做总结,做整理,陆陆续续一年也写了200来篇笔记(也可能是文章或者感悟)(不一定纯后端/前端,还有 Linux ,计网等等)记得某个大佬说过写博客和笔记不一定能做到对别人有帮助,但起码对自己有帮助。但是我一直通过大白话概括 + 做图 + 简单示例 + 官方说明的方式写文章,也在努力希望能对别人也有帮助。



(二) 超爱买书的购物狂


这一年买了不少书(买了 == 看了),还有好多想买的都在我的购物车里吃灰,再买我真怕自己变成一个光收藏的 “读书人” 了,来盘点盘点这一年我看了比较有感觉的书(没感觉的和没怎么读的就不提了,如果给我多一点时间,我争取出一篇介绍自己读的书籍的文章)




一件恐怖的事情:我利用一年时间看过了这些书



第三节 明年今日,记得要回头看看



We already walked too far, down to we had forgotten why embarked. ——纪伯伦《先知》


译文:我们已经走得太远,以至于忘记了为什么而出发。



2022年度回顾



2023年新的目标


技术上:


只有写1-2月的,所以我放一个链接,欢迎大家监督我学习



http://www.yuque.com/icu0/qeowns… 《Cool的三两事》



生活上:


  1. 孝敬父母

  2. 勤运动

  3. 照顾好自己的身体

  4. 不要熬夜

  5. 与人交谈,沉稳思虑而后动

  6. 多读书,多出去走走,善待他人


学业上:


  1. 英语四级

  2. 拉取开源项目,为开源项目提PR

  3. 持续输出技术型文章

  4. 专升本上岸


总而言之,2022喜忧参半,有“春风得意马蹄疾,一日看尽长安花”的喜悦,也有“停杯投箸不能食,拔剑四顾心茫然”的忧愁,但我希望我的2023能有“长风破浪会有时,直挂云帆济沧海”。



个人独白:


以上内容皆是一名专科生的自白,感谢自己在大专三年没有一天是“浑浑噩噩式”学习,也没有一天因为当前的荣誉而骄傲满足,同时感谢部队两年的栽培,让我站在低谷依旧能仰望天空,扎根大地,心有猛虎,细嗅蔷薇。


作者:Cool
来源:juejin.cn/post/7187012953659899965
收起阅读 »

异地技术团队管理的三大模式六项注意

1 为什么会有异地团队 当一个企业成长到一定程度后,往往会在多地建立研发中心或者业务中心,这里企业的考量可能会有如下的一些点: 人才资源:不同的城市和地区可能具有独特的人才资源,通过在多个城市建立研发中心,公司可以吸引和招聘到更多具有不同技能和背景的优秀人...
继续阅读 »

1 为什么会有异地团队


当一个企业成长到一定程度后,往往会在多地建立研发中心或者业务中心,这里企业的考量可能会有如下的一些点:




  1. 人才资源:不同的城市和地区可能具有独特的人才资源,通过在多个城市建立研发中心,公司可以吸引和招聘到更多具有不同技能和背景的优秀人才。这有助于公司在保持竞争力,并确保能够获取到足够的人才来支持研发和业务需求。
    比如深圳是中国的高新技术产业中心,其在硬件制造、消费电子、通信技术等方面具有很强的竞争力,对硬件制造、物联网、人工智能等领域拥有丰富经验的工程师较多,并且由于深圳地理位置优越,靠近香港,拥有国际化的人才环境,因此在跨境项目和多元文化沟通方面具备优势;
    又如北京是中国的政治、文化和教育中心,拥有众多顶级高校和研究机构,拥有大量理论研究和技术创新方面的顶尖人才,北京的互联网行业较为成熟,尤其是在互联网+政务、在线教育、大数据等方面有较多经验的人才。




  2. 市场覆盖:在多个城市设立研发中心有助于公司更好地了解和适应不同地区的市场需求。这可以让公司更迅速地响应市场变化,提供更符合客户需求的产品和服务。




  3. 成本优化:不同地区的劳动力成本、房地产成本和生活成本可能存在差异。在多个城市建立研发中心可以让公司充分利用各地的成本优势,降低整体运营成本。如一些深圳/北京的公司,会把一些研发中心放到西安、成都、武汉、长沙等城市。




  4. 政策支持:一些城市为了吸引优秀企业入驻,可能会提供各种政策支持,如税收优惠、低息贷款、用地优惠等。在多个城市建立研发中心可以让公司充分利用这些政策优势,降低研发成本。




除此之外,还有风险分散的考虑,技术合作与创新等等,最终都是帮助公司获得更多的资源和优势,提高整体竞争力。


2 异地团队会有什么问题


以技术团队为例,当有多个技术团队在不同的城市后,与所有技术团队在同一个地方相比,会有一些问题出现,主要分为以下的 4 个方面:


2.1 团队建设和凝聚力打造困难


由于缺乏面对面交流和互动,异地团队成员之间可能难以建立信任和凝聚力。而团队建设和凝聚力是影响团队绩效的重要因素。当技术团队分布在不同城市时,团队建设和凝聚力可能受到以下方面的影响:




  1. 面对面交流机会少
    当团队成员分布在不同城市时,他们的面对面交流机会将大大减少。面对面交流有助于加深团队成员之间的了解、建立信任和加强团队凝聚力。例如,共同参加团队活动、庆祝生日等场合,能增强团队成员之间的情感联系。而分布在不同城市的团队成员可能很难享受到这些互动的机会。




  2. 困难的团队文化塑造
    一个健康的团队文化对于团队建设和凝聚力至关重要。在异地团队的情况下,公司需要付出更多的努力来塑造统一的团队文化。例如,各地团队可能在工作习惯、价值观、沟通方式等方面存在差异,这些差异可能导致团队凝聚力降低。




  3. 时空的隔阂
    异地团队面临地理距离的挑战,以及各地工作安排导致的时间不一致的问题。这种情况下,团队成员可能较难以达到理想的实时沟通,而在中国实时沟通是大部分公司的必备品,大家更习惯于实时的沟通,而不是异步的非实时沟通。




  4. 缺乏有效的团队认同感
    异地团队成员可能会感到自己与其他团队成员的联系较弱,这会导致他们缺乏对整个团队的认同感。例如,一个异地团队成员可能对其他城市团队的工作情况和成果了解较少,难以形成归属感和共同的目标。




2.2 项目管理及实时协同难度大


异地团队成员可能难以实时协作,尤其是涉及紧急问题或需要即时反馈的情况。项目管理及协同难度增大主要表现在以下的 3 个方面:




  1. 沟通成本上升:当团队成员分布在不同城市时,团队之间的沟通成本会显著增加。团队成员需要通过电话、电子邮件、即时通讯等工具进行沟通,这可能导致信息传递的延迟和误解。例如,一个团队成员在深圳提出一个需求变更,另一个团队成员在上海可能需要数小时甚至一天后才能了解到这一变更,从而影响项目进度。




  2. 快速应对变化的能力变弱:异地团队可能在应对突发事件和变更需求时存在局限。假设一个重要客户要求对产品进行紧急修改,跨城市的团队成员可能需要在短时间内协调资源和安排工作,而地理隔离使得这一过程变得更加困难。




  3. 时间管理和跨团队协调困难:不同城市的团队可能存在不同的工作时间和节假日安排(比如某个城市因为办公场地原因而全员居家),这可能导致某些任务在协作过程中出现延迟。例如,在一个紧急 bug 修复的情况下,由于一个城市的团队正在度假,另一个城市的团队需要独自解决问题,可能导致修复速度变慢。




2.3 监督和管理困难


在异地团队中,监控和评估团队成员的绩效可能较为困难。管理者需要找到合适的方法和指标,以便对团队成员的工作成果进行公平、准确的评估。监督和管理困难主要包括以下的一些情况:




  1. 工作状态难以掌握:由于地理隔离,管理者可能无法直接了解团队成员的工作状态和情况。例如,一个城市的团队可能遇到了技术难题,导致项目进度受阻,但管理者由于无法亲自与团队成员交流,可能难以及时发现问题并采取相应措施。




  2. 绩效评估困难:在异地团队中,评估团队成员的工作绩效可能变得更加困难。由于缺乏面对面交流,管理者可能无法准确评估团队成员的工作质量和效率。例如,一个城市的团队成员可能在某个任务上花费了较长时间,但管理者无法确定这是否是由于技术难题还是工作效率低下。




  3. 难以建立信任和团队凝聚力:地理隔离可能导致管理者难以建立与团队成员的信任关系,从而影响团队凝聚力。例如,一个城市的团队成员可能对管理者的决策表示质疑,由于无法进行面对面沟通,管理者可能无法充分解释决策背后的原因,从而导致信任度降低。




  4. 协调和调动资源困难:异地团队的管理者可能在协调和调动资源方面面临挑战。当项目需求发生变化或出现紧急问题时,管理者需要快速协调各地团队的资源,但地理隔离可能使这一过程变得更加复杂。例如,在一个紧急项目中,管理者需要从多个城市的团队中调集人力资源,但由于异地情况,这可能导致资源调配的速度和效果受限。




整体来说,主要是由于沟通与协作问题导致的各种延展性问题。缺失的面对面沟通、缺少肢体语言、表情语言等,可能导致信息传递不畅、误解和沟通成本的增加。我们无法彻底解决这些问题,但是能通过一些手段来缓解。


3 三大模式


为解决上面这些问题,我们在工作中发现了一些在不同的环境和场景中具有普遍适用性的解决或缓解问题方法,以模式的形式表述出来。


3.1 代理模式(Proxy Pattern)


代理模式在团队管理中可以被用于创建一个协调人或代表角色,负责处理某个团队或多个团队之间的沟通与协作。代理角色在此情景下充当一个中介,处理跨团队的需求、问题解决和资源协调。代理模式有助于简化沟通流程,提高团队协作效率。


具体实施方案:



  • 为每个团队或职能领域设立代理角色,如前端代理、后端代理、QA 代理和移动端代理。

  • 代理角色负责处理跨团队的需求和问题,同时将反馈和解决方案传递给相应团队。

  • 组织定期的代理角色会议,让代理们相互沟通和协作,以确保团队目标的达成。

  • 建立代理角色的沟通汇报机制,如定期晨会、周报和项目维度的回顾会。


3.2 门面模式(Facade Pattern)


门面模式提供了一个统一的接口来访问子系统中的一组接口。在团队管理中,可以创建一个统一的协调角色(如项目经理或技术负责人),该角色负责协调团队成员的工作,并充当各个团队之间的沟通桥梁。这有助于确保团队之间的沟通更加高效,降低沟通成本。


具体实施方案



  • 设立项目经理、技术负责人或者某个业务模块的 DRI 角色,负责跨团队协调和沟通。

  • 为每个团队成员分配具体的职责和任务,以便在项目经理或技术负责人的协调下高效协作。

  • 定期召开跨团队会议,确保团队之间的沟通畅通,及时解决问题。


门面模式和代理模式看起来有一点相似,其本质上是有区别的,区别在于授权的范围,门面模式不用太关注其内部实现,而代理模式在管理上要更深入细节一些。


在实际应用中,我们通常在各职能和各业务模块中使用代理模式,而针对不同的区域使用门面模式,由当前地区的负责人提供统一的输出。


3.3 观察者模式(Observer Pattern)


观察者模式在团队管理中可以应用于实时通知和信息共享。当一个团队成员对项目状态或任务完成情况进行更新时,其他相关成员可以作为观察者实时收到通知。这种模式有助于保持团队成员之间的信息同步,提高沟通效率。


具体实施方案



  • 为团队成员创建一个共享平台,如任务管理工具、项目管理系统等。

  • 当某个团队成员更新任务状态或项目信息时,系统自动通知其他相关成员。

  • 通过观察者模式,确保团队成员之间的信息同步,减少冗余沟通。


4 六项注意


4.1 相互信任


信任是团队协作的命脉。要想促进并保持长久的关系,你就必须信任他人,他们也必须信任你。与此同时,他们还必须相互信任。


信任来自相互理解对方的价值观、个人经历和立场。为了实现这一目标,我们必须承认自己的弱点,我们必须开放。这样我们才能够建立起共同的价值观和彼此信任。


信任在异地团队中有如下的好处:



  1. 提高团队凝聚力:信任关系有助于增强团队成员间的默契,从而提高团队凝聚力。当团队成员信任彼此时,他们更愿意携手合作,共同解决问题。

  2. 提高工作效率:信任关系可以促使团队成员更加开放地分享信息、资源和建议,从而提高整体工作效率。当团队成员相互信任时,他们更可能分享自己的想法和专业知识,共同解决问题。

  3. 降低沟通障碍:信任有助于消除团队成员间的沟通障碍,提高沟通效果。当团队成员彼此信任时,他们更愿意倾听对方的意见,以开放的态度接受建议和批评。

  4. 降低管理成本:信任关系有助于减轻管理压力,降低管理成本。当团队成员相互信任时,他们更可能自我管理,减少管理者的介入。

  5. 增加创新和风险承担:信任关系有助于创造一个安全的环境,使团队成员更愿意尝试新的想法和承担风险。当团队成员彼此信任时,他们更可能勇于创新和承担失败的风险。


建立相互信任关系的方法,以下是一些常见的方法:




  1. 增加沟通



    • 定期开展团队会议,让团队成员分享项目进展、遇到的困难和解决方案。

    • 鼓励一对一交流,让团队成员有机会深入了解彼此的工作、兴趣和需求。

    • 举办团队活动,如团队建设、庆祝活动和知识分享,促进团队成员间的互动和信任。




  2. 增加透明度



    • 使用项目管理工具,让团队成员能够实时查看项目进度和任务分配。

    • 定期分享业务战略、目标和团队绩效,让团队成员了解公司的发展方向。




  3. 赋予责任和权力



    • 根据团队成员的专长和兴趣分配任务,让他们在完成任务时有更大的自主权。

    • 鼓励团队成员在解决问题时提出建议和改进方案,展现对他们的信任。




  4. 鼓励支持和合作



    • 创建一个支持性的氛围,让团队成员在遇到问题时不惧于寻求帮助。

    • 鼓励团队成员互相学习、分享经验,以解决共同面临的问题。




  5. 表扬和认可



    • 在团队会议上表扬团队成员的优秀表现和努力。

    • 为表现突出的团队成员提供奖励,如奖金、晋升和表彰。




  6. 建立公平的环境



    • 确保团队中的决策过程透明,鼓励团队成员参与讨论和决策。

    • 设定明确的激励和奖惩




4.2 仪式感


在异地管理中,仪式感是一种有意识地营造正式或非正式场景,以传递重要信息、强化文化价值观、增强团队凝聚力和提升员工信任感的方式。


在异地团队中,恰当的仪式感具有以下好处:



  1. 增强团队凝聚力:仪式感有助于让团队成员感受到归属感和团队精神,从而增强团队凝聚力。

  2. 传递公司文化和价值观:通过仪式感,可以传递公司的文化和价值观,帮助团队成员更好地理解和认同这些价值观。

  3. 提升员工士气和信任感:仪式感可以激发团队成员的积极性和参与感,从而提高员工士气和信任感。

  4. 建立清晰的期望和目标:仪式感有助于确立团队成员的期望和目标,提高工作效率和执行力。


那如何建立恰当的仪式感呢?



  1. 定期召开团队会议:固定时间、地点召开团队会议,让团队成员汇报进展、分享经验、讨论问题。如每周一召开全体成员参加的在线例会,或者对于管理团队,定期如开包含问题同步和处理,学习分享的管理例会。

  2. 庆祝重要节点和成就:为团队的重要成就和里程碑设立庆祝活动,以增强团队成员的归属感和自豪感。如在项目完成时,举办在线庆祝活动,表彰优秀团队成员。

  3. 组织团队建设活动:定期组织线上或线下的团队建设活动,增进团队成员间的联系和互动。如每季度举办一次线上游戏比赛,增强团队成员之间的合作和交流。

  4. 激励和认可:对团队成员的努力和成果给予表扬和认可,提高他们的信任感。如每月颁发「最佳团队贡献者」奖项,表扬表现优秀的团队成员。

  5. 传递公司文化:通过仪式感传递公司文化,帮助团队成员理解和认同公司的价值观。如每年举办一次公司文化分享活动,邀请公司领导和团队成员分享公司文化和价值观。


4.3 严格目标管理,注重结果


在异地技术团队管理中,严格的目标管理和注重结果至关重要,因为这有助于确保项目按时完成、质量达标,并提高团队成员的工作效率和执行力。


以下是实行严格目标管理和注重结果导向的好处:



  1. 明确工作目标:设定清晰的目标和期望,帮助团队成员明确工作重点,避免资源浪费和目标模糊。

  2. 提高工作效率:明确的目标和期望有助于团队成员更高效地完成任务,降低拖延和低效的可能性。

  3. 便于评估和改进:结果导向的管理使团队可以通过衡量实际成果来评估工作效果,从而找出不足并进行改进。

  4. 激发团队成员积极性:目标明确、注重结果的管理方式有助于激发团队成员的积极性和责任心,鼓励他们为实现目标而努力。

  5. 有利于项目按期完成:严格的目标管理和注重结果有助于确保项目按计划进行,按时完成,避免延期。


那么如何实施严格的目标管理和注重结果导向?有如下 7 个方法



  1. 设定明确的目标:为项目和团队设定明确、可衡量、可达成的目标。如在项目开始时,为团队设定一个明确的项目交付日期,并明确交付内容的具体要求(也就是大家常说的 deadline 是第一生产力)。

  2. 制定详细的计划:为实现目标制定详细的计划和进度表,包括任务分配、时间安排等。如使用项目管理工具(如Trello、Jira等)制定详细的任务列表和时间表,如果没有这些工具,搞个在线表格也是极好的。

  3. 定期检查进度:定期与团队成员沟通,了解项目进度和遇到的问题,确保项目按计划进行。如定期的项目晨会(可以按周,或按天,也可以一周两次,根据实际情况调整),让团队成员报告各自的任务进展和遇到的问题。

  4. 强调结果导向:鼓励团队成员关注实际成果,以实现预定目标。在管理过程中对团队成员的绩效评估更注重实际完成的任务和贡献,而非工作时长或其他表面指标(不要卷加班)。

  5. 及时反馈和调整:根据实际进度和成果,及时给予团队成员反馈,调整目标或计划。如当发现某个任务进度落后时,及时与相关成员沟通,分析原因,并调整计划或提供支持。如当发现某个任务进度落后时,及时与相关成员沟通,分析原因,并调整计划或提供所需资源,以确保项目仍能按时完成。

  6. 定期总结和复盘:项目结束后,与团队成员一起总结经验教训,分析成功与失败的原因,以便在未来项目中持续改进。如项目结束后,组织团队进行复盘会议,总结项目的优点和不足,制定改进措施。或者迭代结束后做一些回顾。


我们在团队管理中,目标管理是一个非常重要的点,一定要自己主导,不能授权,作为一个技术团队的负责人,方向是你来定的,未来在你的手里


4.4 扁平、弹性的组织架构


在异地技术团队管理中,组织架构至关重要,因为组织架构会影响团队的沟通效率、决策速度、责任分配和协作。适合异地技术团队的组织架构应具备以下特点:扁平化、模块化、弹性和高度协作。




  1. 扁平化:扁平化的组织结构有助于提高沟通效率,减少信息传递过程中的失真和延迟。扁平化组织中,每个成员能够直接向上级汇报,决策速度更快,执行力更强。




  2. 模块化:将工作划分为具体的、相对独立的模块,有助于提高团队的协作效率。每个模块可以由一个或多个团队负责,这样可以减少跨团队协作的复杂度,降低沟通成本。




  3. 弹性:适应不断变化的项目需求和团队规模,组织架构需要具备一定的弹性。弹性的组织架构可以快速调整资源分配和团队规模,以满足项目发展的需要。




  4. 高度协作:鼓励团队成员之间的协作和互助,以提高工作效率和质量。高度协作的团队可以更好地应对复杂问题,减少重复劳动和资源浪费。




以下是如何实现适合异地技术团队的组织架构:



  1. 利用技术手段优化沟通:使用沟通和协作工具(如钉钉、企业微信、飞书、Microsoft Teams等)提高沟通效率,方便团队成员跨地域、跨部门协作。

  2. 决策下放:授权团队成员在其负责领域做出决策,提高决策速度。如将需求评审的决策权下放至小组 leader 或 DRI,甚至一线开发,让他们根据自己的专业知识对需求进行评估和调整。

  3. 设立技术负责人或项目经理:在每个地区或团队设立技术负责人或项目经理,负责协调团队成员的工作,确保项目顺利进行。如在各城市的团队中各设立一名项目经理,负责当地团队的项目进度和资源协调。

  4. 定期进行跨团队沟通:组织定期的跨团队会议,让各个团队分享进展、问题和解决方案。这有助于提高团队间的了解和协作。如每两周组织一次跨团队分享会议,让各个团队汇报自己的进展和挑战,共同寻找解决方案。

  5. 提供培训和支持:为团队成员提供技能培训和支持,以便他们更好地适应组织架构变化。如提供关于敏捷开发、跨部门协作等方面的培训课程,帮助团队成员提高工作效率和协作能力。

  6. 鼓励创新和变革:建立一种鼓励创新和变革的文化,让团队成员敢于尝试新方法,优化工作流程。如设立创新奖励计划,对于提出改进方案并成功实施的团队成员给予奖励。或者团队负责人亲自来参与或推进一些创新的事项,如最近的比较热的 AI。


4.5 统一的技术栈


在异地技术团队管理中,统一技术栈非常重要,因为它能为团队带来以下好处:



  1. 提高协作效率:统一技术栈能确保团队成员之间更容易进行技术交流和协作,避免因技术差异导致的沟通障碍和额外工作量。

  2. 降低维护成本:使用相同的技术栈,使得维护、调试和优化工作更加简单,减少因为技术差异导致的额外成本。

  3. 增强团队能力:统一技术栈有助于团队成员互相学习,提高整体技术能力,使得团队在面对复杂项目时更具备应对能力。

  4. 简化招聘和培训:统一技术栈使得招聘和培训过程更加简单,因为公司可以针对特定技术栈进行招聘和培训,提高招聘效率和培训质量。


为实现统一技术栈,我们可以采取以下方法:



  1. 制定技术规范和标准:制定统一的技术规范和标准,确保各地团队遵循相同的技术实践。如制定统一的编码规范、代码审查标准和自动化测试要求。

  2. 组织上增加架构设计的职能或者技术通道的职能组织: 通过组织的方式构建技术栈统一的土壤。

  3. 搭建技术共享平台:创建内部技术分享平台,让团队成员分享技术心得、问题解决方案和最佳实践,有助于统一技术理念和实践。如搭建一个内部的技术博客平台,鼓励成员撰写和分享技术文章。

  4. 统一基建和开发流程中的系统: 通过使用工具的统一达到技术栈的统一。

  5. 选型时充分调查和论证:在技术选型阶段,充分调查并论证各种技术方案的优缺点,确保选择的技术栈适合公司的业务需求和发展战略。

  6. 定期评估和调整:定期评估技术栈的合理性和有效性,根据项目需求和团队能力进行调整,以保持技术栈的统一性和先进性。如每年定期组织技术栈评审和审查,了解目前所使用的技术栈是否仍然满足业务需求,或者是否有新技术可以更好地支持业务发展。


通过以上方法,异地技术团队可以实现技术栈的统一,从而提高协作效率、降低维护成本、增强团队能力,并简化招聘和培训过程。这将有助于提高团队整体的研发效能,使得公司在面对市场竞争和业务挑战时更具备优势。


4.6 高效的沟通机制


异地团队最突出的问题是沟通问题,在我们平常的沟通过程中需要选择合适的沟通渠道和做有准备的沟通。良好的沟通有如下的好处:



  1. 能提高沟通效率:采用合适的沟通方式可以确保信息准确、及时地传递给相关人员,避免因沟通不畅导致的误解和冲突。

  2. 增强团队凝聚力:良好的沟通方式有助于增进团队成员之间的理解和信任,提高团队凝聚力。

  3. 减少资源浪费:有效的沟通方式能够减少不必要的会议和重复工作,降低资源浪费。

  4. 支持项目管理:清晰的沟通方式有助于确保项目进度、需求和问题得到及时解决,保障项目顺利进行。


我们可以通过如下的一些方式达到比较高效的沟通机制:



  1. 明确沟通目标和内容:在沟通开始前,明确沟通的目的、内容和预期结果。如:在项目会议开始前,列出讨论议题、相关人员和预期决策。

  2. 选择合适的沟通渠道:根据沟通内容和参与人员,选择合适的沟通渠道。如:对于紧急问题,可以使用电话或即时通讯工具(如微信、钉钉等)进行沟通;对于团队日常工作,可以使用邮件或者项目管理工具(如Jira、Trello等)进行沟通。

  3. 建立沟通规范:制定团队沟通规范,确保沟通有效进行。如:要求团队高效会议,或者要求团队成员在邮件中使用清晰的主题行、合理的收件人列表以及简洁明了的正文。

  4. 鼓励开放和诚实的沟通:营造一个鼓励团队成员开放、诚实地表达观点和需求的氛围。如:在团队会议上,鼓励成员提出问题、建议和想法,避免惩罚性的反馈。

  5. 定期进行沟通培训:为团队成员提供沟通技巧培训,以便他们更好地进行沟通。如:提供关于有效沟通、团队协作等方面的培训课程。


值得注意的是,异地的沟通中尽量少用邮件,邮件适用于传达信息和事实,撰写时还需要注意措辞,以防误会的发生。


单纯的文字无法传递情绪,如果要传达你的想法时,最好拿起电话进行视频,通过视频也能制造多次「见面」的机会更有利于建立信任。


现在用 IM 类工具也比较多了,在清晰的文字表达的基础上,多用表情包。


5 后记


上面说了这么多,有点啰嗦,简单点来说就是:多见见,多一起喝点酒,多一起搞定一些事情,保证基本的机制、流程、标准、工具和系统,也就差不多了。


异地的问题表象是见不着,核心要解决的是效率的问题。


技术团队的管理更多的还是人的问题,还是需要有情感的交流和因为长时间的一起工作而产生的向心力。
我们所做的这些仅能缓解这些问题。


当然,可能有同学会更喜欢异地/远程的工作协同模式,此处因人而异,从个人的角度来看:从团队的角度,从效能的角度,本地化团队会是更高效的选择。


当然以上的模式和注意事项在非异地团队的情况下也是可以使用的,而且效果会更好,因为这些的本质是授权管

作者:潘锦
来源:juejin.cn/post/7219651766707044389
理和过程管理的逻辑。

收起阅读 »

思考:如何做一名合格的面试官?

背景 关于招聘,在最近一段时间有幸又参与到了面试工作。这次面试也包含一些相对高级一点的岗位,如何招到合适的人成为了最近一段时间一直在思考的一个点。 整体上感觉自己还是没有章法,没有清晰的思路(做不到因人而异),这种情况对自己对他人都是不负责任的。 因此,简单做...
继续阅读 »

背景


关于招聘,在最近一段时间有幸又参与到了面试工作。这次面试也包含一些相对高级一点的岗位,如何招到合适的人成为了最近一段时间一直在思考的一个点。


整体上感觉自己还是没有章法,没有清晰的思路(做不到因人而异),这种情况对自己对他人都是不负责任的。


因此,简单做一些总结思考,边面边想边改进吧。


image.png


招聘者的目标


首先,作为招聘者,都希望能找到一些厉害的人,成本不应该是他要考虑的问题。但现实总是相反。


面试官:这是我这次招聘的需求,要这个...... 那个...... 总之,能力越强越好。


公司:这次招聘成本范围已发给你了,注意查收。


面试官:......


所以,在成本有限的情况下,面试官要做的就是找到那些会发光的人。对面试官来说,招到一个即战力(不亏),招到一个高潜力(赚翻了)。


因此,招聘者的目标都是希望能够招到 能力 > 成本 的人。


image.png


梳理招聘需求


招聘的需求是需要面试官提前梳理好的,面试官作为团队的组建者,一定要提前规划好招聘需求。比如:



  1. 我要找技术强的。(我不懂的他来)

  2. 我要找态度好的。(我说啥都听)

  3. 我要找有责任心的。(不用我说就把活干得很漂亮)

  4. 我要找学习能力强的。(自我提升,啥需求都能接的住)

  5. 最好还能带团队。(这样我就轻松了)

  6. 最后一定要稳定。(这样我就一直轻松了)


哈哈,先开个玩笑。虽然我真的想......


image.png


现实就像上边提到的,招聘者希望的求职者模样。虽然知道不可能,但还是忍不住想要(我控制不住我几己呀!),所以在有限的面试时间内,问了很多方方面面的问题......


面试结束后:我问了那么多才答上来那么几个问题,不行,下一个......


面了几天后:人怎么这么难招呢?


image.png


所以真正的招聘需求应该是下边这样的:



  1. 我要招一个领导者还是执行者:这个一定要想清楚,两者考察维度完全不一样。

  2. 我要技术强的:想好哪方面技术强,不要妄图面面俱到。

  3. 我要找有责任心的,学习能力强的,稳定的:想好怎么提问,如何判断。


如果能够做到上边的三点,相信招进来的人应该都是OK得。PS:先做到不亏。


领导者Or执行者


为什么把这个作为第一点,上边也提到过,两者考察维度完全不一样。一场面试,时间就那么点,所以要有针对性。


先说领导者


如果招聘领导者。试想一下领导者有哪些特点,什么样的人你愿意让他成为领导者。



  1. 业务理解程度深,不仅限于产品规划的业务需求,还要有自己的理解和看法。

  2. 技术能力强,通常一个技术方案便能提现出来,方案好不好,考虑全面不全面。

  3. 抗压能力强,能够承担工作压力,这里不是指加班(当然加班也算),更多的是来自于技术,业务的困难和挑战。


以上三点并不代表全部,仅做参考。那么如何在面试中确认呢?




  1. 业务理解程度主要通过追问细节的方式来确认。在你不了解的情况下,依然能够给你讲明白,这个业务是做什么的,关键核心点是什么,核心点有什么难度和挑战,最后是怎么解决的,解决的是否完美,不完美的原因。如果能够回答的不错那就基本合格了。最后可以再多问一下: 有没有哪些产品提出的需求,你认为不合理或者不适合当前产品现状的?这个问题只要回答的有一定高度,那就完美了。


    ps: 如果面试者认为没有什么难度和挑战,只能证明他自己没有深度参与或主导该业务。再简单的系统,也不可能一点问题都没有,如果真的没有,那么完全没有必要安排团队去专门负责。没有简单的系统,只有简单的思考。


    举个栗子,用户管理(用户CRUD)系统我们一听可能都觉得很简单,早期,用户注册要填一堆的东西,现在都是各种登录渠道,非常的方便。站在现在的角度,对于早期的用户管理来说,如何提升用户注册效率,增加用户量就是一个有难度有挑战的事情。




  2. 技术能力,我简单分为有效技术能力和无效技术能力。无效技术能力代指无用且无聊的八股,当然也不是所有的八股都无用。有效技术能力我理解就是解决问题的能力,而解决问题不在于使用的技术手段与否高明,是否先进,只要贴合业务场景,我都会认为有技术能力。反而那些八股回答的头头是道,解决实际项目问题无一用到的会严重减分。




  3. 抗压能力,项目经验是能反应出来一些信息的:有难度,有挑战的事情你不会交给一个不合适的人来做的,所以如果简历的项目经验中有类似的经验那么就证明别人已经帮你筛选过了。PS:别忘了鉴别一下。




再说执行者


还是试想一下,好的执行者有哪些特质:



  1. 注重细节,考虑问题全面。

  2. 责任心强,不会随便应付了事。

  3. 技术OK,至少基础没有问题。


同样,上述三点仅做参考。




  1. 注重细节,直接体现其实跟方案的完善程度有关,所以问问技术方案的异常情况是如何考虑的。另外,直接体现其实就是BUG比较少,当然这个一般人肯定不会说自己BUG多,所以可以问问,对于如何减少BUG量,有没有心得。(这个问题目前来看基本没啥用,哈哈)




  2. 责任心强。责任心如何体现的我也说不太清楚,思考以后认为加班算一方面,有加薪、晋升算一方面,面试中很难直接体现,只能凭感觉。和第一条注重细节一样,我面试全凭聊完之后的直觉,这种大家都会有,而且一般来说准确率也不错。


    PS: 其实在面试沟通过程中,一问一答,很多事情靠直觉、面向也能猜个七七八八,玄学的东西这里不多说。说一点有科学依据的,人的性格简单分为外向、内向,两者都有其各自的特质,通常来说,内向者的特质更多时候适合于执行者。感兴趣的可以去了解一下两种性格特质,有益于团队管理。




  3. 技术OK。这个不做多说了,一定要多问实际使用的,不用的就不要问了,可能用的适当问一下,实际使用的也可以拔高一下往深了问问。比如:mysql都在用,mysql的八股可以多问几个。JVM这种开发基本不用的,简单问一下得了(我一般是不问的)。






这一篇先到这里把,关于技术强、责任心其实也简单提了一下。关于这两点,后续结合实际情况再更新吧。


作者:FishBones
来源:juejin.cn/post/7219943233799323704
收起阅读 »

在前端领域摸爬滚打7年,我终于掌握了这些沉淀技巧

我做开发多年,常常有人问我「软件开发难学吗?」「前端和后端哪个比较简单?」「培训后是否好找工作呢?」这些问题单拎出来比较棘手,三言两语说不清楚,需要你对开发有一个系统了解,问题才能迎刃而解。 所以,我想和你分享我的学习和工作经历,希望这对于正在准备成为一名程序...
继续阅读 »

我做开发多年,常常有人问我「软件开发难学吗?」「前端和后端哪个比较简单?」「培训后是否好找工作呢?」这些问题单拎出来比较棘手,三言两语说不清楚,需要你对开发有一个系统了解,问题才能迎刃而解。


所以,我想和你分享我的学习和工作经历,希望这对于正在准备成为一名程序员的你有所帮助。


我的经历可能会为新手提供一些有用的建议和思路。


01 萌芽之初,点燃编程学习的梦想


对于一些90后的朋友来说,网游填满了他们的高中时期,甚至是初中。


他们经常因为不走寻常路去打游戏,在回来时被门卫大爷逮个正着。尽管我没有沉迷于游戏,但我仍然被游戏所吸引。


在游戏中,我一直认为只有玩家和 NPC 的存在,但是,玩得越多,你会发现还有一些不寻常的角色,那就是“工作室”。部分“工作室”利用一些技术手段批量、自动地在游戏中完成任务以赚取游戏产出。


虽然这种行为不可取,但是他们使用的技术确实让我感兴趣。


这时候,代码的种子已经悄悄埋藏在我的内心深处,等待发芽。


高中毕业后,卸下学业负担,我开始利用暑期学习了一些脚本精灵、Tc 简单编程和易语言编程,这也是我第一次接触编程基础语法,如条件判断、循环、遍历和条件选择,再加上社区提供的一些识图插件,我就像一个蹩脚的裁缝,东拼西凑,左缝右补,费劲巴拉缝制成一件衣服,却不合身。


虽然实现了自动登录游戏的功能,但很不幸运的是,这样的小功能也还是过不去游戏的自检程序,万物皆有裨益,万事皆可为师,正是这一次编程体验促使了我后来的专业选择。


02 踏上编程学习之路,从安卓到前端,每一步都算数


英语是我成长路上的一块绊脚石,在选择专业时,我想躲开英语,于是选择了同为计算机系下的软件外包服务专业,结果发现,只要是技术,英语的要求都是一样的。


当然,我选择这个专业还有另外一个动机 -- 它开设了Android课程。毕竟,那时我刚拿到一款安卓手机,能在手机上开发自己的App是何等酷炫的体验啊!


那时,有一本厚重的《疯狂 Android 讲义》成了我的启蒙之书,我翻过无数遍,上课、参加编程比赛、实习工作、这本书我一直在用,为我第一份工作立下了汗马功劳。


临近毕业,是先就业还是先培训,许多软件相关专业的毕业生都面临着这样的选择。


所以,你要想明白,你到底需要的是什么?


我选择参加培训是出于两个原因:第一是为了将平时自学的知识整合起来,第二是希望能够认识更多的小伙伴,以便进行技术交流。编程最忌讳的就是闭门造车,不进行沟通交流。


然而,选择参加培训并不是每个人的选择。


如果你有能力自己阅读技术书籍,并且知道如何获取最新的技术信息,那么参加培训完全没有必要。


只有当你需要别人的指点和帮助来梳理技能,或者需要更好的机会来进行技术交流时,参加培训才是一个好的选择。


但是,如果你仅仅因为听说培训完就能很赚钱而选择花钱加入,那么你就要好好思考一下了,周围打水漂的人确实不在少数。


培训结束后,2015 年 12 月 7 号,我入职了第一家公司,担任 Android 开发工程师。


人生有时候做一个决策,一个行动,当时只道是寻常,当它的价值在未来某一刻兑现时,你会感谢当时努力的自己。


如果没有大学时翻过无数遍的《疯狂 Android 讲义》,我不可能找到这份工作。


03 学前端到底在学什么


工作后,我第一次真正进入团队开发模式(我是不会告诉你我当初使用百度云盘定时同步代码的,炸过一次硬盘),由于业务需要一定的前端支持(合同模板),所以在一次小组会议上,组长建议我们要着手学习前端技术(Angular1.x)。


到了17年左右,公司的业务开始由原 Pad 端转移到手机端。我和其他几个新入职的小伙伴经过一上午的 Vuejs2.x 培训后,就开始上手开发了。


也是在这次前端项目开发中,我第一次接触到了闭包导致循环失灵的问题,第一次把一个页面写到 3 千多行(烂,不懂拆分)。


由于这次前端项目开发的经验不足,导致迭代两年后,项目能编译出 200MB 的内容。我只能通过各种查找和大量的 webpack 参数调试,将产物压缩回了20MB 左右。对于我来说,这也是一次很大的成长。


我非常推荐各位小伙伴在工作中多承担,因为开发经验绝非是你熟背八股题得到的,开发经验只能是来自大量的项目实战。


多做练习,多遇困难,多做总结,得到的才是自己的。开发经验决定了你的下一个项目能否走得更顺利。


选择成为前端程序员是一件比较苦的事情,因为这个领域的技术更新非常频繁,如果你不持续学习,那么你就会落后,这也是“前端很累”的一个根本原因。


实际上,现在还有一些人对前端存在偏见,因为他们认为不就一个 JavaScript,能有多难?


但是事实上,很多前端构建技术的底层实现并不是用 JavaScript 语言编写的,而是基于了其它编程语言如 Golang(代:ESBuild)和Rust(代表:SWC)“包装”起来的,利用这些语言的特点来弥补 JavaScript 的不足。


前端学习的基础是 JavaScript,但不仅仅是 JavaScript,如果你认为学习 JavaScript 就是学习前端,那么你可能会走进死胡同。


04 正确的学习编程方式一定是这样的


在学校里,老师一定告诉过你两个正确的学习方式,其中一个是要做笔记,另一个是要能够向同学清晰地讲解。


繁多的技术是不可能靠记忆实现的,因此做笔记和写博客是记录学习过程和分享学习成果的捷径。


现在,我也发现很多在校的同学积极在各大技术社区分享自己的学习经验,这也印证了这条成长途径的正确,同时也激励我们这些已经做了多年程序员的伙伴要更加努力。


不论你是学习新的编程语言还是新的框架,都需要为其配置对应环境,但有很多框架的环境配置其实对于第一次接触的小伙伴来说并不友好,就比如我最初在从Android转前端的时候就因为安装NodeJsNpm这些东西而烦恼,因为当时莫名其妙就提示你Python2的模块找不到了,要不就是安装依赖超时了,在环境搭建问题上花费太长时间真的不划算。


为了避免环境搭建影响学习进度,我们可以使用一些在线的 IDE 环境,例如 CodePen、CodeSandBox、Stackblitz、JSRun 等。


但是,它们在依赖安装、操作习惯和响应速度上仍然有一些上手难度。


我最近一段时间一直在使用 1024Code  社区提供的在线 IDE,它提供了很多热门语言和框架的代码空间模板,免配置环境,即开即用随时学习新技术。


它支持多人开发和在线分享,无论是和朋友一起开发项目还是找大佬请教问题,都非常轻松。


05 学习编程,高效沉淀需要技巧


我发现之前写博客时做的案例很难沉淀下来。往往只是写完一遍,很少再打开运行。


但是在 1024Code 中,可以以卡片的形式记录每一个案例,也可以将一系列案例放到一个集合中归类。


此外,1024Code 还支持在个人主页中渲染 Markdown,为小伙伴打造炫酷的个人主页提供了便利。


最令人赞叹的是,1024Code 紧跟最近比较火的 ChatGPT,将其接入到了 IDE 中,让你在编码的同时可以更快速地查找解决方案。下面我给大家简单地展示一下:


在社区主页中,案例以卡片的形式展示。你可以点击你感兴趣的案例,一键运行。边浏览源码,边跟着作者提供的 README 进行学习。


如果你想在此基础上练习或二次开发,还可以 fork 一份到自己的工作空间。如果你发现作者的代码有不合理的地方,还可以在评论区大胆地给他留言,大家可以共同成长。



1024Code 提供了众多空间模板,涵盖了多种编程语言和框架,例如针对数据统计和 AI 模型训练的 Python,以及让许多程序员感到头疼的 C++。


此外,它还支持其它主流的热门编程语言和框架。



Markdown 是编程小伙伴们最常用的笔记格式之一,因此无需专门学习其语法。只需要多看几遍,就可以自然而然地掌握。


此外,你还可以参考社区中其他小伙伴的主页,来打造自己独特的个人主页。



接下来,我要展示一段时间以来我制作的合集。


最初,这个合集是为了帮助那些不熟悉滴滴 LF 框架如何使用 Vue3+TS 编写的小伙伴们而制作的。


我还将合集地址提交到了 LF 仓库,希望能够帮助那些正在转向 Vue3+TS 的小伙伴们。



最重磅的就是 ChatGPT 了。


在使用 1024Code 的 IDE 进行开发过程中,如果遇到问题,你可以快速打开 ChatGPT 来协助你查找答案,而不需要离开当前页面。


ChatGPT 支持上下文连续问答模式,虽然它不能解决你所有的问题,甚至会给出错误的答案,但对于一些常规类编程问题或正在做毕业设计的小伙伴们,它还是能够显著提升效率的。



总结


最后,我再为你做一些总结、建议和对未来的期待:




  1. 我建议你要有很强的动力来学习编程,因为坚持并不是易事;




  2. 我建议你坚守自己慎重选择的专业,因为不忘初心方得始终;




  3. 我建议你在面对技术培训时要清醒认知,因为明确目标的选择才适合自己;




  4. 我建议你在工作中抓住一切学习的机会,因为努力的人很多,只有不断学习才能跟上技术的发展;




  5. 我建议你在编程学习时要善用工具、做好笔记、写博客,不断沉淀自己的知识和经验;




最后的最后,愿我们所有付出都将是沉淀,所有美好终会如期而至。


作者:小鑫同学
来源:juejin.cn/post/7209648356530929721
收起阅读 »

为什么面试聊得很好,转头却挂了?

本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。 了解校招、分享校招知识的学长来了! 四月中旬了,大家面试了几场? 大家有没有这样的感受:面试的时候和面试官聊得火热朝天,气味相投。 面完觉得自己稳了,已经在畅想入职事宜了,结果一封感谢...
继续阅读 »

本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。


了解校招、分享校招知识的学长来了!


四月中旬了,大家面试了几场?


大家有没有这样的感受:面试的时候和面试官聊得火热朝天,气味相投。


面完觉得自己稳了,已经在畅想入职事宜了,结果一封感谢信让人瞬间清醒。


image.png


不少同学应该有这样的经历。


学长也曾经有过:面试两小时,自觉面试问题回答得不错,但是面试官只说:你回去等消息吧。


经历过面试的同学应该懂”回去等消息“这句话的杀伤力有多大。


在此也想先和那些面试多次但还是不通过的朋友说:千万别气馁!


找工作看能力,有时候也看运气,面试没有通过,这并不说明你不优秀。


所有,面试未通过,这其中的问题到底出在哪呢?


01 缺乏相关经验或技能


如果应聘者没有足够的经验或技能来完成职位要求,或者面试的时候没有展现自己的优势,那么失败很常见。


而面试官看重也许就是那些未展现的经验或技能,考察的是与岗位的匹配程度。


02 没有准备充分


每年学长遇到一些同学因为时间安排不当,没有任何了解就开投简历。


而被春招和毕业论文一起砸晕的同学更是昏头转向。


如果没有花足够的时间和精力来了解公司和职位,并准备回答常见的面试问题,那么可能表现不佳。


03 与招聘人员沟通不畅


在面试过程中,面试官真的非常看重沟通效果!


如果应聘者无法清晰地表达自己的想法,或者不能理解面试官的问题,那么可能会被认为不适合该职位。


04 缺乏信心或过度紧张


学长也很理解应届生的局促感,以及面对面试官的紧张。


image.png


但是如果面试场上感到非常紧张或缺乏自信,那么可能表现得不自然或不真诚。


好像,面试的时候需要表现得自信、大方,才能入面试官的眼。


05 不符合公司文化或价值观


企业文化,也成为考察面试者的一个利器。


如果应聘者的个人品格、行为或态度与公司文化或价值观不符,那么可能无法通过面试。


比如一个一心躺平的候选人,面对高压氛围,只会 Say goodbye。


image.png


06 其他候选人更加匹配


如果公司有其他候选人比应聘者更加匹配该职位,那么应聘者可能无法通过面试。


一个岗位,你会面对强劲的对手。


同样学历背景,但有工作经验比你丰富的;


工作经验都 OK,但有其他学历背景比你合适,或稳定性比你高的面试者。


经常有同学发帖吐槽面试经历:一场群面,只有 Ta 是普通本科生,其余人均 Top 学校研究生学历。


面试不容易,祝大家都能斩获心仪的 Offer!


最后,欢迎来关注公粽hao「林行学长」,聊聊职场,聊聊工作,聊聊生活,林行学长和你一起成长~


作者:林行学长
来源:juejin.cn/post/7221131892426096701
收起阅读 »

你到底值多少钱?2023打工人薪酬指南

大家好,我是王有志,欢迎和我聊技术,聊漂泊在外的生活。 作为打工人,你最关心什么?技能,成长,发展还是薪酬? 刚毕业时,我为了赢得面试官的好感,说了很多违心话,如:“工资不要紧,主要是想学习”,又或者是“我对贵司的这块技术非常感兴趣”。 现在想想,呸!恶心,...
继续阅读 »

大家好,我是王有志,欢迎和我聊技术,聊漂泊在外的生活。



作为打工人,你最关心什么?技能,成长,发展还是薪酬


刚毕业时,我为了赢得面试官的好感,说了很多违心话,如:“工资不要紧,主要是想学习”,又或者是“我对贵司的这块技术非常感兴趣”。


现在想想,呸!恶心,哪怕是花钱培训呢,也不要再傻乎乎的说出“为块术”这种违心的话了。


图1:为块术.png


那时候年轻,不知道起薪高的好处,现在被各种压涨幅,各种倒挂,干最累的活,拿最少的钱,吃最硬的大饼。


2023年,后疫情时代的“元年”,我想明白了,我背上行囊,背井离乡来北漂,就为了3件事:挣钱,挣钱,还是TM的挣钱


既然要挣钱,首先要明确自己的价值。想必大家也对自己值多少钱感兴趣吧?可苦于薪酬保密协议,很难和身边人对比,难以了解自己的价值。没关系,我最近读了几份有趣的报告:



  • 《看看你该赚多少?2023薪资指南(亚太版)》连智领域

  • 《2023年市场展望与薪酬报告》任仕达

  • 《2023⾏业薪酬⽩⽪书》嘉驰国际


今天我就通过这几份报告和大家聊聊,在职场中“我”到底价值几何,“我”拿到怎样的薪资才没有辜负我的才华。


Tips



  • 本文重点分享信息技术岗位,互联网行业,金融行业,软件行业的数据,其余数据可自行阅报告,文末附下载方式;

  • 个人价值不单单由工作年限决定,更多的是与工作年限所匹配的能力。


应届生薪资指南


如果你经常逛各种论坛,可能会看到“今年春/秋招的白菜价是25K”,“XXXX给我开了20K的侮辱性Offer”这类言论。那么20K真的是侮辱性Offer吗?低于白菜价的Offer到底要不要接?


来看嘉驰国际统计到的信息技术行业应届生薪资数据:


图2:2023信息技术行业应届生平均薪资.png


数据似乎与看到的言论相反,一线城市中,本科毕业生薪资中位数是8.8K,只有25%的毕业生拿到了超过10K的薪资。热门城市(北京,上海,广州,深圳和杭州)中也只有北京,上海和深圳的应届生薪资中位数超过了8K


那么网上流传的“白菜价”是怎么回事?其实不难理解,“白菜价”是少数顶尖院校(115所211院校,含39所985院校)的学生拿到顶尖互联网大厂的平均薪资水平,而大部分应届毕业生是很难拿到这个薪资的。


我国拥有2759所普通高等院校,本科1270所,高职(专科)1489所,顶尖院校(115所211院校,含39所985院校)仅占本科院校的9%,普通高等院校的4.1%。


所以对于大部分的普通人院校的毕业生来说,没有所谓的“白菜价”。根据自身的硬性条件合理决定自身的价值范围,不要被HR忽悠,也不要有太过离谱的期望


插句题外话,我16年毕业于某双非院校,第一份工作8.5K,但我们年级的“神”,第一份工作18K。讲这个事情有两层意思:



  • 某些大佬真的可以挣脱本科院校的枷锁

  • 身边的个例并不能反应真实的平均情况


Tips



互联网的天花板


了解完应届生的薪资后,你一定会很想了解未来自己的天花板在哪。注意,标题是互联网的天花板,并非某个职业,也并非每个人都能达到天花板。


先来看互联网行业的年固定收入成长曲线:


图3:互联网年固定收入天花板.png


接着是互联网行业年总收入的成长曲线:


图4:互联网年总收入天花板.png


以我个人观察到的情况,互联网行业中,主管/高级通常对应阿里巴巴的技术职级序列的P6和P6+,经理/资深则对应的是P7,而总监/专家则是P8及以上的职级。


一个很惨淡的事实,对于大部分人来说,P7是通过勤奋可以达到的天花板


如果不是太差,当你达到P7时你的年固定收入会来到50W上下,总收入(奖金和少量股票)会在60W到70W徘徊;而其中的佼佼者,年固定收入会来到70W,总收入触摸到7位数的边界;佼佼者中的一部分会跨过P7这道坎来到P8,普通的P8年薪会在60W上下,总收入(奖金和股票)接近100W,而顶尖的P8薪资会超过100W,总收入更是超过150W。


如果说P7是普通人勤奋的天花板,那普通人想要晋升为P8就需要额外的借助机遇和人脉才有可能达成


Tips:正文部分只展示互联网行业的年固定收入成长曲线和年总收入成长曲线,附录部分提供其他行业的收入曲线。


上海地区研发岗位薪酬


任仕达在《2023年市场展望与薪酬报告》中,给出了信息技术行业中各个技术岗位的薪酬数据,但只有上海地区的数据较为全面,我们重点关注几个“奋战”在一线的技术岗位的薪酬数据:


图5:上海职位薪酬.png
可以看到,对于研发工程师来说,薪资的天花板都非常接近,最突出的是移动开发工程师,稍微落后的是Python开发工程师


当然,技术岗位的天花板远不是职业的终点,技术岗位之后是偏向管理的岗位,例如项目管理和技术管理等。


在大部分互联网公司中,产品经理也是一线岗位,但无论平均薪酬还是薪酬上限,都高于研发岗位(AI类除外)。


结语


了解市场上的薪酬行情,有助于你在求职市场上擦亮自己的双眼,一来可以防止HR恶意压薪资,二来可以清楚自身的定位。


因文章篇幅限制,仅展示部分数据,点击王有志,回复【薪酬报告】即可下载报告。




好了,今天就到这里了,Bye~~


附录


各行业应届生薪资数据


附1:2023各行业应届生平均薪资.png


电子商务年收入成长曲线


年固定收入成长曲线:


附2:电子商务年固定收入天花板.png


年总收入成长曲线:


附3:电子商务年总收入天花板.png


企业软件年收入成长曲线


年固定收入成长曲线:


图4:互联网年总收入天花板.png


年总收入成长曲线:


附5:企业软件年总收入天花板.png


作者:王有志
来源:juejin.cn/post/7217601930917838885
收起阅读 »

裸辞一个月备考事业编所历所思

3.7日正式离职离现在也一个月了,这一个月里人类该有的情绪或大都尝了一遍。浅聊一下这一个月里干的事及一些感受。 原计划与现实 原本计划三月中旬提离职,四月 深圳-〉重庆-〉云南 半月游,五月开始刷题、下旬回到武汉。 计划永远赶不上变化。 2.23像往常一样坐在...
继续阅读 »

3.7日正式离职离现在也一个月了,这一个月里人类该有的情绪或大都尝了一遍。浅聊一下这一个月里干的事及一些感受。


原计划与现实


原本计划三月中旬提离职,四月 深圳-〉重庆-〉云南 半月游,五月开始刷题、下旬回到武汉。


计划永远赶不上变化。


2.23像往常一样坐在工位吃早餐。打开手机微信,看到一条订阅关于湖北事业单位招考的。于是,点进去看了看报考单位,那时就开始在想要不要试试。好嘛,我和一些朋友说了这个打算,好几个也一起加入备考大军。


第二天周五我调休了。算上周末三天,我开始了解事业单位考试及确定报考的岗位(实则,啥也不知道,随便选了一个我们小县城的岗位试试看)。


周一去到公司就提了离职。最后走的那天晚上请了几个同事吃了散伙饭,道了告别。


离职.png



我:拜拜,下辈子再见~ (人生中很多人再见就是再也不见了)



IMG_1089.png


备考


报名.PNG



  • 前期


离职后,当然是要给自己放松一下。于是,给自己放纵了两天。


接着开始备考。朋友分享了一套粉笔课程,每天也就看1-3个职测基础视频。


开始还是感觉蛮新鲜的。特别是一些逻辑、图形推理。哇,原来有这些套路。还记得以前面试一家公司让我做的题和这些差不多,当时觉得这都是些啥啊,和我做前端有关系吗。


其实期间除了看视频学习,其他时间基本都是在刷手机。那段时间B站推给我的全是大龄找不到工作、工作不好找等等让人致郁的视频。每天除了不专心学习就是无止尽的焦虑感。



  • 中期


后面把理论攻坚里的职测看完之后,更加放飞自我,每天也就打开粉笔app做几道题,然后就去手机里吸收消极情绪。很好笑,每天都在继续做前端、转行、摆摊、回家种地无限循环,当然包括现在偶尔也会是这样。


第一天:


等我考完这个破试回去武汉还是先找前端工作看看。


第二天:


刷了下B站,刷到说程序员找不到工作了,大龄了更加没人要了。那就考完试回来把后期视频好好学习下,回去找个剪辑师工作试试。


第三天:


打开Boss,搜索剪辑师;很多都是招流媒体,然后要求:会剪辑、会策划、会写脚本、会拍摄、会运营,还需要有工作经验。


又是那个无解的问题。


公司:我们需要有经验的。


我:我就是没有经验才找工作积累经验啊。


总结:转行不易。


第四天:


发现现在摆摊很火,去B站刷别人摆摊分享。了解了很多,常见的烤肠,还有之前没听过的热奶宝。这里可以推荐一个up主蜻园,还蛮不错的。


第五天:


算了,先考完试再说吧,实在不行就回家种地。刷B站,哎,这个剧还不错搜索全集cut,花几天看完。


这段时间差不多一个多星期,情绪就在这些上面循环往复,每天凌晨1、2点开始睡,但是得翻来覆去,差不多4、5点才能睡着,第二天起来已经中午了,再做个饭,差不多下午了,一天也差不多了。每天都是致郁的一天。



  • 后期


要考试了,得突击一下,把考前冲刺视频看了看,一天做几题。裸考综应和公共基础,其他随缘吧。


备考.png


参加考试



  • 去到酒店
    IMG_1258.png
    酒店备考.png


IMG_1271.png



  • 考试当天


考试的人真多,看起来很多都不是很大。


考试当天.png


考试当天听到一个女生对另外一个说:考试前几天整晚整晚都睡不着。(现在的人都不容易啊,很多大学生毕业即失业,都在卷考研、考编;白天准备考研,晚上准备考编。)


去到考场,安检然后需要手机关机,真是尴尬,第一次用苹果手机不会关机,当时迟迟关不了机,监考老师一度怀疑我有问题。


说:哎,你怎么回事,关机关这么久。


最后我问了旁边考生怎么关机,然后老师教了我,接着说:不会你早点说啊,一点都不谦虚。


我尴尬而不失礼貌的微笑。


快要考试了,我去上了个厕所,毕竟连续考三个半小时,时间也紧张,压根做不完,上厕所时间都得把握的好(喂,能不能在学习上多花点功夫哈)。


离谱,去厕所路上经过一个教室,外面三个女生都还在看书复习,我上完厕所出来,还在看,然后监考老师对她们说,快进来安检了,不要看了。


进考场看过来,可以看出很多女生都是那种很爱学习的人,就感觉我一个是来碰运气的。



  • 考试中


职测真做不完,之前和朋友说语文我完全不行,只能靠数学,结果数学计算相关压根没时间做。做题顺序不是按考卷顺序来的,开始也直接跳过常识题,直接言语开始啥的。


记得等我计算完资料分析的第一题后,我一看时间,我的妈,只剩下半小时了,数学运算直接放弃,当然不止数学运算,还有几十道都没有做,都是选择题,最后都是闭眼涂。


最无语的是我的综应都没有做完。作文十年没有写过了,我TM全抄的给的素材,离大谱;字写的也丑,唯一记得是以前老师对我说:一笔一画写清楚就行,不要连笔。感觉不连笔我字都不会写了,反正做的特慢,作文还大篇幅抄,最后来个总结,离大谱。



  • 考完试


考完试我就感觉自己是废物,感觉可以另谋生路了,这辈子估计是指望不上了。
考试结束.png


然后回酒店收东西,准备回家。退完房出来,下着瓢泼大雨,就像我的心情一样。


打了个的,准备去南站坐车,司机说好像只有北站有车去我那个地方;好嘛,又绕了老远了。在车上和司机聊了好多。


司机说也是回来考试的啊,然后说了我是从深圳回去考。


司机:这么远回来要是考不...没说完,算了,不说了,要是考的不好,还花了这么多钱。


我:笑了下,考不上就算了呗,还能怎么办。


然后说了很多,说她女儿也是搞计算机这行的,当时要她找个稳定的工作,不带编也行,她不干,现在在广州...叭叭叭,一起说了一路。


回家,晚上老妈回来一起聊了好多。很多时候我们焦虑,需要一个情绪缺口去宣泄。


返程


考完这次试,再加和老妈聊的许多,完全没有玩玩休息下的心情,第二天就准备返回深圳。


到深圳后就把自己后期AE中级课程开启了,开始学习(AE好难啊)。


后面准备一边上课学习一边背前端八股文,偶尔出去拍拍照,积累些剪辑素材,之后回湖北后剪视频纪念用。


最后


最后想说:想的多了都是问题,做的多了都是答案。当你一直在消极情绪里时,可以找一些喜欢的事情去做,从不好的情绪里脱离出来,不必想的过多、过远,毕竟65岁退休都“太早了”。


作者:前端Y酱
来源:juejin.cn/post/7221131892427014205
收起阅读 »

就在昨天,我也关闭了朋友圈 ... ...

关于“关闭朋友圈”这个话题的文章,若干年前无意中就看到过,当我给我自己的第一个感觉是——不痛不痒。 为什么要关闭呢?每天在班车上闲来无事,看看周围的朋友们都有什么有趣的事情发生,多好啊。不懂为什么要去可以的关闭它,真的不懂。 随着年纪慢慢变大(很逃避“变老”这...
继续阅读 »

关于“关闭朋友圈”这个话题的文章,若干年前无意中就看到过,当我给我自己的第一个感觉是——不痛不痒


为什么要关闭呢?每天在班车上闲来无事,看看周围的朋友们都有什么有趣的事情发生,多好啊。不懂为什么要去可以的关闭它,真的不懂。


随着年纪慢慢变大(很逃避“变老”这个词),自己也越来越逃避社交,每到闲暇的时候,总是喜欢自己一个人听一听音乐,然后做几道LeetCode算法题,写一写算法题图解(虽然没多少人看)。但是很舒服,很自在。


再也不像十多年前,一到周末,三五好友,推杯换盏,牛皮吹得连马云都会觉得自己啥也不是。足迹也遍布了王府井、天安门、故宫、鸟巢、水立方、恭王府……


我有时在想,为什么自己越来越脱离了社会的群体了呢?反而更沉浸于自己的精神世界中,甚至一度怀疑自己患上了深度抑郁症


直到我近期读完了李笑来写的**《财富自由之路》**,被无数次的触动和震惊,人和人在认知的差距真的可以相差了一个南极到北极的距离。回首过往,自己干过的太多傻憨憨的事情,也不由自主的汗颜得低下了头


当时还是在2016年的时候吧,自己买了一辆很喜欢的车子,兴奋、激动、恨不得一时间给所有亲戚朋友打电话,告诉他们这车有多么的好,配置有多么的丰富。好像再迟了一秒钟,车子就会融化消失一样。从订车、到提车、再到洗车、再到开车去公司的路上,无数的朋友圈都在拼命的告诉周围的人,“我买车了!”嗨,现在一想。蛮尴尬的。


就像知乎有一篇帖子写到,“**朋友圈总是陷入到“羡慕别人”和“处心积虑让别人羡慕”的荒谬境地,发票圈和看票圈变得越来越无趣了”,**这句话说的多真实。


再看抖音也是一样,人均劳斯莱斯,人均2,3000万的豪宅,满地的“成功学小丑”——“我职高毕业,但是!毕业第一年,我开了麻辣烫店,净利润500万,第二年我就开劳斯莱斯库,手下团队100多人……


现在的网络充斥着太多的一夜暴复,沉浸在这种氛围下的我们也越来越浮躁了。就像我很喜欢的一个主播叫“在石250”,他在直播的时候就说“我是80后,当时网络也没那么发达,当我毕业工作的时候,看到路上开过一辆宝马3系,我都觉得牛逼得很。而现在呢,闹市街头好多小年轻用手机拍车子,你开过去一辆宝马5系,他都会摇一摇头,说上一句“这车一般,凑活事儿吧,比奔驰E300差远了!”,然后每个月领着2000块钱的工资,去网吧啃泡面。


我们被充斥了这么多网络垃圾之后,自己会受影响吗?绝对会的,而且会被毒害很深。我们发现,自己做的事情也来越沉不住气了,自己越来越觉得不月入10万都赶不上国民平均收入了,自己不买辆保时捷都没法出去跟朋友聚会了,自己家房子小于150平米那基本“狗都摇头了”。


我们该停一停了。我们需要信息,但并非这种信息。让我们自己安静下来,沉下心,静静的冲一杯绿茶,坐在窗边吹着微风,读一本我们很早就想读,但是被刷抖音和看朋友圈替代的书。坚持下去,你会发现,原来世界如此美好。自己的精神世界那么的安宁,外面世界的浮躁气息突然的这么让你嗤之以鼻。


说了很多,是的。就在昨天,我也关闭了朋友圈,去开始迎接一个全新的世界。在那个世界里,只有安宁、祥和、暖风和青云~


作者:爪哇缪斯
链接:https://juejin.cn/post/7221418382108622906
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

就在昨天,我也关闭了朋友圈 ... ...

关于“关闭朋友圈”这个话题的文章,若干年前无意中就看到过,当我给我自己的第一个感觉是——不痛不痒。 为什么要关闭呢?每天在班车上闲来无事,看看周围的朋友们都有什么有趣的事情发生,多好啊。不懂为什么要去可以的关闭它,真的不懂。 随着年纪慢慢变大(很逃避“变老”这...
继续阅读 »


关于“关闭朋友圈”这个话题的文章,若干年前无意中就看到过,当我给我自己的第一个感觉是——不痛不痒


为什么要关闭呢?每天在班车上闲来无事,看看周围的朋友们都有什么有趣的事情发生,多好啊。不懂为什么要去可以的关闭它,真的不懂。


随着年纪慢慢变大(很逃避“变老”这个词),自己也越来越逃避社交,每到闲暇的时候,总是喜欢自己一个人听一听音乐,然后做几道LeetCode算法题,写一写算法题图解(虽然没多少人看)。但是很舒服,很自在。


再也不像十多年前,一到周末,三五好友,推杯换盏,牛皮吹得连马云都会觉得自己啥也不是。足迹也遍布了王府井、天安门、故宫、鸟巢、水立方、恭王府……


我有时在想,为什么自己越来越脱离了社会的群体了呢?反而更沉浸于自己的精神世界中,甚至一度怀疑自己患上了深度抑郁症


直到我近期读完了李笑来写的**《财富自由之路》**,被无数次的触动和震惊,人和人在认知的差距真的可以相差了一个南极到北极的距离。回首过往,自己干过的太多傻憨憨的事情,也不由自主的汗颜得低下了头


当时还是在2016年的时候吧,自己买了一辆很喜欢的车子,兴奋、激动、恨不得一时间给所有亲戚朋友打电话,告诉他们这车有多么的好,配置有多么的丰富。好像再迟了一秒钟,车子就会融化消失一样。从订车、到提车、再到洗车、再到开车去公司的路上,无数的朋友圈都在拼命的告诉周围的人,“我买车了!”嗨,现在一想。蛮尴尬的。


就像知乎有一篇帖子写到,“**朋友圈总是陷入到“羡慕别人”和“处心积虑让别人羡慕”的荒谬境地,发票圈和看票圈变得越来越无趣了”,**这句话说的多真实。


再看抖音也是一样,人均劳斯莱斯,人均2,3000万的豪宅,满地的“成功学小丑”——“我职高毕业,但是!毕业第一年,我开了麻辣烫店,净利润500万,第二年我就开劳斯莱斯库,手下团队100多人……


现在的网络充斥着太多的一夜暴复,沉浸在这种氛围下的我们也越来越浮躁了。就像我很喜欢的一个主播叫“在石250”,他在直播的时候就说“我是80后,当时网络也没那么发达,当我毕业工作的时候,看到路上开过一辆宝马3系,我都觉得牛逼得很。而现在呢,闹市街头好多小年轻用手机拍车子,你开过去一辆宝马5系,他都会摇一摇头,说上一句“这车一般,凑活事儿吧,比奔驰E300差远了!”,然后每个月领着2000块钱的工资,去网吧啃泡面。


我们被充斥了这么多网络垃圾之后,自己会受影响吗?绝对会的,而且会被毒害很深。我们发现,自己做的事情也来越沉不住气了,自己越来越觉得不月入10万都赶不上国民平均收入了,自己不买辆保时捷都没法出去跟朋友聚会了,自己家房子小于150平米那基本“狗都摇头了”。


我们该停一停了。我们需要信息,但并非这种信息。让我们自己安静下来,沉下心,静静的冲一杯绿茶,坐在窗边吹着微风,读一本我们很早就想读,但是被刷抖音和看朋友圈替代的书。坚持下去,你会发现,原来世界如此美好。自己的精神世界那么的安宁,外面世界的浮躁气息突然的这么让你嗤之以鼻。


说了很多,是的。就在昨天,我也关闭了朋友圈,去开始迎接一个全新的世界。在那个世界里,只有安宁、祥和、暖风和青云~



作者:爪哇缪斯
来源:juejin.cn/post/7221418382108622906

收起阅读 »

从前端变化看终身就业

接触前端已10年有余,从菜鸟到现在的老鸟;肚皮围度增长了,发量却减少了;头开始往下低了,发际线却往上走了!感叹时光易逝之际,不免有些伤感;风云突变的年代,总是少不了焦虑和无奈; 而立之年开始背负了各种债务,操很多心,最担心的莫过于父母一年年老去,小孩成长路上各...
继续阅读 »

接触前端已10年有余,从菜鸟到现在的老鸟;肚皮围度增长了,发量却减少了;头开始往下低了,发际线却往上走了!感叹时光易逝之际,不免有些伤感;风云突变的年代,总是少不了焦虑和无奈; 而立之年开始背负了各种债务,操很多心,最担心的莫过于父母一年年老去,小孩成长路上各种担心、顾虑;当然还有工作,一份安稳的、相对不错的收入是一家人生活的保障,也让希望增加了不少,今天跟大家一起聊聊工作吧!



终身就业还是终身职业



作为社会人、搬砖人,已经错过了最好的机会;也许是从来就不曾有过机会,已经失去了终生职业的可能(公务员、事业单位....);在国内很少有人能在一家企业供职到领社保,听说国外(比如德国、日本)有,我想说的是: 而今我们(在能力不是超强、又没有Backgroud的情况下)应该努力追求终生就业; 



企业想要你终生职业,但实际呢? 不管在任何一家单位工作,作为企业总是希望员工是忠诚度极高的,可以胜任公司安排的各种任务,还一心一意的工作,把公司当自己家,有奉献精神;错吗? ---当然是对的; 如果我是老板我也会这么想;


很不幸,现实和理想总是惊为天人,面对糟糕的经济形式,活下去成为企业第一要务,而精简人员总是成为企业断臂求生的一种惯用方式,现实就是残酷如此;于个人而言,在不乐观的环境中能有一份相对稳定的工作,有个可观的收入就显得极为重要,这就需要追求终生就业的能力(不论什么行业);


互联网的发展与前端



说说自己这10多年的心路历程,可能是反面教材,如果能为你带来一些参考或借鉴或一些帮助我是很高兴的;



进入编程世界,与PHP的初恋

进入编程世界,源于羡慕!(2010年)看到同学用HTML写了一个表单,当时觉得觉得很高级,很厉害; 当时他学的是PHP(号称最好的语言),所以也就不自然的被影响、认可了PHP;


转行

从高中到大学,想从事的一直是健身相关的行业和工作,但是真正接触了发现似乎跟自己设想的那么好;当然这不是真正导致转行的原因;真正原因是朋友找我(大学专业:软件工程,但是从来没有学过)做一个网站,我却屁都不会,跟亲戚、朋友说自己还是软件相关专业毕业的;所以,为了装X,也为了对得起软件工程专业那个本本(成人自考),放弃了自己研究多年的健身,毅然报了培训班学起了PHP; 诸位有没有跟我一样的呢?


痛苦的学习

大学几年浑浑噩噩的过了,去报PHP培训时候,老师说:“学过C很容易学的,PHP先从HTML开始,很容易上手的”;交钱的时候自以为学过(上课虽然在睡觉)也或多或少听了一些,没吃过猪肉还没见过猪跑啊(实际上啥都不会),应该问题不大;想起同学说(10年刚毕业)在深圳(拿6-8K),就开始幻想上了;


最难的Table + CSS布局

学习PHP的路上,最让我难堪的竟然是HTML和CSS;保守起见,老师选择了(相比DIV + CSS)更为简单的Table(用Dreamweaver拖拽) + CSS;然而,半个月过去了,竟然连写个百度首页都写不出来;呜呼哀哉,布局难难于上青天!恰逢十一国庆节,老师留的任务就是写个百度首页,如果连百度首页都写不出来,那说明不适合走这一行;结果呢? 一周过后还是写不出来,唉,每天上课时候会想到一万个放弃,回家后每一分钟都会想到N多个放弃;后来想着,钱也交了,就多坚持一下吧,就稀里糊涂的把课程学完了(HTML CSS Javascript PHP)


找到适合自己的方向

课程结束的时候,老师给个建议: PHP感觉有难度,就好好把div + css + jQuery学好,做前端、做前端、做前端!然而,入门的我还是选择了做PHP,一年多的时间学会了从切图、写页面、写PHP、写SQL语句、搭建服务器,天呐,完全飘了(实际上还是个小白),直到偶然机会(2013年)做了前端,突然找到了码页面的灵感,这种所见即所得的搬砖工作很有感觉,哈哈哈;


其实,这里想说的是:1是坚持;2是老师的层次比我高很多,他在很早就给我指明了道路,而执着于自己的愚见(当然也不全是错,也有收获),最后还是走上了老师指导的方向!


诸位,如果你们有个好的老师、高人指导,那是极为幸福的事情,一定要珍惜!


PS: (2011年)《编写高质量代码--web前端修炼之道》这本书对我前端方面的能力提升帮助非常大; 同时也感谢作者: 阿当,在我成长道路上的一些指导和帮助;


PS: 现在互联网平台很发达,在学习视频课程、阅读技术类书籍、技术资料的时候,建议可以尝试类型一下作者(译者);很多技术大牛还是很乐意给一些建议和指导的<致敬>;


学会听取建议、做出自己的判断

3年后,厚着脸皮请教老师接下来该学点啥能让薪资再增长一些,对未来有帮助; 老师给了一个方向: “Web GIS”,这一次照做了,掌握了一些Gis相关的基础,了解了Arcgis for javascript的常用方法等,结合近期的招聘,我觉得这算是很好的扩展了自己的选择;


PS: 建议菜鸟多向行业内的大牛请教,向身边段位高的朋友、同事多请教;


拥抱变化



互联网变化之快,技术更新之快,已经让很多人发出"学不动"的呼喊,但是我想说的是,只要你还想吃这碗饭,学不动还是要学;



yu6.png


学习&&提升

记得入行时前端面试:

- 会不会处理IE6、IE8兼容,有没有写过hack

- DIV + CSS 怎么实现div的垂直居中和水平居中,有几种实现方式

- 块级标签和行内标签的区别

- jQuery的prop方法和attr方法的区别

- Ajax有没有用过

- 会不会PS切图?gif和png的区别

- 什么是闭包?举个栗子


再后来学习了: 


- Bootstrap (不用了)

- AngularJs \ BackboneJS (不用了)

- requireJs \ seajs (不用了)

- grunt \ gulp \ bower(不用了)

- 响应式布局 (几乎不用了)


现在用的Vue \ React 也写了有好多年了,我想很快也会被新的所替代吧;

18年花了接近一万大洋购买了珠峰架构的课程,系统的学习了几个月,算是第二次技术比较大的提升吧,当然收入也相应的提高了一些;


PS: 想分享的是,很多技能可能生命周期很短,但是,身处当下我们还是要去积极学习,哪怕后来不用了,但是里面的一些思想会给我们未来某个时候带来很多帮助(懂得Bootstrap的设计思想就容易理解less\sass的使用,看到ElementUI、AntD等就一看就懂);


PS: 决定工作岗位、薪资的技术只是一部分,切勿过于迷恋于某个技术,跟随时代、拥抱变化,市场才是决定二者的最重要的因素!


运动&&养生

说点轻松又严肃的,各位看官,身体才是革命的本钱! 10年的老菜鸟目前除了颈椎不舒服(怪手机不怪写代码)外,其他的还好,论加班还能跟年轻人一战,哈哈哈! 这当然得益于过去多年的习惯:


- 经常跑步、爬山、健身

- 很少胡吃海喝,水果吃的多,烧烤啤酒几乎不碰;

- 每天吃饭不吃饱,原则上是不饿就行;


PS: 建议大家适当的增加运动; 如果歇了很久,要启动你的小马达,要慢慢来,勿操之过急; 最重要的是坚持;


"舍"&&"得"


舍得之间品味人生,舍得之间自有方寸;然而,舍 && 得又何其的难;



- 菜鸟期间的我是舍不得花钱买课程学习的,心疼钱啊; 后来受朋友影响开始花钱去买课程,花钱找老师学习(有的技能人家凭什么告诉你呢?),发现自己的进步突然就快了很多、收获也很大(为什么工作后就不舍得花钱学习了?);


- 知识就是金钱,如今我们知道听歌、追剧都要买VIP,为什么找工作的时候不知道购买VIP呢(我好多朋友、同事上BOSS刷招聘说每天都是那几个,殊不知买了VIP后消息就多了很多,你都没购买服务,招聘APP凭什么给你最新的资讯呢?)


- 工作、学习之余一定要花点时间去陪陪家人、运动、多走一走(哪怕是带小孩玩、哪怕去公园晒晒太阳、去商场逛逛看看美女),工作、技术很重要,人生的全部还有很多;工作是个弹力球,掉下去还有机会弹起来,而身体、家庭是玻璃球,要是碎了那就。。。


踏平坎坷成大道,路就在脚下

- 说了那么多,此刻会想什么呢? 代码要一行一行的写,日子还得一天一天的过,我曾因为负债累累(每个月却只发一次工资)而着急,然急又能如何,倒不如平静以对,正如《论语》中有云: "吾终尝日不食 终夜不寝,以思,无益,不如学也"!


- 环境不友好,是不是就没有机会了? ----当然有机会,当然有路可走! 

- 路在哪? ---- 路在脚下


前端的路该怎么走


各位,我们看到招聘APP上前端岗的需求量比往年同期少很多,这个是事实;与此同时企业还是有各种各样的需求的; 2023年了,还是以过去的思维去看(劳资会Vue 、 React),无异于缘木求鱼,那一定会让你感动悲观;何不换个思路、换个角度呢?



- 大前端方向还有很大空间: Vue\React + Flutter(或类似) + 小程序,正所谓:“山重水复疑无路 柳暗花明又一村”


- 前端 + GIS(或3D),观察BOSS上关于Webgis的招聘就知道了,如果能先于大多数人掌握了GIS、3D方面的知识,那选择是不是广阔了很多,正所谓: "有心栽花花不开 无心插柳柳成荫",何必要拘泥于某一种形态呢


- 前端架构师也是一些技术深度追求者的方向


(个人在二线城市,结合自己的经历和对Boss上岗位、薪资变化的观察,提出的拙见,欢迎批评、指导)


结语


- 强哥说了:“风浪越大鱼越贵”,挑战与机遇共存,我们应当在大变化的浪潮中调整自己的帆,拥抱惊涛骇浪和变化,磨砺出终身就业的能力!



  • 不要给自己贴标签(强哥:“我就是个卖鱼的”),现在的处境不代表未来没有机会、希望(到强盛集团);


- 编码之路上是: 路漫漫其修远兮 吾将上下而求索


- 人生道路上需要另一种气度《定风波·莫听穿林打叶声》---苏轼 : "莫听穿林打叶声 何妨吟啸且徐行; 竹杖芒鞋轻胜马,谁怕? 一蓑烟雨任平生; 料峭春风吹酒醒,微冷,山头斜照却相迎; 回首向来萧瑟处,归去, 也无风雨也无晴" 。


作者:风雪中的兔子
来源:juejin.cn/post/7220800667589197885
收起阅读 »

何不食肉糜?

21年的时候,微博上有过一番口诛笔伐,就是就是管清友建议刚开始工作的年轻人就近租房不要把时间浪费在上班的路上,要把时间利用起来投资自己,远比省下的房租划算。 视频见这里:http://www.bilibili.com/video/BV1Bb… 当时我印象非常...
继续阅读 »

21年的时候,微博上有过一番口诛笔伐,就是就是管清友建议刚开始工作的年轻人就近租房不要把时间浪费在上班的路上,要把时间利用起来投资自己,远比省下的房租划算。


视频见这里:http://www.bilibili.com/video/BV1Bb…



当时我印象非常深刻,微博评论是清一色的 “何不食肉糜”,或者说“房租你付?”


可能是因为这件事情的刺激,管清友后来才就有了“我特别知道年轻人建议专家不要建议”的言论。


对还是错?


在我看来,管清友的这个建议可以说是掏心掏肺,非常真诚,他在视频里也说了,他是基于很多实际案例才说的这些话,不是说教。


为什么我这么肯定呢?


很简单,我就是代表案例。


我第一家公司在浦东陆家嘴,四号线浦东大道地铁站旁边,我当时来上海的时候身无分文,借的家里的钱过来的,我是贫困家庭。


但,为了节约时间,我就在公司附近居住,步行五分钟,洗头洗澡都是中午回住的地方完成,晚上几乎都是11:00之后回去,倒头就睡,因为时间可以充分利用。


节约的时间,我就来研究前端技术,写代码,写文章,做项目,做业务,之前的小册(免费章节,可直接访问)我也提过,有兴趣的可以去看看。


现在回过头来看那段岁月,那是充满了感激和庆幸,自己绝对做了一个非常正确的决定,让自己的职业发展后劲十足。


所以,当看到管清友建议就近租房的建议,我是非常有共鸣的,可惜世界是参差的,管清友忽略了一个事实,那就是优秀的人毕竟是少数,知道如何主动投资自己的人也是凤毛麟角,他们根本就无法理解。


又或者,有些人知道应该要投资自己,但是就是做不到,毕竟辛苦劳累,何苦呢,做人,不就是应该开心快乐吗?


说句不好听的,有些人的时间注定就是不值钱的。


工作积极,时间长是种优势?


一周前,我写了篇文章,谈对“前端已死”的看法,其中提到了“团队下班最晚,工作最积极”可以作为亮点写在简历里。


结果有人笑出了声。



好巧的是,管清友的租房建议也有人笑了,出没出声并不知道。



也有人回复“何不食肉糜”。


这有些出乎我的意料,我只是陈述一个简单的事实,却触动了很多人的敏感神经。


我突然意识到,有些人可能有一个巨大的认知误区,就是认为工作时长和工作效率是负相关的,也就是那些按时下班的是效率高,下班晚的反而是能力不足,因为代码不熟,bug太多。



雷军说你说的很有道理,我称为“劳模”是因为我工作能力不行。


你的leader也认为你说的对,之前就是因为我每天准时下班,证明了自己的能力,所以自己才晋升的。


另外一个认知误区在于,把事实陈述当作目标指引。


如果你工作积极,是那种为自己而工作的人,你就在简历中体现,多么正常的建议,就好比,如果你是北大毕业的,那你就在简历中体现,没任何问题吧。


我可没有说让你去拼工作时长,装作工作积极,就好比我没有让你考北大一样。


你就不是这种类型的人,对吧,你连感同身受都做不到,激动个什么呢,还一大波人跟着喊666。


当然,我也理解大家的情绪,我还没毕业的时候,也在黑心企业待过,钱少事多尽煞笔,区别在于,我相对自驱力和自学能力强一些,通过自己的努力跳出了这个循环。


但大多数人还是被工作和生活推着走,所以对加班和内卷深恶痛绝,让本就辛苦的人生愈发艰难,而这种加班和内卷并没有带来收入的提升。


那问题来了,有人通过努力奋斗蒸蒸日上,有人的辛苦努力原地踏步,同样的,有的人看到建议觉得非常有用,有的人看到建议觉得何不食肉糜,区别在哪里呢?


究竟是资本作恶呢?还是自己能力不足呢?


那还要建议吗?


管清友不再打算给年轻人建议了,我觉得没必要。


虽然,大多数时候,那些听得进去建议的人大多不需要建议,而真正需要建议的又听不进,但是,那么多年轻人,总有一部分潜力股,有一些真正需要帮助的人。


他们可能因为环境等原因,有短暂的迷茫与不安,但是,来自前人发自真心的建议或许可以让他们坚定自己前进方向,从而走出不一样的人生。


就像当年我被乔布斯的那些话语激励过那般。


所以,嘲笑之人任其笑之,只要能帮助到部分人,那就有了价值。


因此,我不会停止给出那些我认为对于成长非常有帮助的建议。


(完)


作者:张鑫旭
来源:juejin.cn/post/7221487809789182008
收起阅读 »

两个故事:送给面试失败的你

全文一共3084字,读完预计需要5分钟 故事1:从世界五百强高管手中拿下项目 那年我大二。 在北五环外的宏福校区上满一年课后,我们正式搬回了位于市中心的海淀区本部,终于算是进城了。 进城的第一个好处,就是做项目的机会变多了! 当年为了尽早的实现经济独立,课...
继续阅读 »



全文一共3084字,读完预计需要5分钟



故事1:从世界五百强高管手中拿下项目


图片


那年我大二。


在北五环外的宏福校区上满一年课后,我们正式搬回了位于市中心的海淀区本部,终于算是进城了。


进城的第一个好处,就是做项目的机会变多了!


当年为了尽早的实现经济独立,课没怎么好好上,兼职项目和实习倒是干了不少。


北邮有一个著名的BBS,上面啥都有,极其热闹。其中最热门的板块有俩,一个是“缘来如此”,听名字就知道是用来谈情说爱的。另一个则是就业机会交流板块,各种招聘内推资讯满天飞。


我当时天天刷帖子找实习和兼职机会,自然也收到不少面试邀约,而我要聊的这一次,格外的与众不同。


面试约在了晚上8点,北师大东门外的一个安静的咖啡店里,二楼。


我面试从来不迟到,一般都会掐着点到场,可那次我到的时候,面试官已经落座了。是一个四十出头的中年男人,高高瘦瘦,戴银边方框眼镜。桌上摆了一壶明亮的金丝皇菊花茶,两个小巧精致的玻璃茶杯。


我入座后,他客气的给我倒了一杯茶,面试便开始了。说是面试,其实更像是一场闲聊,整个谈话氛围非常轻松自在,咖啡店是文艺范儿的,灯光幽暗,空气里飘荡着舒缓的爵士乐和淡淡的松香,木质的楼板被过往的客人踩出咯咯吱吱的响声。


我们大约是聊了半个多小时的样子,从他的表情可以看得出他挺满意。结束谈话的时候他说,我稳重的样子不太像90后。我羞涩的笑了笑,带着他给我布置的第一个项目走出咖啡店。


没错,这个项目就这么轻而易举的被我拿到手了,也许是出于对我母校的信任,又或许是当晚的聊天氛围实在舒服,总之我获得了他的信任。


可好戏才刚刚开始。


我收到的第一个任务,要求我在一周内根据需求文档写出一份静态网站Demo出来。


这个任务现在看来很easy,但是当时的我,连最基本的网页怎么写都不会,我只用过Dreamweaver拖拖拽拽搞过一个蹩脚且丑陋的页面。而这一次,我面对的是一个商业任务,并且限定了交付日期,一周!这可把我愁坏了。甚至都不是时间紧不紧的问题,是我根本不知道从哪里下手啊。


事情的突破口出现在我大学舍友身上。


这小子是个富二代,家境优渥,从小就接触计算机,自然是见多识广,啥都会一点。我撺掇着让他给我演示“如何使用现成框架搭建网页”,当时用的是Bootstrap 1.0。我俩在通信原理的课堂上,坐在教室的后排,偷偷摸摸的教学着。我目不转睛的盯着他一点点用现成的类名,逐渐拼出了一个漂亮的页面,那种感觉真是兴奋极了!


其实现在回头看,我们当时的编码方法非常拙劣,完全上不了台面的那种,还真是一个敢教,一个敢学哈哈哈。


一节课偷偷摸摸下来,我基本上算是知道了一个静态页面如何从0到1的写出来了,剩下的事情就只是时间问题了。一下课我就飞快地跑回宿舍,埋头学习Bootstrap的API文档,一点点一点点,小心翼翼的拼凑着页面。


一周后,我如期把Demo交给了老板,保住了这次兼职机会。这份工作给我带来了每个月2000块的收入,整整持续了一年(当时我一个月生活费也就不到800)。


我是在后来的一年的交往中才知道,这个老板是某世界五百强的集团高管,空闲时间和朋友一起做了个创业公司,出于竞业关系,不方便公开招募团队,于是私下找学生兼职做点项目。


而我,就成了那个幸运的学生。


故事2:屡败屡战拿下百度Offer


图片


转眼到了大三。


杂七杂八的项目做了不少,钱也倒是有赚一些,但基本上都是小打小闹,尤其是技术层面,苦于一直没有接触过企业级项目,我并不知道一个成熟的商业项目的代码长什么样。


抱着这样一个期望,我开始争取大公司的实习机会。


还是从北邮人论坛,我拿到了一个百度的面试机会,具体哪个部门我已经记不太清了。


面试官安排我在茶水间坐下,丢给我一份试题和一支笔。


那份题目我做得稀烂,面试官看了看卷子,当场跟我说,你可能不太行。不过没等他赶我走,我迅速拿出电脑,打开作品集,指着我画的一些设计图对他说:那么……你们招UI设计师么?这是我的作品。


面试官先是一愣(心想这小子不是码农么,怎么还会设计),然后让我等一下,便拿着我的作品,跑去找他们团队的UI设计师帮忙过目。


是不是觉得我的行为很奇怪?没错,我自己也没想明白其实。当时我还没想好毕业后从事什么工作,由于从小就喜欢画点东西,平时也会看一些用户体验设计相关的书,大学期间在学生社团里做了不少有意思的图,所以我天真的以为自己毕业后也是可以从事UI设计工作的。


面试官很快就回来了,跟我摇摇头,结束了这场面试。


这次经历给我打击是比较大的,我原本自豪的以为我既能写代码,又能做设计,一定是个抢手货,但事实上,我的两种技能在学校里勉强能秀一下,到了职场专业人士眼里,就是些玩具级别的东西,根本不够看的。


回去后我继续寻找实习机会,中间拿到了亚信联创的Offer,在亚联实习了三个月,学了些CSS基础知识。但我一直不甘心,还是一心想去大公司。


不久后,我等来了百度的另一个面试机会。这次是核心部门:网页搜索部,百度的立足之本。


经过亚联的短暂实习,我对自己的前端技能颇有信心,感觉这次应该是稳了。


然而,是我天真了。


网页搜索部的前端是重逻辑的,需要写大量的JS代码。而彼时的我,才刚把CSS入门,JS的部分只会使用jQuery写一些简单的页面交互效果。


面试官跟我反馈说没过的时候,我赶紧叫住他,说,能否指点一下我,如果想要在百度做前端的话,我应该学习些什么知识?


他也愣了一下(心想这小子不按套路出牌啊),然后拿过笔,在我笔试卷子的背面空白处,一边说一边写下一些零零散散的知识点。


拿过这张画得乱七八糟的A4纸,我如获至宝,连声感谢之后便离开了百度。


参考着这份凌乱的前端知识图谱,我窝在宿舍学习了一个月。一个月后,我给这个面试官发了条短信,请求说能不能再给我一次面试机会,我感觉我准备好了。


他同意了。于是我第3次到百度面试。


面试很快就结束了。面试官跟我说,看得出来这一个月你确实学到不少东西,进步很大,但是距离录用标准还是有点距离的,抱歉。


我又又又一次叫住面试官,和上次一样,我又跟他要了一份更加进阶的前端知识图谱。我说我回去再学习下,还会再来的。


他尴尬而不失礼貌的跟我笑了笑,便起身离开了。


这次的白纸更加密密麻麻,而且看得出来知识点比上一次又更加专业和精深了许多,学起来自然也吃力了不少。


两个月后,我再次联系到他,请求再一次面试。


他又同意了。于是我第4次到百度面试。


这次面试更快的结束了,可能我们彼此已经相对比较熟悉了吧,前几次考察过的知识点这次也就直接跳过了。


看得出来他有些犹豫,可能是他已经不太好意思当面拒绝我了,于是让我等等,找来了他的同事,给我加了一次交叉技术面。


这位新面试官说话也很直肠子,聊了二十分钟后,他直接跟我说:“技术的话勉勉强强吧,但是你这小子身上有一股抑制不住的热情和活力,学习能力也不错,感觉可以培养一下试试,我这里就给你过了吧,我再跟同事商量下,你稍等”。


过了几分钟,先前那个被我屡次骚扰的面试官来了,通知我,面试过了!


这可把我高兴坏了,经过半年多,4次5轮面试,我终于凭自己本事(厚脸皮)拿到了大公司的实习机会!(当年的百度在技术领域可是BAT之首)


这份实习工作给我带来了4000块每月的收入,让我实现了彻底的经济独立。不过这都不是最重要的,最最最重要的是,我终于知道大公司的前端开发是什么样的了!


后来我入职百度后,当我面对着屏幕上漂亮的,模块化的面向对象风格的JS代码的时候,我终于知道了业余和专业的差距。


Anyway,幸运再一次光顾了我这个小子。




在我十多年的工作经历中,诸如此类的幸运不胜枚举。旁人看到的,是我的一路顺风顺水,但只有我自己明白,生活没有奇迹,所有的幸运,都是一次次暗中努力换来的福报




全文完。


作者:沐洒
来源:juejin.cn/post/7220997060136140858
收起阅读 »

我的前端之路,我的经验,相信对你会有帮助

前言   离我上一次写文章已经四年有余,期间虽不断有各种想法与思考记录,但总是被各种事情和借口打断,始终没有能真正动笔,颇为内疚。此次重新提笔,在展望未来之际,先回顾与总结下过去。期望这过程中能够有所自省,有所收获。七年时光,经历了一些起伏,面临或思考过一些问...
继续阅读 »

前言


  离我上一次写文章已经四年有余,期间虽不断有各种想法与思考记录,但总是被各种事情和借口打断,始终没有能真正动笔,颇为内疚。此次重新提笔,在展望未来之际,先回顾与总结下过去。期望这过程中能够有所自省,有所收获。七年时光,经历了一些起伏,面临或思考过一些问题,大概率大家也都曾忧虑过,期望能为大家带来一点启发与共鸣。



本文鸡汤浓度略高,对鸡汤过敏症患者抱歉。但相信看完应该有一点点收获。🦥



技术之路


  2016年时,我还是个生物学硕士,蹲在实验室里摆弄大肠杆菌,对互联网并无概念。一次偶然机会,帮朋友搭个官网,接触到了wordpress。几经周折虽成功,但过程略为艰辛(各位老铁别吐槽,当时我还只是个孩子啊~🐒)。但我发现我能沉浸其中,享受那种1+1=2的确定感 (可能是因为生物学实验其实是个概率学,结果充满着不确定性),并从中收获了远比实验成功更大的成就感。就一个瞬间,我就毅然决然决定了,这就是我应该去做的事。于是放弃了我学了7年的生物学,即使我周围所有人都表示:are u kidding me?


  当我迷茫与自我怀疑时,我就会回顾这段时光,找到那个最纯粹的初心。别人在实验室看论文,我在实验室上网易云课堂(大家有没有上过的,现在我们还经常在群中唠嗑,这里致敬下猪厂)。别人在做实验,我边做实验边看红宝书。其实真不是为了找工作(我当时还很天真,没有想太多找工作的事),也不是为了给谁一个交代,就像一个玩具一样,就是一种简单的热爱。



⭐️ 初心 ⭐️


  我相信 热爱是最纯粹的初心,只有你热爱一件事并从中找到乐趣,才能真正做好它,而它也能帮你度过那些精疲力尽的时刻。


  当你发现工作让你内心煎熬时,可以适当停下来,给自己点空间,回想下最初那些开心,也许它们能治愈你的内心,并让你放下那些无谓地执着。



  其实我这种野路子,职业生涯第一步就已经落后了。相比于各位大佬,我背景没优势,没有经验,没有技术,也没有任何人脉。但人生总是充满着神奇,记得是一天我在公交车上,看qq群里有人说有实习工作。我就回了一句,没想到这就成了我的第一份实习工作。公司虽小,但大家都很nice,我也终于敢称自己为前端工程师了,感谢我的启蒙老大,respect!


  接下来,在临近毕业的一次偶然机会,我无意间看到了美图公司在隔壁学校的校招宣讲会,我就抱着学习和了解的心态去参加了。没想到直接是全场笔试,又没想到我竟然有幸成为录取的唯一前端校招生。在美图的三年,是一段美好的旅程,快速增长的业务,轻松和谐的工作氛围以及美好的同事。我如鱼得水,在技术之路上快速吸收着养分,快速学习和成长。支撑着过亿用户的产品,追求着最极致的动画交互效果,沉迷于写公司的各种工具库、开源库,天天泡在公司,也写了一些文章,代表公司作为讲师在技术沙龙上演讲,带了个小团队。


  感恩美图公司,感恩相处的每一位同事,这段期间我学到了很多。



⭐️ 关于自信与机会 ⭐️


  我相信人生处处充满着惊喜和机遇,我们不需要妄自菲薄,也不需要感叹不公。每个机会就像是你命运的分叉点,具备蝴蝶效应,引领你去往不一样的人生。而我们需要做的,就是相信自己,然后时刻准备着,迎接即将到来的机会。


  但同样,人生不是单方向的,你不可能永远成功。一定也会有错过。抓住了机会,是你的成长。错过了机会,发现你的不足,亦是你成长的机会。


  所以,保持努力,保持平常心,尽人事,听天命。




⭐️ 关于起步 ⭐️


  每段时期,都会有不同的重点。在最开始的三年,请好好珍惜。在这段时期,不需要太多负担,也不需要太多顾虑,就是保持着激情与好奇心,让自己快速成长,去追求你所感兴趣的一切。


  从前端的角度来讲,就是写代码、写代码、写代码!这就是你最好的作品和证明,去思考最优雅的实现,最高效的实现。这将会是美妙且收获满满的一段经历。



  美好生活的某一天,我突然觉得我应该毕业了。我做完了我在这里想做的事,我得到了我想要的,是时候前往下一个目的地,开启一段新的征程了。当时我的目标是想要刷一轮offer,验证下自己的成长。我拿到了字节、美团、阿里、瑞幸的offer,最终选择来到了字节。


  离开美图的那天,大家流泪送我到公司门口,那一幕仍然历历在目。但我仍然义无反顾地出发,我知道这是我该做的。



⭐️ 关于目标 ⭐️


  我们需要目标与方向,想想五年后你期望的画面,你想成为一个什么样的前端?谁是你的灯塔?可以很天真,也可以很简单。时刻谨记着目的地,这会让你不迷失方向,然后朝着这个方向坚定前进。


  把目的地拆解成一个个具象化的车站,可能是一份理想中的简历,可能是一段让人信服的项目经历或者作品,每天都离它近一点。总有一天,你一定会到达目的地。


  每一段旅程都会有终点。当完成这趟旅程的使命后,到达目的地,不要留恋,勇敢地踏上下一段旅程,相信未来将会更美好。


  这就是成长。



  在这段三年的旅程中,每段旅程对我都有着其重要的意义,是下一段旅程的铺垫与基础。


  在实习阶段,我主要研究了PC开发以及一些数据可视化的尝试,这段旅程虽短,但这是我的前端之路中的第一个重要里程碑。它让我完成了一次重要转变,从学生踏入了社会职场,从生物转成了互联网,也成为了一名正式的前端工程师,奠定了后面一切的基础。


  接下来三年的美图阶段,我的重心主要在面向C端的移动端业务。这个阶段我的自驱力很强,对一切充满着好奇与动力。在H5活动开发、Hybrid混合应用架构、Web图片处理与合成等方向进行了深入的理解和研究,奠定了我的技术体系与擅长方向。



⭐️ 关于技术 ⭐️


  其实大家一直在讨论技术广度与深度的问题。我觉得这是分阶段的,职业生涯的不同阶段应该有不同的侧重点,但最重要的就是闪光点和标签,这能让你从竞争中脱颖而出。


  前五年是奠定自身技术体系基础的时候,业务经验的限制注定了一定无法在广度上有竞争力,所以去找到自己的喜欢和擅长,并深入研究,找到自己的标签。


  只有这样,在看过你的简历,听过你的自我介绍后,别人才能记住你的名字。



业务之路


  在字节不到半年时,一次偶然的机会,我决定跟朋友一起出去玩一把。虽然我还没完成在字节的旅程,还有很多事想做,但每个人也许都会有个“总有一天我会创业我会成功”的梦想吧?也许这就是个实现梦想的机会?


  但梦想与现实的距离往往比想象中的远,其实这很正常,往往我们在梦想的时候,我们并没有足够的认知和理解,当你真正朝梦想前进时,开始动手去深入时,你就会发现事情并非你想的那样。


  我们尝试了游戏与教育结合方向的一些产品研发,其实是很好的方向与产品,受到了很多用户的一致好评。但真正的创业,并非想法与产品,更重要的是商业与价值。这个阶段,我开始跳出技术的思维模式,思考产品体系,写商业计划书,参加路演、创业比赛等,在高压下快速提升自己的综合能力,也带领团队取得了一定的进展,看到了希望。但最终我决定停下脚步,这个决定很难,在团队仍然勇气满满的时候,我却率先主动刹车,甚至我的家人都不解和质疑,为什么在希望的前夕放弃?你是不是怕吃苦?我也纠结过,也犹豫过,但经过理智的自我剖析,我认识到我离成功的所需的能力还差得太远了。即使有了阶段性的进展,但我的能力是无法带领团队获得真正成功的。当中途发现前进的方向大概率并不是理想中的目标时,那勇往无前就不一定是明智的选择了,与其博那极小概率事件,不如重新思考与沉淀。


  这段经历其实不好过,时刻紧绷着,高压逼着自己前进。现在很多人都会问我,你会后悔吗?其实并不会,我确实也失去了一些,但失去的东西是在我的舒适圈中的,我可以再努力回来。而得到的是一段我从来没经历过的生活,我收获了很多认知,也很大程度改变了我的思维模型,也加深了很多我对互联网行业、产品、业务的理解。感谢这段旅程我遇到的每个人,也许我内心带着愧疚,但我真心由衷感谢 everyone!



⭐️ 关于经历 ⭐️


  每段旅程都是一种经历,不同的经历会带来不同的视角与收获。抛出一枚硬币,得到了正面,但也会失去反面,这就是平行世界,坦然去面对,很多东西我们无法左右,纠结和情绪很多只是徒劳。


  一段旅程,会有黑夜,也会有白天。一段经历,也会有得到与失去。放下情绪,好好去欣赏沿途的风景,至少以后能回忆那些美好的事物。




⭐️ 关于创业 ⭐️


  创业其实就是一场激情亢奋的战斗,它需要你真正发自内心的热爱与激情。当你想创业之前,给自己几天的时间,弄清楚这趟行程你想要得到什么,这是不是你内心中最纯粹的目标。


  在你还没想清楚,或者你觉得你创业的目标是融资或者赚钱,那这场战斗将会无比艰难。如果你已经开始,那就需要找到那个支撑你坚持下去的信念。


另外,如果你想创业,我有一些建议:



  • 创业第一重要的是人。如果各位小伙伴有创业的想法,那第一件事,就是去找到那些最正确的战友。

  • 第二重要的是机会,去深入研究这个行业这个环境,机会在哪里,成功就在那里。

  • 想法与产品并不是最重要的,相信我,这个世界比你天才,比你有远见的人多得是,不存在这个idea惊天地泣鬼神。(深夜会让人变得情绪和极端,如果你在深夜觉得你的想法能拯救地球,那要么起床洗把脸,看下镜子里的自己,要么答应我,早点睡身体好。😂)

  • 让专业的人做专业的事,不要觉得可以学习。创业就像一个罗马竞技场,没有人会等你成长,不要拿自己的劣势,去对抗敌人的优势。



  2021年,我决定结束创业再次回到字节。我相信这里有最优秀的团队与人才,这里有我需要的东西。二进字节,我早已不是三年前的愣头青了。创业的经历给我带来了认知与思维的提升,给了我两个最重要的改变:



  1. 具备更好的结构化思维,有了一些方法论的积累。



  • 我从一条业务方向进行切入,其实类似于创业,第一步最重要的事就是找到你的战友。我把过往的小伙伴拉起来,快速组建了一个初具战斗力的小组,并且与各方建立了紧密的合作关系。

  • 第二步,就是收集信息,梳理现状,进行行业调研,充分了解业务现状,与各方对齐目标,找到当前业务最重要的事情。

  • 第三步,那就是目标拆解,推进落地。基于前面的合作互信,以及明确的目标,过去这一年多其实进展得挺顺利的,业务核心数据得到了大幅增长,业务也成为部门重要方向,我也逐步站稳了脚跟。



⭐️ 关于方法论 ⭐️


  当遇到问题或者事时,可以先不急着动手,给自己点时间思考,可以找一些资料,借鉴一些经验。而所谓的经验,就是沉淀出的方法论。例如做业务的大致思路,产生想法 -> 找到资源 -> 梳理现状 -> 明确方向 -> 制定计划 -> 拆解目标 -> 逐一完成。


  但方法论只能避免踩坑,作为指导,并不能直接解决全部问题,真正的问题仍需要 case by case 去解决,再通过复盘,进一步沉淀出方法论。其实我们的能力就像开发生态一样,我们用 react 开发业务(生态中的方法论、经验),但仍然会遇到各种问题,于是进一步沉淀出各种工具库,推进 react 生态持续完善。


  所以,复盘是形成螺旋上升闭环的关键步骤,复盘的重点是沉淀方法论。即:



  1. 业务中,我们通过复盘沉淀方法论,下次便可做得更好;

  2. 技术中,我们通过抽象封装沉淀工具库,效率便可越来越高;

  3. 成长中,我们通过复盘积累经验,个人能力便可越来越好;


  因此,不要让自己疲于奔命,适时给自己一些空间,回顾下今天,这个月,这一年,你就知道该怎么做了。




  1. 我开始更关注技术所带来的价值。



  • 创业的经历,让我需要更进一步思考,考虑每件事的目的。其实你所做的每一件事,都有其动机与目标。带着明确的目标做事,就至少不会迷失方向。即使你玩游戏,你刷抖音,如果你从一开始就明确是为了消磨时间,休闲放松,那就不会有愧疚感。

  • 因此以前是技术->完成需求。而现在则会更进一步,技术->完成需求->带来价值。价值其实就是你所做的事的目标,它可以是多样的,可以是业务收益,也可以是技术收益、团队收益,甚至个人成长等。



⭐️ 关于价值 ⭐️


我们从技术出发影响业务主要分成三个递进式的阶段:




  1. 支撑好产品的需求,推进业务发展,这是最开始的阶段,也是每个工程师的基线。这个阶段,我们是协作者,可以多去关注一些业务的数据、进展和结论。




  2. 在完成好需求的前提下,基于数据与分析,思考如何做得更好,如何带来更多的技术附加值。从前端工程师的角度出发,为业务创造价值主要有三个方向:



    1. 保障线上的稳定性,例如更高效的错误排查与治理,线上错误率显著下降,对业务指标带来正向影响。

    2. 为用户带来更好的体验,例如提升性能、优化交互等。一个体验越好的产品,用户认可度越高,留存、活跃、转化等核心指标也有可能会越好。

    3. 产品迭代效率的提升,例如通过技术工具提升研发效率、平台化提升运营效率等,人效亦是价值。




  3. 当积累了对业务足够的认知后,跳出技术视角,真正从业务、数据、产品的视角出发,带来产品功能、策略上的优化与落地。这是一个顺其自然的阶段,只有当对业务的认知达到比较高后,以专业的角度去做。(我其实不太推崇,靠着用户视角的认知,就经常提出一大堆质疑,其实只会显得自己无知。🤷🏻♂️)




  这三个阶段是递进的,只有做好前者,做后者才会是加分项。否则便可能是不务正业。我们可以通过技术外能力来增强综合实力,而且往往更全面的领域融合,能带来一些惊喜,比如业务、数据分析、设计,甚至写文档、团队合作、做PPT等。但我们的本质仍是技术,如果我们失去技术的底层,而过于重视这些上层延伸,其实是本末倒置。(当然,除非你是规划转岗转行业。)



管理之路


  随着团队的成长,协同收益会逐步增大,通常当团队人数超过某个阈值,协同收益就会开始大于你的单人收益。这时候,开始将精力更多放在团队管理上,去提升团队的整体协同效应,解决效率卡点,是件更高性价比的事。但相信很多小伙伴也都会遇到:刚开始做管理工作时,每天好像都很忙的样子,工作、时间、精力开始碎片化,一会儿有个会议,一会儿有个讨论,一会儿有个流程。但睡觉前回顾,又好像什么事情都没完成。不知不觉,人就会陷入一种自我怀疑的状态中,怀疑自己做的事是不是有意义,担心自己的技术会不会就荒废了。


  我刚开始时也一样陷入其中。人在迷茫的时候,可以多去看看书。相比于在网上看资料,看书有个好处,就是会让人冷静下来,让你也有了更多的个人思考空间。很庆幸,我很快就得到了一些启发,也想明白了一些事,让我能继续往前走。


  从技术实现到技术管理,其实是一种思维方式的进阶。迷茫、怀疑的本质,在于认知没有产生进阶去匹配上当前的阶段需要。因此,我觉得从技术认知到管理认知,这可能是每个小伙伴走上管理之路的第一堂必修课。那为什么我会怀疑我做的事没有意义,而担心自己的技术会荒废?其实思维的本质是:我默认觉得技术是硬通货,而管理是外包装。这其实就是技术型认知,认为只有代码才是真正的技术,而编码以外的东西都是虚的。这也是为什么我们经常能听到抱怨文档工程师,PPT工程师等。


  我的第一个管理认知:管理同样也是一门技术,它也是一种硬通货。甚至文档书写、沟通技巧、总结演讲等能力,也同样是一门技术,也同样有非常多书籍在讲如何提升。当我把管理也同样看成一门技术的时候,我发现从本质上来看,这与 HTML、JavaScript、React 并没有差别,它们都是一种能力,一种去完成目标所需要的工具。当我这么想后,这不就进入了我们前端最擅长的领域,不就是学嘛(前端还怕学?🐒)。


  而学习的过程,就是建立一套属于自己的方法论(其实就是理解方式)。学习管理,就是沉淀出一套自己的方法论,形成自己的一套管理风格,去拆解重点,并逐一思考与实践:



  • 我理想中的团队是怎么样的?

  • 怎么做团队规划?

  • 怎么做团队沟通?

  • 如何做任务分配?

  • 怎么做团队技术建设?

  • 怎么做团队梯度建设?

  • 如何提升团队凝聚力?

  • ...


  另外还有很重要的一点,我觉得是管理自信。在技术认知中,我会觉得我就是喜欢并擅长做技术,但对于技术外的事情,刚开始就很容易出现缺乏自信的状态。比如我有一段就因为没有得到一些正向反馈,导致就一直在怀疑自己是不是做得不够好。也有一段一些小事情没处理好,就会觉得自己能力不足。我在反思后,觉得核心的原因主要有两个:



  • 经验不足,方法论欠缺,导致在管理工作中,缺乏一些思维主轴,做不好的概率变高;

  • 心理包袱,总觉得我不能辜负领导的期望,如果过程中刚好缺乏一些正向反馈,就容易多想是不是我哪里做得不好,让别人失望了;


  其实,第一点也源于上面提到的管理认知,因此只要将管理当成一门技术,给自己一点时间,循序渐进去拆解和沉淀,那自然就会越来越好的,我想没有前端会因为不会 React 就感到自卑吧。而第二点,一方面领导是很了解你的情况的,你的经验,你的优劣势,都会有一定的把握,通常并不会有不合理的期待,也同样会给你足够的空间来成长的。另一方面,我们也不需要完全围绕着别人的评价转,你可以相信自己的判断。不过这里延伸出来的一点,在人的相处中,合适的时机给与正向的反馈是十分重要的,它可能能让对方从自我怀疑中解脱出来。


  不过,相比于很多成熟的管理者,我还只是刚走出新手村,就不在这里高谈阔论了。待我再修炼修炼,再找个机会来跟大家分享更多管理上的思考与实践,也欢迎大家跟我一起探讨。



⭐️ 关于困惑 ⭐️


  我们无时无刻在困惑,而困惑就会带来烦恼与纠结。因此我们开始变得害怕面对困惑,畏难的情绪会引诱我们躲在自己的舒适区中。但这其实不就是人生的一部分吗?困惑,其实还有另外一个名称,叫做好奇。从出生那一刻起,你就在困惑这个世界,而你就是在一个一个的困惑中逐步成长的,有困惑是好事。


  所以这么想,是不是就没有必要去害怕面对了,自然而然去面对,出发去寻找那个属于自己的答案。给自己一些思考的时间,又或者与一名智者聊聊,去找到困惑的本质根源,然后再一一的解开那个心结,你便又成长了。



人生之路


  七年的时间,我从一个天真无知、怀揣梦想的少年一步步成长。我们中的大部分人的人生都是类似的,走着类似的路,做着类似的事。工作上,我们毕业求职升职加薪,生活上,我们恋爱吵架结婚生子。但过着过着,每个人的人生却都完全不一样。一个个小小的决定与机会,最终会让我们都走上自己的命运。


  回望过去的轨迹,首先我先看到的是规划。我的人生就是一场提前做好规划的旅行。每一步都是在规划中进行的,找什么工作、什么时机跳槽、怎么理财存钱、什么时候结婚、什么时候做什么事,都是在计划之中。其实有时我在想这是好的吗?好的一面,规划总是往好的方向的,它能让你时刻保持着前进的方向。提前的规划,会让你能够提前对一些意外情况进行规避,也能够尽量避免一些不好的事情。但另一面,完全的规划可能会让你变得过于理智,缺乏激情,而且规划可能会扼杀那些疯狂的想法,生活也许也会少了那一丝惊喜和精彩,有时候,没有计划,说走就走的旅行,反而会有意外的美丽。例如创业,也是因为我的规划和理智,我需要停下脚步重回字节。但我其实再也无法知道,如果我坚持下去的结果会是什么,也许有惊喜呢?



⭐️ 关于规划 ⭐️


  所以现在我的感悟是规划是必要的,它能让你保持正确的方向,减少迷茫。我经常跟组员讨论的就是想想三年、五年后你应该在做什么,这样你就知道你想要什么了。


  但我经常看到很多人非常不喜欢打破自己的计划,一旦一些事情或者别人打破了自己的计划,就会变得很焦虑,很有情绪,其实这也不好。我希望规划是开放的,它可以被打破,它可以随机应变,它也可以接受更多意外的发生。也许这样,你才不会错过那意外的美丽。



  另外一个点我想提的是我的乐观与积极。人生不可能永远一帆风顺,也必然伴随着痛苦和失落,我也有很多睡不着的夜晚。但我始终相信着事情会好起来的,我可以的,我努力下一定能够搞定的。比如工作上,我很少有什么畏难情绪,从我个人而言,我反而喜欢那种很有挑战的工作,比如我曾花很大精力在WebGL上手撸一个类IOS滚动条,各种手势、惯性回弹参数、边界情况等,我想大部分人会觉得吃力不讨好,可能会偏向于找个现成的库,然后跟产品说这部分没法实现。而我就会偏向于自己写一个来努力满足所有需求,并且我大概率会乐在其中,即使因此可能变得压力很大,排期很紧张之类的。


  最后,还有一个最最重要的点:身体健康永远排在第一位,没有什么事情比身体健康更重要,不仅是你自己,还包含着你的家人。而保持身体最重要的核心,就是重视它关注它。当你觉得疲惫了,就去休息。当你觉得哪里不舒服了,就去医院做下检查。当你觉得最近生活不太健康,那就动起来,让自己过得更好点。


  所以,生活总结起来就是:健健康康,保持着乐观与积极,做好规划,然后大步地向前走!



🐒 最后,关于我


  非常感谢看到这里的各位小伙伴,感恩!文章的鸡汤浓度有点高,有些地方可能带着一些我的主观,也不一定是正确的,仅供大家参考,如果能对大家有所启发和帮助,那我就很开心了。如果不能理解的,又或者一些我没提到的,比如晋升、绩效啥的,也许可以来跟我讨论讨论,可能也能碰撞出一些有意思的东西。


  另外,我也同样有很多的烦恼和缺点:说要健身,一直动不起来。说要学英语,一直没进展。书也看得不够多。说一定要开始写文章,也一直进展缓慢。有没有大佬能拯救下我。所以期待跟大家一起交流,一起成长,一起变得更好。共勉~





作者:郭东东
来源:juejin.cn/post/7220244993788854309

收起阅读 »

接受外包Offer前一定要清楚的4件事

Hello 我是光影少年。 最近有一些刚毕业的小朋友私信我,说工作贼难找,能不能先去一个软件外包公司先苟着,之后的事情等行情好些了再说。 去外包公司当然没什么不可以,成年人能基于实际做出判断和选择,并承受相应的结果就行。 只是我想补充一些细节,让可能有这个想法...
继续阅读 »

Hello 我是光影少年。


最近有一些刚毕业的小朋友私信我,说工作贼难找,能不能先去一个软件外包公司先苟着,之后的事情等行情好些了再说。


去外包公司当然没什么不可以,成年人能基于实际做出判断和选择,并承受相应的结果就行。


只是我想补充一些细节,让可能有这个想法的小朋友们对这种公司和岗位有一些大概的了解。


在这里先给部分不太清楚的观众扫个盲,软件开发行业有两种基本的用工方式:



  • 作为所服务公司的正式员工,和该公司主体签订劳动合同。

  • 作为所服务公司的劳务派遣员工,和所服务公司委托的第三方公司签订劳动合同。简单来说,你和所服务的公司实际上没有什么关系,是那家签合同的第三方公司的员工,只是替这家公司干活而已。这也是俗称的「外包员工」或者「顾问」


劳务派遣这种用工方式已经广泛地存在于许多的行业。事实上,有些公司中,围绕着派遣员工和正式员工之间的差异,存在着一整套完整的「潜规则」。


围绕着这两种不同类型的员工,在日常工作中往往会衍生出的所谓「戴蓝色工牌」和「戴绿色工牌」的区别对待的概念。


「戴绿色工牌」的他们的工资通常较低,没有其他福利待遇,在某些公司甚至被告知他们不能使用专门的员工通道,也不能参与公司组织的一些诸如团建,抽奖等活动。


「戴蓝色工牌」的是正式员工,有权享受所有的福利待遇。同时要想戴上蓝色工牌是很困难的。


在劳务派遣公司招募「戴绿色工牌」的员工时,往往会拿「表现良好者可以戴上蓝色工牌」这种承诺来作为吸引人的筹码,但是绝少有人能够如愿以偿。


表面上看上去,似乎完全不用选,正式员工就是比派遣员工要好。在大多数情况下这没错。不过我还是想介绍一下派遣员工的现状,和你在考虑是否接受这个岗位时可能会忽略的一些实际情况。


在这里,我只介绍狭义上「劳务派遣」所指的群体,


这种类型的岗位员工和一家代理机构(比如最常见的某软,某辉)签订劳动合同,然后这家机构会把他们派遣到客户公司的现场,和客户公司的雇员一起工作。


相对于客户公司,他们就是「劳务派遣」员工。代理机构会定期向客户收钱,然后从中抽成之后,再把「工资」发给员工。比如客户公司为一个岗位支付的成本是2w/月,很可能发到员工手里只有1w/月(随便举例,不代表实际情况)。


作为这种类型的员工,通常会要求定期填写一份工时记录表,来证明为客户工作的时间,然后根据这张表从所在的机构获得报酬。


代理机构的最根本的盈利模式就是赚差价,所以通常客户向机构支付的费用要比机构实际支付给员工的工资高出 50%~100%的情况也并不算少见。


可能有些小伙伴看到这里已经开始生气了。「存在即合理」,在国内,代理机构起码还得负责员工的五险一金等一些其他的基本保障。往往通过代理机构给大型客户工作,比直接去一家朝不保夕的初创公司还是稳定轻松许多,甚至收入也会高上不少——哪怕已经被拿走了一大部分。


当然,如果咱们已经选择接受一个派遣的岗位,你可以通过一些方式了解到客户给你付出的成本,之后不论是和机构谈判,还是更新对自己的定位都有好处。


同工不同酬


首先就要聊最重要的:

关于薪资。


在大多数情况下,在同等工作岗位上,作为一个派遣员工,只看固定薪资的话,单价是更高的。


在我之前的工作岗位上,我的固定时薪是比不上和我同样职级的顾问同学的。


但是,但是,通常能大量使用派遣员工的大型企业,他们的薪资构成不光是固定薪资。往往是:


薪资总包 = 薪资+绩效+其他(各种福利、股票期权等等)


派遣员工往往只有固定薪资,或者一些超时工作的加班补偿。


稳定性


为什么公司宁可支付更高的单价,也要大量使用派遣员工呢?其中一个很重要的因素就是控制固定成本支出


雇佣一个正式员工,除了薪资总包以外,还需要支付和固定工资匹配的五险一金,其他的各种福利,雇佣一个人付出的成本大概是纸面薪资的1.5倍甚至更高。而且如果公司遇到业务收缩,需要裁撤员工,正式员工也需要支付大量的赔偿金。


如果是派遣员工,那么大可以在项目建设期需要大量人力投入时短期购入大量的人手,在项目上线稳定进入维护期后终止合作,而遣散派遣员工所付出的成本低的可以忽略不计。


所以,如果你对于频繁地更换工作场所有所抵触的话,派遣员工可能对你来说是个很大的挑战。尤其是在有些时段没有什么客户需要,很可能要在代理机构坐冷板凳,甚至被裁撤掉。


工作环境


就像本文开头提到的,有人的地方就有江湖。在有些公司,派遣员工和正式员工之间存在巨大的鸿沟;有些公司中又不是那么明显,但就像一道空气墙,不知道在什么时间就会拦住你的去路。


为了控制成本,在扩张员工规模时的大型企业是十分谨慎的,对待正式员工的招募流程会比派遣员工的进场流程严格的多。高标准,严要求下,如果正式员工的数量还比派遣员工的数量少,那么难免的一些「精英思维」就会开始弥漫。


这是难以避免的,这也是许多在派遣员工岗位的小伙伴反复和我提及的:


一定要端正心态。


在很多你不经意的时候,甚至会有「被抛弃」的感觉。并不是每个客户公司的氛围都那么让人舒服,但这就是正常的,不要太过于纠结这个。


而且派遣员工有一个小小的优势,正式员工通常会因为卷而主动加班,而这种加班在不少地方是无偿的,派遣员工由于是代理机构提供的劳动力,所以通常加班都是有补偿的——毕竟你们的工作就是机构的收益,机构也会争取他们的利益。


长期发展


作为派遣员工,短期收益甚至可以说还不错。进入大型公司的劳务派遣基本不会比去初创企业工作难多少。而且也没有传统大企业对于正式员工所提出的高要求,压死人的KPI之类的影响。


但如果你想从工作中获得的不仅仅只有报酬,更想有一些为日后的履历增光添彩的项目经历的话,派遣员工可能就不是很合适。通常情况下,客户公司总倾向于让派遣员工去做一些相对简单的外围部分工作,核心的部分很难接触到,这没得说。


除非你愿意非常频繁地跳槽来换工作,否则涨薪在派遣员工中也是很困难的,而作为规模公司的正式员工,往往有很成熟的薪资上升机制,也有晋升的机会。


而且业内有一些传言,把进代理机构的经历称之为「弄花简历」,这段经历有可能会对后期想要进入大厂时的筛选过程有一定的影响。


至于说HR招人时所提到的「有转为正式员工的机会」,就像真爱,听过的人多,见过的人少,

作者:幸福少年
来源:juejin.cn/post/7217360688264134713
我也不过多发表意见。

收起阅读 »

四月·十字路口

"睡醒了就去打工,打完工就回去睡觉,想学坏都没时间",打工人的真实写照。即便放假我也是无所适从,乏善可陈。 本月下旬离职ing,这份工作是被迫离职,可以理解为"被开"。从入职之初就定义了这份工作:阶段性过渡。可是踏入社会的几次工作都告诉自己,不停的过渡过渡...
继续阅读 »

"睡醒了就去打工,打完工就回去睡觉,想学坏都没时间",打工人的真实写照。即便放假我也是无所适从,乏善可陈。



40ccab4ceae8ee8656db8ff5145f046.jpg
本月下旬离职ing,这份工作是被迫离职,可以理解为"被开"。从入职之初就定义了这份工作:阶段性过渡。可是踏入社会的几次工作都告诉自己,不停的过渡过渡过渡ing,似乎我完全不明白自己想要的是什么,胡乱抓瞎。


今又四月,最近作息颠倒,精神状态每况愈下,对现状及对未来的过多思考导致夜不能寐,复盘下这一年的种种。为了进行一次有效跳槽,此处稍作思考,梳理下:


1. 工作的能力问题




  • 此前作为初创公司的星麦,我是当时入职应届生中坚持的最久的员工了,很遗憾坚持了半年Pua主动出局。我的前端天花板老大,没有领取年终奖就跑了,对面一排的后端都提出了离职,又或者年后离职,恶劣的人文环境可见一斑。天花板曾打趣说,我应该去外包磨砺一番,这个公司不适合我,也让我回想起入职之初,部门的同事说我并不适合这种初创公司。




  • 现在这个甲方说我能力不足,调过一次项目组,碰到个刚入职的经理跟她发生过嘴角争执,觉得她不懂技术,可能当时对自己太过自信了,没处理好国企领导人之间微妙的关系,后面我又去接手另外一个项目,期间我觉得没有任何不适,这个项目让我明白了,背锅侠一定不要当,且负责人居然要出国深造,他说他扛不住了,人家都有预知风险的能力,我何尝不可?何况他是甲方都要跑,值得深思。不要沦为工位旁边的同事,不然后期颓丧成常态,一发不可收拾。





如果要换工作就好好换工作,不要带着上一份的疲惫和情绪去找工作,更好的割舍就是更好的出发。



2. 下一份工作的规划问题



  • 人文环境:"无政府"状态的工作,温水青蛙,搞不好会把自己干废,影响我的创造力和学习的劲头

  • 项目情况:技术老旧,Jsp写不上简历的项目,天花板很低,一年十年也差别不大

  • 个人成长:原项目无成长,也没有可以深度学习的前辈。好在缓冲了一年,也算看进去了点技术文档

  • 家人爱人:生活和工作状态失衡,心灵比较空虚

  • 职业发展:不能为技术和简历添彩,稳定程度很低,甲方说开就开

  • 离职成本:较低,住房成本到武汉缓冲一点时间,不至于那么焦虑


此次跳槽,属于发展性跳槽,更是为了给自己负责。单独生活了两年,心智逐渐稳定,但人不应该局限在"无朋友"的圈子,要构建新的生活圈,出门丢个垃圾和买瓶饮料已经是极限了。本以为我不会被"形单影只"所影响,终究是高估了自己。我的第一诉求,稳定+技术符合大众潮流(如Ts、React,而不是人人都会的Vue),薪资符合大众市场,首推React技术栈,公司规模中大型,向下扎根,向上开花(长长久久发展)


房子到期还有两个月,前提,找到工作这是一次规划,允许自己一个月找不到工作。不要自乱阵脚,城市选择:Base武汉or杭州。


4. 下一份工作的入职注意点



  • 是否属于外包(问清楚)

  • 面试谈薪

  • 薪资构成

  • 绩效考核

  • 年薪是几薪

  • 五险一金比例

  • 晋升机会

  • 试用期时间


5. 俯瞰未来


青年人,要追逐自己的梦想,立业、成家,有条件去深度探讨自己的出路,商人还是公务员需要后面去论证,需要有人指点迷津,而不是摸瞎过日子。


最后的最后,接下来的每一天都要有计划的准备面试,周末不应该这样度过,玩没玩好,计划也没计划。


作者:鼓浪屿
来源:juejin.cn/post/7219961144584290360
收起阅读 »

【转载】程序员不爱加班但为啥还总要加班?

连续加班一个多月后,反思一下为啥国内程序员加班这么多 关注程序员耳东,编程转码真轻松 防杠指南:本文不适用于资深大佬,若喷必回 今年过完年之后一直在加班,关注我的粉丝应该也能看出来,2 月份和 3 月份写的笔记确实比较少,最近才开始恢复 加班完毕是得好好思...
继续阅读 »

连续加班一个多月后,反思一下为啥国内程序员加班这么多


关注程序员耳东,编程转码真轻松



防杠指南:本文不适用于资深大佬,若喷必回



今年过完年之后一直在加班,关注我的粉丝应该也能看出来,2 月份和 3 月份写的笔记确实比较少,最近才开始恢复


加班完毕是得好好思考一下,毕竟咱这班也不能白加了对吧,我得好好想一想到底是为什么会导致我加班,我细数了一下平时导致我加班几个主要原因,大家看看有没有共鸣


业务需求倒排期,改的随意


互联网公司的业务迭代是非常快的,尤其是电商、营销相关的业务,基本上随时都在出需求,需求顺排倒还好,无非就是给了排期之后顺着做就行了


但是有一个非常蛋疼的点,如果这个需求业务方要的非常急,比如说 15 号出的需求 PRD ,月底就得上线,必须得倒排,那么就是说上线的时间定了,测试的时间占用一段,联调的时间再占用一段,留给开发的时间真的不多了


时间不够怎么办?要么加人要么加班,加人还有个问题,有的功能并不是很好拆分,而且人多了管理成本也在增加,1+1 并不是一定能等于 2 ,所以到最后就只能全员加班来肝需求


关于业务需求,还有一个可能导致加班的点是改的随意。


之前我在字节跳动打工的时候,每次需求评审会一堆年轻的 PM ,跟唱戏似的,你方唱罢我方上,哭爹喊娘的说自己的需求是多么多么的重要,常用的话术是:我这个需求是 xx 级别的老板看重的、我这个需求可以为公司创造 xx 的收入等等


一个个的 PRD 写的怎么样不重要,最重要的是抢占研发资源,最好可以把程序员固定在自己手里


等到需求开始做了,发现其实 PRD 里面有很多东西没想明白,这个时候就开始改 PRD ,改了 PRD 但是研发排期却不变,那这咋办呢?程序员加班呗


所以国内经常流行一个调侃的对联:


上联是:这个需求很简单


下联是:怎么实现我不管


横批是:明天上线


虽然这个对联是调侃的,但也暗示了很多公司在研发流程的不规范、管理混乱,这也是大部分程序员加班的重要原因


会议太多,占用时间


会议太多这个事情可能是大公司的通病,有时候屁大点事情就拉个会议,我细数了一下我一个月参加的会议:



  1. 需求评审会

  2. 技术方案评审会

  3. 需求复盘会

  4. 细节对齐会

  5. xx 项目启动会议

  6. xx 横向项目

  7. 技术分享会

  8. 周会

  9. 测试用例评审

  10. OKR 会议

  11. CodeReview 会议

  12. 等等......


其实这里面的会议真的太多了,有的团队还有早晨的站会等等,进一步压缩了写代码的时间


那能不能提升效率呢?我觉得可以


就说这个需求评审会吧,如果说每个人会前都能仔细的过一遍 PRD ,记录好疑点,那评审会完全可以开成答疑会,解答完疑问就差不多了,这样子可以节约很多时间,不至于一个需求评审会就开一两个小时


还有技术分享会,很多 leader 为了提升团队的技术氛围会要求组员进行技术分享,但是有的时候,分享的东西别人不一定感兴趣,深度把握的不好的话组员也会只把它当做任务去完成,这就是纯粹的浪费时间了


总之会议这部分,我觉得是一个存在很大提效空间的地方,一个事情是否需要拉会、是否要拉那么多人,是值得思考的


技术需求,各种丐版轮子


关于技术需求这个问题,我不知道是不是国内程序员的特色哈,就是纯做 PM 提的业务需求是很难得到好绩效和晋升的,因为这些事情是你工作职责范围内的事情,你很难说清楚这些事情带来的收益是 PM 的功劳还是研发的功劳


要想得到好绩效、超出预期,那就必须得做一些纯技术的事情,也就是所谓的“技术需求”,而且必须自己挤时间做,不会为这部分工作量专门划时间


常见的技术需求,比如说这两年特别流行的 LowCode 平台,据我所知很多大公司都在搞这种,并且是投入了很多研发的精力在里面的,美其名曰 LowCode 平台可以提高效率,所以在很多需求开发中强行推,要求研发必须使用 LowCode 平台来完成研发,但是在使用的过程中并没有提升效率,反而让研发增加了很多兼容成本和额外的工作量,不管能不能提供效率,先卷了再说


甚至有时候,多个团队之间在卷同样的技术轮子,一个大公司内部至少有 3 个 LowCode 平台、5 个组件库、3 个部署平台、4 个项目管理平台等等,大家都在加班卷技术项目,卷自己团队的存在感和好绩效


到最后,这个技术项目会出现在晋升答辩的 PPT 和汇报材料上,包装后的数字和成果都很亮眼,技术项目的发起者拿到了好绩效、晋升成功,等到晋升成功之后,这个技术项目的使命也就完成了,从此刻开始它就走上了烂尾的道路,历史项目也就留下了一堆烂摊子代码


老老实实做业务需求的人得不到晋升,做各种丐版技术轮子并且强推的人最后得到了晋升,这个问题在国内大公司非常普遍,这也是造成很多研发被卷着加班的重要原因


杂七杂八的事情,耗费精力


程序员还有一些杂事儿,也是相当的耗费精力了,我举几个例子


首先说线上 oncall ,这个事情其实也算是研发的正常工作范围内的事情了,但是如果一天出一个比较麻烦的线上 bug ,那今天肯定其他的事情就没空做了,或者只能加班去做


更不用说,如果所在的部门是基础架构部门的话,要处理技术之外的一些使用答疑事项,这部分事情毫无技术含量,和客服无异


还有就是非常强调技术要去深入业务,好嘛没问题,但是深入业务也是需要耗费时间的,这就意味着你除了读 PRD 以外还得去看 MRD ,可能你需要去和业务部门、市场部门的同事开会旁听 ta 门关心的事情,除过技术相关的东西以外还需要去关注业务指标


这又给自己增加了工作量,leader 不会说专门给这部分工作量去给你增加时间,只能自己挤时间了,这无形中又增加了加班


总结


我总结的这几个原因是我结合自身加班情况分析而来,可能国外的程序员也存在同样的问题,也可能有的人看法不一样,欢迎交流。


作者:敲完代码再睡觉
链接:https://juejin.cn/post/7215908160019972154
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

2023年 android 裸辞跳槽经历

前言 上家公司我呆了整整三年,趁着合同到期,不想续签了,于是想出来试试新的机会,从毕业到现在每次换工作都是裸辞的,哪怕今年行情不怎么好也是裸辞的,自我认为,一来经济上也没有太大压力,二来裸辞之后能全心全意准备面试,成功率大大提升,但也不排除运气太差,一直找不到...
继续阅读 »

前言


上家公司我呆了整整三年,趁着合同到期,不想续签了,于是想出来试试新的机会,从毕业到现在每次换工作都是裸辞的,哪怕今年行情不怎么好也是裸辞的,自我认为,一来经济上也没有太大压力,二来裸辞之后能全心全意准备面试,成功率大大提升,但也不排除运气太差,一直找不到工作的情况,所以每个人需要根据自己的实际情况做选择。


我是 2 月 1 号先找我的上级聊离职的事情,然后又找公司人事聊合同不续签的事情,然后约定在 3 月 15 号离职。提完离职之后跟想象的不一样,以为提完离职就可以放松下来了,没想到一直到 3 月 14 号还在写需求🤣


复习准备


提完离职之后就开始准备简历和投简历了,因为离职这件事从去年就开始考虑了,所以在去年 11 月份就开始有意识的准备了,刷算法,刷八股文。大概用了两个月时间,leetcode 刷了 100 道题,当然一开始刷算法肯定很受挫,第一题就不会,这很正常,我一般是先看题目,不会就看题解,然后背,每隔一周就把上周刷的算法再复习一遍。


640.jpeg


关于八股文的准备就是复习 Java,kotlin,Android 基础,计算机网络,数据结构,还有设计模式等等部分,这些东西比较耗时同时知识点比较多又杂,所以只能慢慢复习,就跟大学考研一样,第一遍就是全面复习,然后把不会的知识点记录下来,然后每天上下班地铁上快速的过一遍,就是无意识的记录,看到一个知识点就在脑子里回想跟它有关联的其他知识点,这样一直持续到 2 月份,然后还有简历,简历很重要,因为面试官基本都是根据你简历上面写的提问,当然也不排除不按套路来的面试官,我就碰到过一次,一上来就一直问我计算机网络底层相关的东西,如 socket,websocket,xmpp 以及如何处理高并发的东西,然后其他东西一点都没问,这就让我很郁闷了,总之简历一定要写好,同时简历里面的提到的知识点一定要滚瓜烂熟。


找工作途径


关于在哪里投递简历的话,我是用了拉钩,BOSS,51job,猎聘网,然后拉钩充值了一个月会员 169 元(屁用都没有,感觉拉钩已经死掉了,职位不更新,投简历没反应),BOSS 先买了一个月会员,然后又续费了一个月,每个月 69 元,最后也是通过 BOSS 面试找到工作的。大伙有需要可以了解一下,这里不是给 BOSS 打广告哈。然后 51job 这个 App,用了一圈感觉都是外企或者国企事业单位发布的职位比较多,不过整体感觉用处不大,没起什么作用。猎聘网 App,广告打得到处都是,然而没卵用。这就是我找工作的途径。


offer情况


从 2 月份开始投递简历,大概投了几十份简历,总共收到的面试机会大概有 15 家,参加的面试有 10 家左右,还有其他的就是不合适啥的就拒绝掉了,最后统计了一下,只有成功了 3 家,收到了 3 家录用通知,成功率只有 30%,因为我的目标很明确,就是想去外企,国企事业单位,初创企业,互联网的公司不大想去,所以一些大厂我都没有投简历。可以想象今年的行情很差,我三年前也就是在 20 年的时候换工作,那时候都是工作追着你跑的,今年行情的确不行,你去找工作,别人都不愿意搭理你。


关于具体的面试经验总结可以看我公众号里面具体的文章,以上便是我今年换工作的整体情况。


作者:crazyandcoder
链接:https://juejin.cn/post/7220061751399268407
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

给计算机专业学生的十大建议 后悔毕业才知道

经常有人问起计算机专业怎么学习,根据多年的实践经验,总结出这十条,欢迎大家收藏学习。 1. 注重计算机基础的学习 俗话说“勿在浮沙筑高台”,计算机基础是你作为一个科班生与非科班生的主要差别,也是一个计算机专业的核心竞争力,这玩意就像一个人的内功一样,学好了,...
继续阅读 »

经常有人问起计算机专业怎么学习,根据多年的实践经验,总结出这十条,欢迎大家收藏学习。



1. 注重计算机基础的学习


俗话说“勿在浮沙筑高台”,计算机基础是你作为一个科班生与非科班生的主要差别,也是一个计算机专业的核心竞争力,这玩意就像一个人的内功一样,学好了,受益无穷。像经典的《深入理解计算机系统》、《算法》、《数据结构与算法》等,学好基础再学习其他框架绝对是事半功倍。


2. 培养独立思考的能力。


遇到问题了,第一时间不是想着去问别人,而是先通过自己的努力,利用搜索引擎去查一查,慢慢提高自己的自我问题解决能力。这点上,我们可以好好利用Google搜索,这点不必多讲,在技术方面,国内百度还有其他搜索的结果简直惨不忍睹。另外有一个小的tips,在国内有很多google镜像网站,可以解决无法直接访问的问题。


3. 参加有价值的竞赛。


多参加一些有价值的计算机竞赛,比如:ACM(含金量最大)、GPLT、蓝桥杯、Kaggle、阿里天池、百度之星、中国大学生计算机设计大赛这里面含金量最大的就是ACM。一方面能提升自己的实践能力,另一方面做的好还可以得到丰厚的奖金和直通大厂的实习和工作机会,千万不要错过!特别是对于那些只上了普通学校的计算机专业的学生来说,这个,更是可以提高你将来就业竞争力的不二法宝。


4. 刷题刷题刷题。


重要的事情说三遍,主要就是刷算法题,需要你先学习《数据结构与算法》,之后你就可以多刷题,多刷题,多刷题,至于刷题网站可以推荐Leetcode和牛客网。之所以刷题这么重要,是因为后面找工作无论是私企还是外企,基本上每轮面试都会来几道算法题,而且像字节这种公司,可能算法题的难度是Hard级别,所以早点准备绝对没有错。


5. 去找个实习。


提前实习,好处多多,尤其不准备考研,毕业就准备工作的,主要的实习其实也就是在暑假时间了。根据我过往经验来看,有实习经历绝对是找工作面试时的一大优势,另外实习也可以提前让我们熟悉工作环境和社会的实际需求,帮助我们发现自己的短板,毕竟课堂和社会还是有很大差别的。所以有机会一定要尽早实习,并且越多实习越好!


6. 尝试系统化学习。


现在是一个知识爆炸的时代,各种自媒体满天飞,大家时间也越来越碎片化。如果对学习也没有一个规划,今天看到Python很吃香就学Python,明天看到AI前景很好,就开始搞AI,最后可能时间也花费了不少,但是啥也没学到。因此系统化学习非常重要,比如我要学数据库,那我就从基本的《SQL必知必会》,接着学《高性能MySQL》,最后学习《MySQL技术内幕》,只有这样才能系统掌握好一门技术!


7. 多做项目多实战。


多折腾项目,千万不要只做一个理论派,理论固然重要,但是离开了实战,理论的作用将打折扣,所以身为一个计算机专业的学生,除了要学好学透必备的理论知识,一定要花时间多去折腾一些项目!比如可以自己尝试从前端到后端搭建一个网站,从中你就可以积累项目开发经验,提升编程能力,为将来找工作打下坚实基础。


8. 学会使用GitHub。


这个真的是一个巨大的资源,这个也号称是程序员最大的同性交友网站,我觉得,每一个计算机专业的人都应该知道它,会基本的使用它,在这上面,你可以找到很多有趣实用的项目供你学习。上面还有很多开源顶级项目,像Go、Spark等,你也可以试着给他们提交代码,如果最后能够被接收,仅凭这点,你就可以在面试时秒杀90%的人了!


9. 坚持写博客分享技术。


很多程序员都在保持着写博客的习惯,这是对程序员非常有利的一件事情。把自己的日常所学,形成文字分享出来,不仅仅能帮助自己对技术的深入理解,还可以积累影响力,拓展自己的圈子等等,好处多多!


10. 锻炼身体。


最重要而最容易被忽视,千里之行始于足下,身体才是革命的本钱,如果没有身体,上面的都是空谈!!!平时有空就打打球、跑跑步,养成良好的生活习惯,学会给自己的身体投资!!!



关注公众号【码老思】,一时间获取最通俗易懂的原创技术干货。


作者:码老思
来源:juejin.cn/post/7216319218504155191

收起阅读 »

一个前端大佬的十年回顾 | 漫画前端的前世今生

作者:京东科技 胡骏 引言 岁月如梭,十载流年 前端技术,蓬勃向前 HTML,CSS,JavaScript 演绎出璀璨夺目的技术画卷 回到十年前,前端技术就像一名戴着厚重眼镜的书呆子,总是小心翼翼,被各种各样的浏览器兼容性问题欺负(就像在小学被欺负一样)。 ...
继续阅读 »

作者:京东科技 胡骏


引言


岁月如梭,十载流年


前端技术,蓬勃向前


HTML,CSS,JavaScript


演绎出璀璨夺目的技术画卷




回到十年前,前端技术就像一名戴着厚重眼镜的书呆子,总是小心翼翼,被各种各样的浏览器兼容性问题欺负(就像在小学被欺负一样)。



但随着时间的推移,这个书呆子开始锻炼,变得越来越强壮,终于能够对抗那些讨厌的兼容性问题



进入中学时期,前端技术遇到了那个改变它一生的朋友——jQuery。在jQuery的帮助下,前端技术变得更加自信,能够在各种浏览器之间轻松穿梭(就像找到了武林秘籍,功力大增)。



随后,前端技术开始追求更高的境界。它遇到了三位美丽的姑娘:Angular、React和Vue。这三位姑娘带给了前端技术无尽的魅力,让它迅速崛起,成为了技术江湖中的一股新兴力量。



如今,前端技术已经变得越来越强大,像一个熟练掌握各种武功的高手。它的发展速度之快,令人瞠目结舌,仿佛在短短十年内成为了武林盟主。它带领着一群忠诚的拜金党(程序员),在技术江湖中闯荡,创造了一个又一个的传奇。



而现在,前端技术正在为未来的挑战做准备,它还能带给我们多少惊喜,以及如何抵抗那些不断涌现的挑战者?让我们一起拭目以待,看这场武林大戏如何演绎。


一、历程


前端技术开发在过去的十年里经历了从HTML、CSS到JavaScript的演变。在这个历程中,前端工程师的角色也发生了变化,他们不再只是单纯的代码开发者,还需要与设计师、产品经理、运营人员等其他团队成员协作,共同完成网站的开发。



• _2010年以前,_前端工程师主要负责网站的静态页面开发,如网页设计、图片处理等。在这个阶段,前端工程师的技能主要包括HTML、CSS和JavaScript等基本技术。


• _2010年,_JavaScript成为了前端开发的主要语言。随着JavaScript的普及和发展,越来越多的前端工程师开始关注JavaScript的应用和开发。


• _2011年,_jQuery成为了前端开发的主流库,并且HTML5和CSS3开始受到重视。这也是前端开发变得更加动态和交互性的开始。


• _2012年,_响应式设计和移动设备优先的设计理念开始流行,前端开发在移动端上崭露头角。


• _2013年,_Angular引入了模块化和数据绑定的概念,Bootstrap实现了响应式框架,前端开发变得更加简单和高效。


• _2014年,_React发布,革新出组件化的思想,前端开发变得更加灵活和可维护。


• _2015年,_ES6发布,带来了诸如箭头函数、模板字符串和解构赋值等语言的改进,使JavaScript变得更加易用和现代化。同年,Vue的发布迅速获得了广泛应用。


• _2016年,_前端工具链的发展得到了加速,例如Webpack和Babel等工具的普及使得前端工程化得到了广泛推广。


• _2017年,_JavaScript库和框架更加多样,Angular、React和Vue等都在不断地演进和优化。PWA技术的普及使得网页更接近原生应用的用户体验。


• _2018年,_JavaScript框架的选择更加复杂,同时CSS预处理器(例如Sass和Less)和CSS-in-JS的技术也逐渐成熟。


• _2019年,_前端技术继续保持快速发展的趋势,更加注重用户体验和开发效率。例如,React Hooks和Vue 3等技术的推出使得前端代码更简洁并可维护。


• _2020年,_因新冠疫情影响,居家办公及远程工作成为新趋势。虚拟会议和在线教育等普及推动了前端技术的发展,也更加重视了访问性和用户体验。


• _2021年,_新技术和工具不断推陈出新。Web Assembly使得前端代码获得更高的效率,而预渲染和静态站点生成等技术让前端应用可以获得更快的加载速度。


• _2022年,_VR(虚拟现实)和AR(增强现实)技术的不断发展,前端开发者需要开发出更加适合VR/AR场景的应用程序。


• _2023年至今,_AI(人工智能)技术的突破性进展,前端技术将在AI 技术的加持下得到更广泛的应用,从而带来更智能和更高效的前端开发体验。


二、HTML5和CSS3的普及


HTML5和CSS3,这两个神秘代码世界的统治者,它们的名字听起来像是一对科学家的昵称,但它们的影响力却是无与伦比的:让我们的网页从普通变得绚丽多彩。



作为一名网页开发者,我们经常需要面对一些令人头疼的问题:浏览器兼容性、页面加载速度缓慢等。但是,当HTML5和CSS3出现在我们的视野中时,一切都变得不一样了。


HTML5是一种用于网页开发的语言,它具有更强的多媒体功能,比如说可以轻松地嵌入音频和视频。它还具有更强的语义,使我们可以更容易地描述页面内容。


而CSS3则是一种用于美化网页的语言,它提供了更多的样式选项,比如说可以实现圆角、阴影等效果。它还支持响应式设计,可以让我们的网页在不同的设备上都能得到最佳的展示效果。


用HTML5和CSS3开发的网页不仅美观,而且更快。我们不再需要使用大量的JavaScript代码来实现一些简单的功能,因为HTML5和CSS3已经帮我们完成了这些工作。


不仅如此,HTML5和CSS3还使得网页开发变得更有趣。我们可以创造出各种各样的动画效果,比如说滚动、旋转等,而不需要依赖任何第三方工具。这不仅让我们的网页更具吸引力,也使我们的用户更容易理解和使用。



HTML5就像一个网页的“建造师”,它负责把网页的框架建造出来,而CSS3则是一个“装饰师”,它负责把网页的外观和感觉打造出来。这对搭档携手合作,把一栋美丽的大厦(网站)拔地而起。


三、JavaScript框架的崛起


JavaScript框架,从这个词语中我们就能感受到它的强大和威力,如同统治世界的巨龙,横行天下,让所有的开发者都震撼不已。



在过去的十年里,我们见证了许多JavaScript框架的诞生和发展。最早的Angular和Backbone逐渐被React和Vue等框架所取代。这些框架不仅简化了开发者的工作流程,还引入了组件化的开发思想,提升了Web应用的可维护性和可扩展性。


另外,JavaScript框架也推动了Web前端技术的进步,引入了许多新的概念和理念,如组件化、数据驱动等等,使得Web前端开发变得更加简单而清晰。


3.1 React:让你的用户界面如此简单


React,这是一个神奇的JavaScript框架,它可以让你的用户界面变得如此简单,以至于你会想:“这就是魔法吗?”


React的核心思想是组件化,它把用户界面拆分成许多小的组件,每个组件都可以独立运行,并且可以方便地复用。这样,你就可以更加简单高效地开发出高质量的用户界面。



React的另一个优秀特性是Virtual DOM,它可以帮助你更快速地渲染用户界面,并且不会影响用户体验。这就像是一个超级快速的缓存,让你的用户界面飞快地呈现在用户面前。


React还提供了一些非常实用的功能,比如说React Router,它可以帮助你管理路由,让用户界面更加流畅;而React Redux可以帮助你管理应用状态,让你的代码更加整洁。


此外,React是一个非常活跃的开源项目,它的开发者们一直在不断改进和完善,值得每一个前端开发者去学习和使用。


3.2 Vue:充满了年轻的活力和智慧


Vue是另一个JavaScript框架,可以让你快速构建网页,就像是一个魔术师,把一堆杂乱无章的东西变成了一个美丽的魔术。


Vue的核心思想是数据驱动+组件化。这听起来很高大上,但其实就像是你在做一道数学题,先把问题分解成若干小问题,再一步步解决。


Vue有一个很酷的特性:双向绑定。这听起来很神秘,但实际上就像是你和你的好朋友之间的对话,你说了什么,他就知道了。



学习和使用Vue的过程中,你会发现开发变得更加简单和有趣,就像是在做一道神奇的拼图,一步步把图片拼出来,比如说它有很多组件,就像是一个工具箱,你可以随时随地使用。组件的好处在于,它可以把复杂的功能分解成若干个简单的部分,这样就可以很容易地管理和维护你的代码。


同时,Vue有很多很多的插件,可以让你的开发体验更加顺畅。插件的好处在于,它可以帮助你实现一些复杂的功能,这样就不必自己写一坨代码。


Vue还有一个很棒的社区,可以帮助你解决一些棘手的问题,也方便了你与其他开发者交流经验,编码世界有了朋友,永远不会孤单。


3.3 谨慎:利剑具有两面性


JavaScript框架是一个非常重要的工具,就像一把利剑帮助开发者切开困难,让开发者更加简便高效地开发前端应用,也推动了前端技术的进步,并抵达成功的彼岸。



但是,请记住,刀刃朝向你,也有可能伤到自己,因此请开发者在使用JavaScript框架时要谨慎小心。


四、Node.js和前后端分离


首先,让我们回顾一下过去,那时候前后端是紧密结合在一起的,像一对结婚多年的夫妇。它们有着许多共同的爱好,但是有时它们也会产生冲突,就像夫妇间的争吵一样,前后端争吵也是不可避免。



但是,随着技术的发展,我们发现了一个新的解决方案:前后端分离。就像夫妇分居一样,前后端也可以分开,以避免冲突,Node.js就是这个分离的功臣。


Node.js可以帮助前端和后端分开,各自独立工作。前端可以专注于用户界面的开发,后端可以专注于数据的处理,就像夫妇分别在各自的工作岗位上工作一样,前后端也可以分别在各自的领域里工作。


Node.js的出现让JavaScript可以在服务器端运行,为前后端分离的架构模式提供了可能。前后端分离使开发者可以更加专注于前端应用的开发,提高开发效率。同时,Node.js的诞生也带来了诸如npm、yarn等包管理器的出现,开发者可以轻松地引入和管理第三方库。


4.1 npm:被忽视的少年


首先,让我们了解一下npm的历史。它曾经是一个年轻的少年,总是被忽视。但是随着它长大,它变得越来越强大,并且成为了Node.js开发的重要组成部分。


以前,如果我们想要安装一个库,需要手动下载,并且手动安装它。这是一件非常繁琐的事情,而且很容易出错。但是,随着npm的出现,一切都变得更简单了。只需要运行一条命令(如:npm install),就可以轻松地安装任何库。


npm还提供了一个巨大的软件仓库,其中包含了数以千计的库和工具。它就像一个图书馆,你可以随心所欲地查阅和使用。



但是,npm不仅仅是一个简单的安装工具。它还像一个管家,辅助我们管理依赖关系,并帮助我们发布代码和维护代码库。它还有许多其他功能,例如构建工具,测试工具等。因此,如果你想充分利用npm,请不要仅仅停留在它的基础功能上。


4.2 yarn:少年的替身


首先,让我们了解一下yarn的由来。它的诞生是为了解决npm的一些问题,就像是一个少年的替身,它试图取代npm并成为新的领导者。


yarn可以帮助我们快速安装依赖包,并管理依赖关系,像一个组织者可以帮助我们维护代码库,以此节省时间并提高开发效率。


yarn还提供了一个更好的版本控制系统,可以帮助我们管理依赖项的版本。如果你在多个项目中使用相同的依赖项,可以确保所有项目使用相同的版本,从而避免了版本冲突,譬如一个和平协调员。



除了管理依赖关系和解决依赖冲突外,yarn还可以帮助我们更快地进行安装,因为它可以在本地缓存安装过的依赖项。这意味着,如果你在多个项目中使用相同的依赖项,它们将不会再次下载,从而减少了安装时间。


此外,yarn支持并行安装,这意味着它可以同时安装多个依赖项,从而加快安装速度。这是一个非常有用的功能,特别是当你需要安装大量依赖项时。


yarn也有一个很棒的社区,可以帮助你解决任何问题。如果你在使用yarn时遇到问题,可以在社区中寻求帮助。这是一个非常有价值的资源,可以帮助你更快地解决问题。


五、构建工具和自动化


构建工具和自动化是现代软件开发的重要组成部分,就像给你的代码加上糖衣一样,帮助我们提高开发效率,并且可以让我们更专注于代码本身。


Grunt、Gulp、Webpack等工具的出现,使得开发者可以方便地实现代码压缩、合并、优化以及模块化等功能。而随着CI/CD的普及,自动化测试和部署变得更加便捷,大大提高了软件开发的质量和开发速度。


5.1 Grunt:猪叫的声音?


Grunt,这不是一个军人,也不是一个猪叫的声音。实际上,它是个非常酷的JavaScript任务运行器,可以帮助你自动化各种任务,如代码构建,单元测试和文件合并。它的目的是让你的工作变得更轻松、更有效率,而且不需要你不停地敲代码。



想象一下,每次你修改了一个文件,你就需要手动编译、压缩、合并、测试等等。这听起来很枯燥,对吧?但是,如果有一个工具能帮你自动完成这些任务,那该有多好!这就是Grunt的作用。


Grunt的核心思想是使用插件(plugins)来完成各种任务。有数以百计的插件可以帮助你实现从编译Sass到压缩JavaScript的各种任务。插件是通过npm安装的。Grunt有许多内置任务,例如:文件压缩,CSS预处理,JavaScript检查等。此外,还有大量第三方插件,也可以助你完成更多任务。


Grunt的配置文件是Gruntfile.js,用于定义任务和任务的配置。Grunt使用JavaScript代码配置任务,因此对JavaScript基础知识的了解是使用Grunt的必备条件。


Grunt的任务可以在命令行中通过运行以下命令执行:grunt task-name。如果你想要实时监控文件的变化,并在文件变化时自动执行任务,你可以使用grunt watch命令。


如果你是一个JavaScript开发者,那么Grunt是一个不可或缺的工具。它可以让你的工作变得更快捷、更高效,让你有更多的时间去做其他有趣的事情,比如喝咖啡、写文章或者是找对象。


5.2 Gulp:古老的咒语?


让我们来说说Gulp的名字。它的名字听起来有点像一个古老的魔法咒语,你想:“Gulp!” 然后你的代码就会变得更快、更简洁、更酷。不过,实际上Gulp并不是魔法,而是非常实用的构建工具。



Gulp的工作原理很简单:它通过创建一系列的任务,来自动完成你的工作流程。比如说,你可以创建一个任务,来自动编译你的Sass文件,或者压缩你的JavaScript文件。这样,你就不需要手动执行这些步骤了,Gulp会帮你完成。


Gulp还有一个非常酷的功能:它可以实时监控你的文件,并在你修改了文件后立即执行相应的任务。这样,你就可以实时看到更改的内容,而不需要手动重新执行。


Gulp如何使用呢?首先,你需要安装Node.js和npm,因为Gulp是基于Node.js的。其次,安装Gulp的命令行工具,只需在终端中运行以下命令即可:npm install gulp-cli -g。接下来,你需要在项目目录中创建一个package.json文件,这是npm的配置文件,用于管理项目依赖。你可以通过运行以下命令来创建一个package.json文件:npm init。然后,你需要安装Gulp,只需在项目目录中运行以下命令即可:npm install gulp--save-dev。最后,创建一个gulpfile.js文件,这是Gulp的配置文件,用于编写你的任务。


现在,你已经准备好使用Gulp了。开始编写你的任务,并运行以下命令来执行吧:gulp task-name


5.3 Webpack:订制的包包?


Webpack可以帮你把代码压缩成小而美的包,就像私人订制的收纳柜,它可以装下你所有的包包,并且把它们整齐地放在一起,使你的“奢侈”更加有序!


但是,如果你犯了错误,它就像一个恶魔般出现在你面前,吼叫着告诉你:“Error: This is error!”所以,请小心使用Webpack。


不过,只要你已经掌握了Webpack的使用方法,那么它将成为你的最佳伙伴,因为它可以为你节省大量的时间,并且让你的代码变得更加整洁。



你可以告诉Webpack:“嘿,Webpack!帮我处理图片和字体!” 然后Webpack就会用它的魔力,将它们变成小小的Data URL或文件。你不会相信,Webpack的魔力是如此的强大,它甚至可以帮你处理模块依赖。


那么,如何使用Webpack呢?首先,你需要安装它(就像是奢侈品店要先开门才能买包)。安装很简单,只需要在终端中输入:npm install webpack;然后,创建一个配置文件(就像是奢侈品店的导览图,告诉你每样包包在哪里)。配置文件一般命名为webpack.config.js,内容如下:module.exports = {entry:'./src/index.js',output: {filename:'bundle.js',path: __dirname +'/dist'}};。接下来,只需要在终端中输入打包命令:npx webpack;最后,引用打包后的文件bundle.js就可以了(背起新包包,开启一场冒险之旅)。


六、PWA和Web性能优化


在这个快节奏的数字化时代,越来越多的用户转向使用移动设备和Web应用程序。


PWA成为了一个重要的技术趋势,它的全称是“Progressive Web App”,翻译成中文就是“渐进式Web应用程序”。简单来说,PWA是一个既可以在浏览器上运行的Web应用程序,同时也可以像原生应用一样在离线时使用。它的最大优点就是可靠性,因为PWA可以像原生应用一样缓存数据和资源,这意味着它可以在离线时运行,而不会像普通的Web应用程序一样无法使用。


此外,Web性能优化也成为了开发者关注的重点。我们需要知道一个简单的事实,那就是用户喜欢快速的网站。如果你的网站速度太慢,那就会让你的用户感觉像一头正在沙漠里跑步的骆驼一样疲惫不堪,感到痛苦和沮丧,这会让他们不得不离开,去寻找新的绿洲。



所以,为了确保你的网站速度足够快,你需要采取一些优化措施。以下是一些可以提高Web应用性能的技巧:




  1. **使用CDN(内容分发网络):**CDN是一组分布在世界各地的服务器,它们可以缓存你的网站内容,并将其分发到全球各地的用户。这可以大大加快你的网站加载速度,因为用户可以从离他们最近的服务器获取内容。




  2. **压缩文件大小:**压缩你的HTML、CSS和JavaScript文件可以减少它们的大小,从而加快它们的加载速度。你可以使用像Gzip这样的压缩算法来实现这一点。




  3. **使用缓存:**缓存是一种将网站数据存储的技术。例如浏览器缓存:在响应头中设置缓存策略来控制缓存时间;以及服务器端缓存:使用Memcached或Redis等缓存服务器,以减少响应时间。这样一来,当用户再次访问你的网站时,它们可以从缓存中加载数据,而不必重新下载,大大加快你的网站加载速度。




  4. **减少HTTP请求:**有一个叫做“夹心饼干法则”的说法。这个法则认为,在一次HTTP请求中,中间的响应部分应该像夹心饼干一样短,而请求和响应头和尾应该像饼干的两端一样长。这听起来很有趣,但其实它也是有道理的,因为请求和响应头和尾中包含的信息比较少,而响应中间部分则包含了网页的实际内容,因此应该尽可能地减少其大小。你可以通过将HTML和CSS以及JavaScript文件合并成一个文件,或者通过使用CSS Sprites将多个图像合并成一个文件来减少HTTP请求的数量。




  5. **使用响应式图片:**图片是网站加载速度最慢的资源之一。为了提高网站加载速度,你可以使用响应式图片,这些图片可以根据用户的设备屏幕大小来动态地调整大小。这样一来,用户只会下载他们所需的图像大小,而不是下载整个大图像。




  6. **使用懒加载技术:**懒加载是一种延迟加载技术,它可以延迟加载页面上的图像、视频和其他资源,直到它们真正需要时才出现。这可以减少页面的初始加载时间,因为只有当用户滚动到需要加载的部分时,它们才会被加载。





你知道吗,Google Chrome浏览器可以使用一个名为“Lighthouse”的工具来检查网站的PWA和性能方面的指标。但你可能不知道的是,这个工具还有一个有趣的功能,就是可以为你的网站生成一份“独家报告”,这样你就可以像读报纸一样轻松地查看网站的PWA和性能状况了。但是,要牢记的是,优化Web应用性能是一个不断发展的过程,需要持续监测和调整以确保最佳体验。


七、Web组件和跨平台框架


Web组件和跨平台框架是现代Web开发中的两个热门话题,它们就像是现代Web开发的两座巨大城堡,吸引着无数开发者前来探索和征服。


首先,我们来谈谈Web组件。Web组件是一种现代的Web开发技术,它允许开发者将Web应用程序分解成可重用的组件,这些组件可以在不同的Web应用程序中共享和重用。比如,你可以将一个搜索框组件用于多个Web页面,而不必每次都重新编写。


Web组件的好处不仅在于可重用性,还在于它们的灵活性。你可以根据需要自定义Web组件,为你的Web应用程序添加新的功能和样式。



但是,Web组件并不是“银弹”,它们在某些方面仍然有限制。比如,Web组件难以处理动态数据,因为它们是静态的。此外,Web组件也不是完美的跨平台解决方案,因为它们可能无法兼容不同的Web浏览器和设备。


这就引出了我们的下一个话题:跨平台框架。跨平台框架是一种可以在多个平台上运行的软件框架,包括Web、移动和桌面应用程序。它们允许开发者编写一次代码,然后在不同的平台上运行,无需进行任何额外的修改。


跨平台框架的好处显而易见:它们可以大大减少开发时间和开发成本。但是,跨平台框架并非完美无缺。它们可能会受到不同平台的限制,从而无法充分利用每个平台的功能和性能。此外,跨平台框架还可能会导致性能问题和代码质量问题。


现在,我们来看看如何将这两种技术结合起来。使用Web组件和跨平台框架可以让你搭建你的虚拟王国,充分利用Web组件的可重用性和灵活性,同时充分利用跨平台框架的跨平台能力和效率。



当然,这并不是说将Web组件和跨平台框架混合在一起就是万无一失的。你需要仔细考虑你的应用场景,确保使用这两种技术的方式是最优的。


比如,你可以使用Web组件来构建你的用户界面,然后使用跨平台框架来将Web应用程序转换为移动应用程序。这样,你就可以在多个平台上运行相同的代码,而且用户体验也会更加一致。


或者,你可以使用跨平台框架来编写你的应用程序逻辑,然后使用Web组件来定制你的用户界面。这样,你可以在不同的Web应用程序中重用你的用户界面,而且你的应用程序逻辑也可以在多个平台上运行。


再者,你也可以将这两种技术都使用在同一个应用程序中。这样,你可以充分利用Web组件的可重用性和灵活性,同时充分利用跨平台框架的跨平台能力和效率。只要你能合理地使用这些技术,就可以打造出更好的Web应用程序。


Web组件和跨平台框架都是非常有前途的技术,它们可以为现代Web开发带来很多好处,为我们带来更加灵活、高效和强大的Web开发工具和平台。无论是Web组件还是跨平台框架,它们都是我们构建虚拟王国的重要基石。


八、前端安全问题


在当今数字化时代,前端安全已成为互联网世界中的重要一环。不管是个人用户,还是企业机构,前端安全都需要被高度重视。尽管我们已经发展出了各种各样的安全技术和防御手段,但是前端安全问题仍然是一个不断增长的挑战。


8.1 XSS攻击:你的网站很容易被攻击


你听说过XSS攻击吗?这种攻击方式是通过篡改网页的HTML并在用户浏览器中注入恶意代码的一种攻击方式。这些恶意代码通常是JavaScript脚本,它们可以被用来窃取用户的敏感信息,如用户名、密码、银行账户信息等等。


如果你的网站存在XSS漏洞,那么恶意攻击者就可以在你的网站上注入一些不良代码,这些代码可能会窃取用户的登录凭证或者其他敏感信息。所以,尽管你的网站已经被SSL加密保护,你的用户仍然面临着被XSS攻击的风险。



如何防御XSS攻击呢?其实非常简单,你只需要在所有的输入框中过滤掉所有的HTML标签和JavaScript脚本即可。但是,如果你认为这么做会影响用户体验,那么你可以考虑使用HTML的特殊字符转义功能来替换这些标签和脚本。


8.2 CSRF攻击:请勿相信恶意链接


现在让我们来谈谈CSRF攻击。这种攻击方式是通过篡改用户的HTTP请求来伪造用户的身份,从而进行一些非法的操作。这种攻击方式通常是通过欺骗用户点击一个恶意链接来实现的。一旦用户点击了这个链接,攻击者就可以获得用户的凭证,然后模拟用户的请求,从而执行一些非法的操作。


假设,你的网站有一个删除账户的功能,攻击者就可以利用CSRF攻击来让用户误删除自己的账户。这听起来非常可怕,但是不要担心,我们可以通过一些简单的方法来防御这种攻击。


首先,我们可以在所有的表单提交中添加一个随机的Token值。这个Token值可以通过后台生成,然后在前端将其嵌入到表单中。当用户提交表单时,我们可以检查这个Token值是否匹配,如果不匹配,则拒绝这个请求。这样就可以简单的避免CSRF攻击了。


8.3 CSP策略:请勿允许不信任的资源


CSP策略是一种非常有用的前端安全措施。CSP策略可以帮助我们限制网页中可加载的资源,从而减少被攻击的风险。例如,我们可以限制只允许加载来自指定域名的JavaScript文件,这样就可以避免恶意代码的注入。


但是,如果你不小心将不信任的资源允许加载到你的网页中,那么你的网站就可能面临被攻击的风险。假设你的网站允许用户上传文件,并在网页中显示这些文件,如果你没有限制文件的类型和内容,那么攻击者就可能上传恶意文件,并在用户浏览器中注入恶意代码。



所以,如果你想保证你的网站的安全性,那么你应该始终谨慎地过滤用户上传的文件,只允许加载来自可信任来源的资源。


我们可以认识到,前端安全是一项非常重要的技术挑战。如果你是一位前端开发人员,那么应该始终将前端安全作为开发过程中的一个重要考虑因素。只有这样,我们才能够为用户提供安全可靠的Web服务。


九、前端工程师的多元化技能


作为一名前端工程师,一定是个充满多元化技能的大神。不仅仅要会写代码,还要会与设计师沟通,管理版本控制,解决兼容性,甚至还要有点艺术细胞。





  1. **代码技能:**前端工程师最基本的技能,也是最重要的技能。不仅需要掌握 HTML、CSS、JavaScript,还需要掌握一些前端框架和库,比如 React、Vue、Angular 等。当然,这些都不是问题,对于一名优秀的前端工程师来说,这只是小菜一碟。




  2. **与设计师沟通:**设计师们总是有各种奇怪的想法,然后她们会告诉你:“我要实现这个效果,你帮我写一下”。但是,很快会发现这个效果并不现实,于是你需要与设计师进行沟通,告诉她们这个效果无法实现。当然,你不能用技术术语来向她们解释,否则她们会摆出一副“我听不懂”的表情。所以,你需要用她们喜欢听的语言,比如“我理解你的设计需求,并深刻认识到其对于网站效果的重要性。不过,由于技术和浏览器的限制,我们需要寻找其他的可行方案来实现类似的效果,以保证网站的性能和可访问性,我会尽最大的努力提供最佳的解决方案。”




  3. **管理版本控制:**代码管理是一个很重要的问题,特别是当你和其他人合作的时候。你需要使用Git进行版本控制,这样才能确保代码的稳定性和可靠性。当然,你也需要了解一些Git的命令,比如 commit、push、pull 等等。不过,如果你不小心把代码弄挂了,那也不用担心,只要跟团队的其他成员说“我不小心把代码弄挂了”,他们就会告诉你怎么做了。




  4. **解决兼容性:**不同的浏览器之间有很多不兼容,而前端工程师需要解决这些问题。比如,IE浏览器总是出现各种奇怪的bug,但是你不能告诉用户:“你用的是IE,这不是我的问题”。相反,你需要找到问题的根源,然后解决它。这是一个非常重要的技能,因为它涉及到用户体验和网站的稳定性。




  5. **有点艺术细胞:**前端工程师不仅仅是一个代码的机器,还需要有一点艺术细胞。毕竟,好的界面设计是网站的关键之一。所以需要了解一些基本的设计原则,比如颜色搭配、排版等等。当然并不需要成为一个设计师,但是需要知道如何运用这些原则来改进网站的设计。




  6. **学习新技能:**前端工程师是一个不断学习的过程。每天都有新的技术和框架出现,并且要不断学习并掌握这些技能。但是,并不需要成为一个全栈工程师,只要掌握所需要的技能,然后专注于自己的领域即可。当然,这也意味着要学会如何筛选有用的信息,因为不可能学习完所有的技术和框架。




  7. **解决问题:**前端工程师是一个解决问题的岗位。当网站出现问题时,需要迅速找到问题的根源,并解决它。但是,也不一定要独自解决所有的问题,可以向同事寻求帮助,或者参加一些开发者社区来寻找解决方案。最终要记住的是,解决问题是前端工程师最重要的技能之一。




  8. **与团队合作:**前端工程师需要和设计师、后端工程师、测试人员等等进行合作,以确保网站的成功。在与团队合作中,要学会如何与不同的人合作,并且尽力避免出现冲突。





前端工程师需要掌握很多不同的技能,但这并不意味着要成为一个万能的人。相反,只需要专注于自己的领域在不断地技术学习过程中成长。


十、AI与前端技术结合


回顾过去,畅想未来,立足当下,来讲个故事吧。


在一个遥远的星球上,有一个叫做前端技术的孤独王国。这个王国的居民们都是非常优秀的程序员,他们用HTML、CSS和JavaScript这三种神奇的武器来构建网站,为用户带来无尽的愉悦。然而,这个王国有一个问题,那就是他们一直无法征服一个名为AI的神秘国度。


终于有一天,一个勇敢的前端战士——HTML骑士,决定向AI国度发起挑战。他带着两个小伙伴:CSS猎人和JavaScript法师,踏上了一段充满挑战的探险之旅。



他们沿着神秘的网络海洋航行,一路上遇到了各种令人捧腹大笑的趣事。先是在一个叫做布局的洲际,他们被一群叫做“浮动”的怪兽困扰,CSS猎人拔出了他的弹性盒子弓箭,一箭穿心,解决了怪兽。接下来,他们来到了一个充满奇特生物的动画之地,JavaScript法师用他的神奇魔法,让这些生物如同表演马戏团一般,给他们带来了一场场精彩绝伦的表演。


然后,他们终于来到了AI国度的边境。在那里,他们遇到了一个脾气古怪的巨人,他叫做机器学习。这个巨人用一种叫做数学的强大力量来支配着这片土地。HTML骑士认为,要征服这个国度,就必须挑战巨人,并将他的力量与前端技术融合。



于是,在他们与巨人大战三百回合后,JavaScript法师从中意外领悟了神奇魔法,召唤出一个叫做TensorFlow.js的强大法宝。这个法宝让前端技术也能够掌握机器学习的力量。HTML骑士和CSS猎人纷纷表示赞叹,他们觉得自己终于找到了一种将AI与前端技术结合的方法。


在这之后,他们三人一起用TensorFlow.js建立了一个名为“智能前端”的新城堡。这座城堡里,前端技术与AI融合得天衣无缝,为用户带来前所未有的体验。


城堡的大门上,HTML骑士精心设计了一个智能问答系统。这个系统可以回答用户关于前端技术的各种问题,让新手程序员们感叹不已。而这一切,都得益于TensorFlow.js和机器学习的神奇力量。


城堡的内部,CSS猎人则利用AI技术打造了一套全新的自适应布局。这套布局能够根据用户的喜好和设备自动调整,让每个访问者都能享受到最佳的浏览体验。他还研发了一种名为“智能配色”的神奇法术,能够根据用户的喜好自动调整网页的颜色搭配,让网站变得更加美观大方。



而在城堡的核心区域,JavaScript法师则运用AI技术开发了一系列令人惊叹的交互功能。比如,他创造了一种可以根据用户行为自动优化的推荐算法,将用户感兴趣的内容精准推送。此外,他还设计了一款智能聊天机器人,可以与用户进行即时互动,解答他们的疑问。


在“智能前端”城堡的建设过程中,他们三人不仅发挥出了各自的特长,还不断地学习AI技术,将其与前端技术相互融合。这让他们的作品充满了趣味与智慧,吸引了无数程序员和用户前来参观。


在这段充满挑战的探险之旅中,HTML骑士、CSS猎人和JavaScript法师用他们的智慧和勇气,成功地将AI技术引入前端领域。他们的故事传遍了整个网络世界,成为了程序员们争相传颂的佳话。



如今,前端技术和AI的结合已经成为了一种趋势,越来越多的开发者开始探索这个领域的无限可能。而在这个探索过程中,他们总是能从HTML骑士、CSS猎人和JavaScript法师的故事中汲取勇气与智慧,勇往直前,为未来的网络世界描绘出一个更加美好、充满创意和智慧的蓝图。


有人说,前端技术与AI的结合就像一场狂欢。程序员们欢笑着跳动,发挥着自己的想象力,创造出一个又一个令人叹为观止的作品。在这场狂欢中,每个人都是舞者,每个人都是艺术家,每个人都在为这个美丽的网络世界贡献着自己的力量。


如同那个遥远的星球上,那个欢呼雀跃的前端王国,如今我们所生活的这个网络世界也充满了欢声笑语。而在这片欢乐的土地上,那些勇敢的前端战士们正携手AI,共同书写着属于他们的传奇!



随着技术的不断发展,我们相信前端技术与AI的结合将会走得更远,创造出更多不可思议的奇迹。也许有一天,我们的网络世界将变得如同童话般美好,充满智慧的光辉。而在那个时候,我们将不禁想起那个勇敢的HTML骑士、CSS猎人和JavaScript法师,怀念他们当年那段充满挑战的探险之旅,为他们的勇气与智慧而感慨不已。


在探险的道路上,我们将一路欢笑并肩前行,勇敢地追求那个梦寐以求的未来。也许在某个不经意的瞬间,我们会发现,那个童话般的前端王国,其实就在我们心中,等待着我们去探索、去发现、去唤醒它,让它绽放出最耀眼的光芒。


后记


前端技术的演进从未停歇,仍然充满了机遇与挑战……


让我们一起期待下一个十年,见证前端技术的更多精彩!


作者:京东云开发者
来源:juejin.cn/post/7220164534315548731
收起阅读 »

面试官:你为什么你觉得你值 30 k💰

☀️ 前言大家好我是小卢,这段时间很多群友都去面试了,而遇到最多的一个不会回答的问题就是:你为什么你觉得你值xxk,我今天就简单说一下我的看法。首先,面试官问的这个问题与自我介绍不同,因为他更看重面试者作为前端开发人员的技能、经验和价值。虽然自我介绍可能会涉及...
继续阅读 »

☀️ 前言

  • 大家好我是小卢,这段时间很多群友都去面试了,而遇到最多的一个不会回答的问题就是:你为什么你觉得你值xxk,我今天就简单说一下我的看法。

  • 首先,面试官问的这个问题与自我介绍不同,因为他更看重面试者作为前端开发人员的技能、经验和价值。虽然自我介绍可能会涉及这些内容,但这个问题的回答通常会更全面地概述一位面试者的背景、兴趣和职业目标

  • 其次面试官问这个问题,并不是只看你自己的能力,而是想看看你到底可不可以通过简短的几分钟说服他,让他更清楚知道你几斤几两,如果这时候你连自己都无法说服,那么基本上面试就无望了。

  • 想要回答这个问题,你可以从这三个方面去回答,我会给出一些我总结的模版和简单说明,如果大家有需要可以收藏起来喔💖

    • 工作经验

    • 学习能力

    • 职业规划

✍🏻 工作经验

我会这样说:

  • 我相信我是贵公司该前端开发岗位的有力候选人。我在 ReactVueNode.js 等现代 Web 技术方面拥有丰富的经验。

  • 我在工作中熟练使用前端技术来创建可扩展高效响应迅速的复杂用户界面。

  • 在曾经的工作中,我负责了xx个大大小小的项目,其中x个项目作为主要开发人员,x个项目为主要开发人员,从小型网站到复杂的 Web 应用程序的各种项目上都有丰富的工作经验。

为什么❓

  • 在介绍自己的技术栈时,通过强调在流行的前端框架方面的经验,可以证明自己拥有处理复杂项目交付高质量结果的能力。

  • 通过突出我在各种项目中的工作经验,可以向面试官证明自己拥有广泛的技能并且可以适应不同的项目类型和环境。

  • 因为这会体现自己就像变色龙一样,有能力适应周围的环境并无缝融合。无论是小型项目还是复杂的企业项目,都具有调整方法和交付满足客户需求的结果所需的灵活性和多功能性。


📖 学习能力

我会这样说:

  • 我相信我的快速学习适应能力是我可以胜任这个岗位的关键优势。

  • 作为一名前端开发人员,我明白技术领域在不断发展,学习与时俱进的框架和工具对于交付高质量的工作至关重要。

  • 在我以前的工作中,由于业务的特殊性,我经常会遇到一些奇奇怪怪的挑战和问题,这需要我接触很多我不会甚至没听过的新技术

  • 围绕工作学习这是我的习惯,每当遇到新技术或新鲜事物时,我都会花时间深入研究,以便充分理解其底层原理以及如何在工作实践中应用。这使我能够从多个角度处理问题拓展我自己的知识广度和深度多学科发展并针对每个特定项目提出更好的解决方案。

为什么❓

  • 这可以通过强调自己的学习能力,向面试官证明自己有能力接受新的挑战适应不断变化的环境

  • 通过你能围绕工作学的特点,表明我在职业发展中有上进心积极主动的心态。

  • 这对面试官来说是一个究极无敌有吸引力的品质,因为这可以表明面试者不满足于固步自封,而是一直在寻找新的方法来提高和扩展自己的技能。


🔝 职业规划

我会这样说:

  • 当然啦,我至今在前端岗位也工作了x年了,我对前端开发的职业生涯还是有着清晰的愿景的。

  • 在未来几年,我希望继续加强我的技术技能专业知识,这不管对我以后想做管理层或者架构都很有帮助,我的目标是通过自己的影响力和努力成为前端开发社区公认的专家。

  • 我也渴望在我的组织中担任更大的领导角色,有可能管理一个开发团队并为公司的战略方向或者团队发展做出贡献。

为什么❓

  • 这可以表明自己的职业目标和抱负,向面试官证明在自己的职业生涯中有明确的目标和方向,并且有动力为自己和所工作的组织取得成功。

  • 很多面试官都喜欢有自己主见的人,这种人有自己的思考一般都有很大的潜力快速成长并且容易接受新的挑战

  • 在面试前可以尽可能多了解一下公司JD,展示个人目标与公司的目标之间的有强烈一致性,这可以表明愿意致力于为公司的成长和发展做出贡献。

👋 写在最后

  • 一个小小的问题其实也有大大的学问,但只要你足够自信,相信所有问题都不是问题。

作者:快跑啊小卢_
来源:juejin.cn/post/7217086166418784313

收起阅读 »

辞职卖烤肠

前景 为35后做准备 找到一个合适的位置 周末出门多转转,找个人多的地方、并且容易饿的地方 营销策略 制定一个LOGO,视频中up的摊子叫公路商店 准备个小黑板 带个好看的围裙 头套啥的也备上 装备 必要 载具(小电车、自行车) 制作台 (可以展开...
继续阅读 »

前景


为35后做准备


找到一个合适的位置


周末出门多转转,找个人多的地方、并且容易饿的地方


营销策略



  • 制定一个LOGO,视频中up的摊子叫公路商店


image.png



  • 准备个小黑板

  • 带个好看的围裙

  • 头套啥的也备上


装备


必要



  • 载具(小电车、自行车)

  • 制作台 (可以展开的箱子、桌子)

  • 厨具(卡式炉、各式烤盘、酱料瓶子)

  • 收钱码(零钱)


可选



  • 投币机小玩具


卖什么


烤肠



  • 淀粉肠

  • 沙拉酱

  • 番茄酱

  • 黑胡椒酱

  • 孜然

  • 辣椒面

  • 油壶

  • 小刷子

  • 食品袋子
    image.png


润奶宝


甜筒、奶油、棉花糖、小熊饼干的组合


image.png


章鱼小丸子



  • 原材料 (面粉、鸡蛋、奶油)

  • 配菜(洋葱、芝士)

  • 定价 (12元/4个、15元/6个)


周末机车露营节集市,章鱼小丸子依旧是游客的宠爱,现场歌舞助兴_哔哩哔哩_bilibili


image.png


手工冰淇淋



  • 保温桶

  • 学习制作

  • 脆皮桶

  • 定价(3元/个)

  • 要用动物奶油


接完女儿放学,再一起骑着二八大杠去摆摊赚钱,多少人儿时的回忆_哔哩哔哩_bilibili


image.png


刨冰



  • 刨冰机


30℃的天气,我用樱桃小丸子刨冰机贩卖快乐_哔哩哔哩_bilibili


image.png


作者:codeniu
来源:juejin.cn/post/7220351836331311159
收起阅读 »

做个清醒的程序员之努力工作为哪般

如果要问自己这样一个问题:“我们工作的意义到底是什么?”会得到怎样的答案? 是为了安身立命?是为了满足别人的期待?是为了得到社会的认同?抑或是索性认为工作是无意义的? 如果我说:工作的意义在于自我实现,你会同意吗?你会觉得这样的观点很片面吗?你会觉得这很理想化...
继续阅读 »

如果要问自己这样一个问题:“我们工作的意义到底是什么?”会得到怎样的答案?


是为了安身立命?是为了满足别人的期待?是为了得到社会的认同?抑或是索性认为工作是无意义的?


如果我说:工作的意义在于自我实现,你会同意吗?你会觉得这样的观点很片面吗?你会觉得这很理想化吗?


其实,依我的工作经验来看,上面列举出的常见答案其实都有道理。人在不同的阶段,不同状态,工作的意义便会发生变化。


坦率地讲,我从开始工作之后,就下定决心不再啃老。简单地说,就是不再向父母伸手要钱。于是,如何保障自己的温饱就是我工作的最首要和最基本目的。也就是说,我刚开始的时候,工作就是为了挣钱。


刚起步的时候我一个月有多少工资呢?很少,2500块。即便是毕业后转正,拿到手也只有三四千块。


但是,这些钱已经可以很好地满足我的温饱需要。即使我出去租房,不在家吃饭,这些钱其实也是够的,只不过很可能剩不下分文。很感谢我的父母,在我事业刚刚开始的时候,照顾了我的起居生活。


一开始,我眼中工作的意义就是为了能养活我自己,就是为了那三两碎银。所以,为了养活自己而选择工作,挣钱,然后达到目的,我至今也不觉得有什么丢人的。


后来呢?因为我一直在家吃饭,午饭的话公司也有食堂,所以基本没什么开销。唯一生活上的花销就是衣服和鞋,可偏偏我穿衣穿鞋算是比较省的,一件衣服基本上少说穿个四五年,鞋的话就更久了,我现在还经常穿七八年前买回来的经典款。我认为穿衣方面,买经典款总是不会错,而且很难因为流行趋势而过时。


话说回来,随着我的小金库慢慢积累变多,我就不愁“安身立命”的目标了。因为我是家族后代中唯一的男性,所以心中总会有一种使命感,虽然没有人给我这方面的压力。我感受到的最大的责任感其实是想让家人生活得更美好的目标,虽然我父母在这方面依然没有表现出很大的期待。


于是凭着这个我自认为的“责任感”,一直努力工作了很多年。其实我的想法很简单,就是想让爱自己和自己爱的人过得好一点。我觉得凭本事挣更多的钱,然后达到这个目标,更是无可厚非的事情,也没什么错。


后来呢?我其实很早就有写博客的习惯,随着读者对我的文章产生认同,更重要的是有出版社编辑的认同,我就产生了要获得社会认同感的目标。虽说是“社会认同感”,其实它所包括的内容很广泛。比如读者的、家人的、老同学的、(前)同事的等等。这种“社会认同感”还会顺便带来他人的尊重甚至是敬重。至少我这次的工作和上次的工作,在面试的时候基本上技术方面是被认可的,免去了“八股文”的考验。不过老实讲,如果考验我面试“八股文”,大概率我还真得吃败仗。


再到现在,金钱对我的诱惑依然存在,但已经大幅降低了。更多的是考虑如何实现自己的价值,真正地释放自己的潜力,对这个社会,对这个世界发挥光和热。也就是我在一开始说的“工作的意义在于自我实现”。


好了,这就是我的故事。一开始为了满足温饱,我去工作,去挣钱;后来,为了得到别人的认可,获得社会认同感而努力工作,顺便把钱给挣了,引一句读者的评论:“挣钱是重要的事情中最不重要的”;再到现在,自我实现对我是最重要的。


所以,在不同阶段,不同状态,对工作意义产生不同的观点,我觉得都是正常的,也都是正确的。


但是,你知道吗?在我刚刚工作的时候,我就立下目标,要在这个世界上留下点什么,留下自己活过的印记,不想虚度此生。但当时无论如何也想不到,自己会成为作者,通过文字和图片把枯燥的编程知识教授给需要的人。


不知道你有没有听说过“马斯洛需求层次”,莫名其妙地,从一开始我就攀登这个需求金字塔,直到现在,已过去十余年。


有读者说我是“长期主义者”,以现在的认知,我愿意做一个“长期主义者”。但当初的我,哪懂什么“长期主义”。我更偏向于用“轴”、“固执”或是“不见棺材不落泪,不撞南墙不死心”这类的修饰词来形容自己。所幸的是,在我“固执”的一路上,受到了很多人的帮助与支持,还有上天的眷顾。“运气”、“机遇”占了很大的比重。


回到最初的问题:“我们工作的意义到底是什么”?如果我们对一个疲于奔命的人说:“你要实现自我”。很遗憾,“实现自我”在这个人眼中,也许就只是保障温饱,他甚至会转过头来和别人说我们是神经病。因为阶段不同,状态不同,追求的东西自然也会不同。也许这很无情,很冷血。但它很真实,也很正常。


但即便我们处在最开始的温饱阶段,着眼于生计,但目光一定要看到那个“未来”,坚定不移地坚持走“长期主义”的道路。


另一方面,在学校里,往往努力就会有结果,这是具有极大的确定性的。踏入社会之后,这种确定性消失了,我们往往努力了,却并没有得到想要的结果。很多人在鼓吹“选择大于努力”,选择固然重要。选错了,越努力,走得越偏。但这种话听多了,就要当心它是否成为了不努力的借口。努力是为了在机会到来的时候,我们有能力抓住他。这就好像不慎跌落坑里的人,有人扔绳子救他,他得努力抓住绳子,才有被救的可能。如果一味求救,却不选一种力所能及的方法去做,无论有多少次生还的机会,也会错过。


所以,任何时候也不要轻视努力与坚持的重要性。这看上去很笨很傻,但它却是每一个平凡人实现“自我价值”的可行之路。就像歌中唱的那样:“老天爱笨小孩”。在这个充满不确定性的时代,更应如此。不确定性就像基因突变,可能会变糟,也可能会变好。当有好事到来时,便是好运来临之际。和“选择大于努力”相比,我更倾向于相信“机会总是留给有准备的人”。这句话出自法国著名的微生物学家、化学家路易斯·巴斯德,告诫人们:机遇往往不易察觉,可遇不可求,容易稍纵即逝。作为普通人,若要抓住机遇,就要把功夫用在平时,甚至是有点傻的、偏执的努力。


作者:萧文翰
链接:https://juejin.cn/post/7218731620723638333
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

30岁女程序媛,能有什么好出路?

前言 最近技术社群上随处可见“前端已死”的观点,主要是经济环境和市场供需关系决定的;也可能是人工智能chatGPT一个demo,一张页面的草图,通过chatGPT可以生成一个完整的网站,就连按钮功能也用JS写好的;这些在一定程度上引发了作为前端从业者的焦虑。这...
继续阅读 »

前言


最近技术社群上随处可见“前端已死”的观点,主要是经济环境和市场供需关系决定的;也可能是人工智能chatGPT一个demo,一张页面的草图,通过chatGPT可以生成一个完整的网站,就连按钮功能也用JS写好的;这些在一定程度上引发了作为前端从业者的焦虑。这不禁的引发我们的思考,以及我们要做出一些应对的策略。作为程序员的我们,还有好出路吗?一名30岁的程序媛,能有什么好出路。


谁的青春不迷茫


我是出生于农村的一个普通女孩,经过河南省激烈的高考竞争,我考进河南一个普通的大学,大学所选的专业是计算机网络技术,大学期间,我对未来我要从事什么职业很迷茫,每天浑浑噩噩,得过且过。后来我听从家人的建议出去找实习,不在意薪资的高低,只为寻找适合自己的职业发展方向。在经过了服装销售、网页设计、经理助理等多种尝试后,我最终找到了适合我的职业发展方向,那就是前端开发,同时我参加了统招专升本考上了省内还不错的二本,全日制就读两年。


当时的前端开发被称做网页制作工程师,于是我从2014年暑假开始在慕课网上自学前端开发,刚一接触这一领域,我就深深被吸引住,如饥似渴的吸收着这方面的知识,平时没课我基本上都在宿舍抱着我的华硕电脑和一本红宝书自学前端开发。当时大学毕业时,我仅在慕课网上学习时长积累了 1200+小时


在大三期末的时候,由于我的努力,我获得了360第一届前端星校招实习名额,我跟学校请了两周的假,到360北京总部参加 【360前端星】 ,经过两周的培训后,很遗憾,我没有拿到offer,当时360培训的导师给的意见,可以把计算机基础打扎实,再考个研提升提升学历。


第一届360前端星.jpg



里面有你熟悉的面孔吗?



回去我自己分析我的情况,有三方面劣势。



  • 学历自卑:当时参加前端星的同学学历都很优秀,清一色985、211高校,相比较下我就很感到很自卑,我就读于双非二本,而且还是专升本,在学历上我没有优势。

  • 专业技能:我的前端技能主要靠在慕课网自学,而其它同学基本都跟着自己的导师做过一些项目,有实际的开发经验,而我从技术深度到技术广度都不太行。

  • 综合素质:在培训期间是那种不敢站出来说话,害怕说错话,当然也没有才艺,更没有积极展现自己。


360.jpeg


回到学校后,我深思熟虑后,决定考研来提升自己的学历。我当时的想法是只要拼命学,考上985、211就有希望。我踌躇满志,做好了拼命努力的心理准备。暑假期间,我复习的很认真,到了最后甚至有一种不在乎结果,单纯追求梦想的悲剧英雄主义。不过遗憾的是,我备考存在很多问题:学习方法上、还有备考院校、自主命题等信息差、资源差。初始分数还没出来,我隐约知道自己没有希望了,果不其然,来年分数出来,我落榜了。经过一段时间的失望和彷徨,我鼓足勇气跟家里人说我想去北京找实习,于是从家里拿了1万的生活费,开始了自己的北漂之旅。


重拾梦想


工作很多年后,每每想起考研失利,总是有些遗憾,我知道失去和失败是人生常态,可是我好想考研,好想成为研究生,最后已经有些魔怔,我就是要考,我这辈子注定是个研究生。放弃是一件容易的事,气一松,力一卸,就能完全放下。但是总有一份心底的坚持,让你不由自主的重燃斗志。一件事可以暂时不做,但不要彻底放弃,而从内心否定自己。于是我再次开始了我的在职考研之路。


择校


这次我没有选择计算机专业,计算机硕士考试,科目多并且难度大,跟身边的朋友了解后,发现MEM项目管理相对比较适合我,仔细对比了MBA和MEM的院校、分数、招生情况,我选择了北xMBA,毕竟按照往年的情况,报考北xMBA的只要过国家线,就能录取。这次应该是我离硕士最近的一次了吧。


平衡


在完成日常工作的同时,我还需要抽出足够的时间复习备考,这个任务很艰巨。不得不提一点的是,我在小组,新来的小组长拉帮结派、挤兑人,我们业务线,承接国内大小节日活动的前端开发。很过分的是,新组长把去年后半年都安排给我做(包括,但是不局限于,五一活动、六一活动、七夕活动、中秋活动、双11活动、2023春节活动),几个人的小组,我一个人承接了后半年的所有节假日活动,不仅仅要开发,每个节假日晚上凌晨12点我都要值班。由于我的业务量很饱和,再加上我要备考,我就没太多的时间和精力去搞KPI,我也不想多事,就忍了下来。


WechatIMG483.jpeg


阳了


2022年12年7号月份疫情放开,我做好一切措施,防止自己阳了影响备考,但是十几号的时候我还是中了,我开始发烧,我全身酸痛地躺在床上,难受的完全不能学习了,幸好我对象照顾了几天,我退烧能下床了我对象又病倒了,我只能先照顾他,抽空做押题和最后的查漏补缺。由于近两周都多没能好好学习,变的极其焦虑和急躁。


考研需要上报阴阳情况的时候,我还是阳性,后来就给分到阳性考场。阳性考场,咳嗽声此起彼伏。


WechatIMG506.jpeg


考完最后一场出来,见到那天的晚霞,真美。
晚霞.jpeg


今年2月份公布了考研初试分数,按照往年的情况我是能过初试的,我开始积极备考复试。梳理我的过往经历、了解所在公司的营收模式、剖析公司所在行业的发展前景以及竞对的优缺点。以及最近的热点新闻和二十大政治相关内容。面试那天我穿着我的小西服战袍走进了考场,在这之前,我刻意模拟了两次复试面试,我怀着淡淡的期待和自信考完了。


上周公布了拟录取名单,我被录了(圆了对象的北*梦)。我把消息发到家人群里,全家人都很开心,我还领了我爸的大红包,心里美滋滋~(终于上岸了)。


THE END


WechatIMG87.jpeg


也许备考期间我减少了与家人的联络,忽视了KPI,但是我自认为我兢兢业业,超低bug率、无线上事故。我想说我尽力了,我不够完美,在时间和精力上不能很好的平衡。也许根本没有平衡,只能取舍。愿我在自己存在的地方,成为一束光,照亮世界的一角。我是一个30岁的程序媛,我不知道哪里有更好的出路。我之前很卷,一直在卷工作;去年我换了一个赛道卷,卷学历;如今我上岸了,再卷回工作。也许你会说前端已死,但是逃避,就肯定输家。唯有面对,才是出路的第一步。


作者:尤小小
链接:https://juejin.cn/post/7217831695882584122
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »

俞敏洪:我曾走在崩溃的边缘

大家在人生的经历中遇到过很崩溃的事情吗? 我遇到过,遇到这类事情的时候,我会读读名人传记,看看他们有没有遇到我和我类似的事情;他们是怎么处理这些事情的;或者说他们的心路历程是怎么样的。他们的应对方式可能会对我有所启发。 长时间下来,这个习惯让我对名人的苦难经历...
继续阅读 »

大家在人生的经历中遇到过很崩溃的事情吗?


我遇到过,遇到这类事情的时候,我会读读名人传记,看看他们有没有遇到我和我类似的事情;他们是怎么处理这些事情的;或者说他们的心路历程是怎么样的。他们的应对方式可能会对我有所启发。


长时间下来,这个习惯让我对名人的苦难经历或者处理棘手问题的经历有强烈的好奇心。最近,读了俞敏洪的自传《我曾走在崩溃的边缘》,感觉挺有意思。


俞敏洪是新东方的老板,在“双减”政策之后,新东方转型做了直播,也就是大家熟知的东方甄选,可能很多人还买过他们直播间的大米。当然,我没有买过,因为理智促使我很少为情怀买单。


离开北大


俞敏洪曾经是北大的老师,他的梦想是出国留学。但老师的工资低,很难赚够出国的学费。作为南方人的他,天生的商人基因让他找到了赚钱的路子——开英语培训班。这条路子获得的收入比工资高十几倍,利润十分丰厚。


于是,他打着北大的招牌私下招生,这意味着和北大“官方”的托福培训班形成了竞争关系。学校当然不会允许北大老师和北大抢生意,况且学校禁止老师私下办培训班。俞老师无法避免地和校领导发生了冲突,并因此被处分。


图片


处分的通告在学校的高音喇叭上足足播了一个礼拜,这件事情闹得人尽皆知,对俞敏洪名声的伤害极大。后来,学校分房自然没有俞老师的份了。在中国的社会体系下,名声对一个人来说极其重要。这种“德治”社会虽然在人口大国里对秩序起着巨大的作用,但也给一些人带来了巨大伤害。一遭名声败坏,要背一辈子,这对当事人是多大的打击。


那时俞敏洪已经结婚,本可以在大学教书过安稳的生活,但这一纸处分,让他决定从北大离职。最后,他骑着三轮车拉着家当离开了北大,开启了新东方的事业。


图片


死磕办学证


办培训班需要办学证,类似于现在的牌照。如果没有就无法公开招生,这意味着无法扩大规模。俞敏洪没办法,找了当时一个叫东方大学的机构联合办培训班,条件是支付总收入的25%给东方大学。


东方大学不参与招生、培训等所有事情,却要分掉一大笔钱。随着培训班的规模越来越大,俞敏洪意识到这不是长久之计,他决定就算再难,死磕也要把办学证拿到手。


要拿到办学证要符合两个条件:一是必须有大学副教授以上职称,二是要经原单位同意。


俞敏洪在北大只是讲师,没有副教授职称,而且北京大学处分了他,不可能同意他办学。两个条件都不符合,教育局直接拒绝,并叫他不要来了。


不得不说,俞老师的脸皮是够厚的,每隔一两星期就去教育局和办事的人聊天,久了大家就混熟了。


大概耗了半年,教育局放低了办学的要求,只要他能够在人才交流中心拿到允许办学证明就放行。可是人才交流中心的工作人员根本不给他开证明。直到遇见他一个在这里工作的学生,在她的帮助下才拿到证明。


办学证到手后,俞敏洪离开东方大学,开始独立办培训班。原来的“东方大学外语培训部”这块招牌积累了相当的名气,新东方成立后,大量学生还去那边报名。为了顺利切换品牌,新的培训机构起名叫新东方,而且从东方大学买断了“东方大学外语培训部”三年的使用权,每年支付20万。


这一系列的操作,可见俞敏洪有相当不错的商业头脑。


被赶下董事长的位置


中国是一个人情社会,比如亲情、友情、同学情。在这种社会成长起来的人,自然会想到找自己熟悉的人一起做事业。俞敏洪也不例外。新东方的培训班办得风生水起,俞敏洪开始寻找人才。


除了拉亲人朋友入伙,他还出国把大学同学王强、徐小平拉回来一起跟他干事业。这三人被称为“东方三驾马车”,也就是电影《中国合伙人》的原型。


image.png


亲人、同学、朋友之间,天然有信任感,在事业的初创阶段一起工作沟通效率非常高,而且为了共同的目标,凝聚力非常强。


当公司到了一定的规模,这种人情关系构建起来的团队,会使公司的人事关系变得非常复杂。


一是,团队没有组织架构,决策效率低下;二是,老板没有话语权,下面的人不知道该听谁的,却谁都不敢得罪。


后来,在新东方改革期间,创始团队出现各种矛盾,俞敏洪无法短期内处理好这些矛盾,被管理层认为是不合格的董事长。于是,俞敏洪从位置上退了下来。


退位期间,其他几个领导轮流做主,也无法处理好团队的矛盾。俞敏洪开始大量阅读公司管理、股权管理的书籍,积累比其他领导更丰富的管理知识。两三年后,他重新回到董事长的位置上。


他能回到位置上,管理知识是一方面,我斗胆猜测,运气的成分占比很大。毕竟被自己的公司赶走的大有人在。


结尾


除了上面3个故事,俞敏洪还有很多非常精彩的故事,比如“被抢劫险些丧命”、“知识产权侵权风波”、“新东方上市”、“遭遇浑水公司做空”等等。


语言是思想的外衣。他来自农村,《我曾走在崩溃的边缘》这本书语言坦诚,像他本人一样。他的人生非常精彩,展现了他强大的韧性。


他的成功,有时代的机遇,也有个人的努力。我们可能无法准确把握时代的机遇,但可以学习他的努力和韧性,在崩溃之时屹立不倒。


作者:华仔很忙
来源:juejin.cn/post/7218487123212091450
收起阅读 »

一天高中的女同桌突然问我是不是程序猿

背景 昨天一个我高中的女同桌突然发微信问我“你是不是程序猿 我有问题求助”, 先是激动后是茫然再是冷静,毕业多年不见联系,突然发个信息求助,感觉大脑有点反应不过来... 再说我一个搞Android的也不咋会python啊(不是说Java不能实现,大家懂的,人...
继续阅读 »

背景


昨天一个我高中的女同桌突然发微信问我“你是不是程序猿 我有问题求助”,


image-20211015101843733.png


先是激动后是茫然再是冷静,毕业多年不见联系,突然发个信息求助,感觉大脑有点反应不过来... 再说我一个搞Android的也不咋会python啊(不是说Java不能实现,大家懂的,人生苦短,我用python),即使如此,
为了大家的面子,为了程序猿们的脸,不就简单的小Python嘛,必须答应!


梳理需求


现有excel表格记录着 有效图片的名字,如:


image-20211015103418631.png


要从一个文件夹里把excel表格里记录名字的图片筛选出来;


需求也不是很难,代码思路就有了:



  1. 读取Excel表格第一列的信息并放入A集合

  2. 遍历文件夹下所有的文件,判断文件名字是否存在A集合

  3. 存在A集合则拷贝到目标文件夹


实现(Python 2.7)


读取Excel表格

加载Excel表格的方法有很多种,例如pandasxlrdopenpyxl,我这里选择openpyxl库,
先安装库



pip install openpyxl



代码如下:


from openpyxl import load_workbook

def handler_excel(filename=r'C:/Users/xxx/Desktop/haha.xlsx'):
   # 根据文件路径加载一个excel表格,这里包含所有的sheet
   excel = load_workbook(filename)
   # 根据sheet名称加载对应的table
   table = excel.get_sheet_by_name('Sheet1')
   imgnames = []
   # 读取所有列
   for column in table.columns:
       for cell in column:
           imgnames.append(cell.value+".png")
# 选择图片
   pickImg(imgnames)

遍历文件夹读取文件名,找到target并拷贝

使用os.listdir 方法遍历文件,这里注意windows环境下拿到的unicode编码,需要GBK重新解码


def pickImg(pickImageNames):
   # 遍历所有图片集的文件名
   for image in os.listdir(
           r"C:\Users\xxx\Desktop\work\img"):
       # 使用gbk解码,不然中文乱码
       u_file = image.decode('gbk')
       print(u_file)
       if u_file in pickImageNames:
           oldname = r"C:\Users\xxx\Desktop\work\img/" + image
           newname = r"C:\Users\xxx\Desktop\work\target/" + image
           # 文件拷贝
           shutil.copyfile(oldname, newname)

简单搞定!没有砸程序猿的招牌,豪横的把成果发给女同桌,结果:


image-20211015112550343.png


换来有机会请你吃饭,微信都不带回的,哎 ,xdm,小丑竟是我自己!
小丑竟是我自己什么梗-小丑竟是我自己是什么意思出自什么-55手游网


作者:李诺曹
来源:juejin.cn/post/7019167108185456677
收起阅读 »

做个清醒的程序员之努力工作为哪般

阅读时长约10分钟,共计2268个字 如果要问自己这样一个问题:“我们工作的意义到底是什么?”会得到怎样的答案? 是为了安身立命?是为了满足别人的期待?是为了得到社会的认同?抑或是索性认为工作是无意义的? 如果我说:工作的意义在于自我实现,你会同意吗?你会觉得...
继续阅读 »

阅读时长约10分钟,共计2268个字


如果要问自己这样一个问题:“我们工作的意义到底是什么?”会得到怎样的答案?


是为了安身立命?是为了满足别人的期待?是为了得到社会的认同?抑或是索性认为工作是无意义的?


如果我说:工作的意义在于自我实现,你会同意吗?你会觉得这样的观点很片面吗?你会觉得这很理想化吗?


其实,依我的工作经验来看,上面列举出的常见答案其实都有道理。人在不同的阶段,不同状态,工作的意义便会发生变化。


坦率地讲,我从开始工作之后,就下定决心不再啃老。简单地说,就是不再向父母伸手要钱。于是,如何保障自己的温饱就是我工作的最首要和最基本目的。也就是说,我刚开始的时候,工作就是为了挣钱。


刚起步的时候我一个月有多少工资呢?很少,2500块。即便是毕业后转正,拿到手也只有三四千块。


但是,这些钱已经可以很好地满足我的温饱需要。即使我出去租房,不在家吃饭,这些钱其实也是够的,只不过很可能剩不下分文。很感谢我的父母,在我事业刚刚开始的时候,照顾了我的起居生活。


一开始,我眼中工作的意义就是为了能养活我自己,就是为了那三两碎银。所以,为了养活自己而选择工作,挣钱,然后达到目的,我至今也不觉得有什么丢人的。


后来呢?因为我一直在家吃饭,午饭的话公司也有食堂,所以基本没什么开销。唯一生活上的花销就是衣服和鞋,可偏偏我穿衣穿鞋算是比较省的,一件衣服基本上少说穿个四五年,鞋的话就更久了,我现在还经常穿七八年前买回来的经典款。我认为穿衣方面,买经典款总是不会错,而且很难因为流行趋势而过时。


话说回来,随着我的小金库慢慢积累变多,我就不愁“安身立命”的目标了。因为我是家族后代中唯一的男性,所以心中总会有一种使命感,虽然没有人给我这方面的压力。我感受到的最大的责任感其实是想让家人生活得更美好的目标,虽然我父母在这方面依然没有表现出很大的期待。


于是凭着这个我自认为的“责任感”,一直努力工作了很多年。其实我的想法很简单,就是想让爱自己和自己爱的人过得好一点。我觉得凭本事挣更多的钱,然后达到这个目标,更是无可厚非的事情,也没什么错。


后来呢?我其实很早就有写博客的习惯,随着读者对我的文章产生认同,更重要的是有出版社编辑的认同,我就产生了要获得社会认同感的目标。虽说是“社会认同感”,其实它所包括的内容很广泛。比如读者的、家人的、老同学的、(前)同事的等等。这种“社会认同感”还会顺便带来他人的尊重甚至是敬重。至少我这次的工作和上次的工作,在面试的时候基本上技术方面是被认可的,免去了“八股文”的考验。不过老实讲,如果考验我面试“八股文”,大概率我还真得吃败仗。


再到现在,金钱对我的诱惑依然存在,但已经大幅降低了。更多的是考虑如何实现自己的价值,真正地释放自己的潜力,对这个社会,对这个世界发挥光和热。也就是我在一开始说的“工作的意义在于自我实现”。


好了,这就是我的故事。一开始为了满足温饱,我去工作,去挣钱;后来,为了得到别人的认可,获得社会认同感而努力工作,顺便把钱给挣了,引一句读者的评论:“挣钱是重要的事情中最不重要的”;再到现在,自我实现对我是最重要的。


所以,在不同阶段,不同状态,对工作意义产生不同的观点,我觉得都是正常的,也都是正确的。


但是,你知道吗?在我刚刚工作的时候,我就立下目标,要在这个世界上留下点什么,留下自己活过的印记,不想虚度此生。但当时无论如何也想不到,自己会成为作者,通过文字和图片把枯燥的编程知识教授给需要的人。


不知道你有没有听说过“马斯洛需求层次”,莫名其妙地,从一开始我就攀登这个需求金字塔,直到现在,已过去十余年。


有读者说我是“长期主义者”,以现在的认知,我愿意做一个“长期主义者”。但当初的我,哪懂什么“长期主义”。我更偏向于用“轴”、“固执”或是“不见棺材不落泪,不撞南墙不死心”这类的修饰词来形容自己。所幸的是,在我“固执”的一路上,受到了很多人的帮助与支持,还有上天的眷顾。“运气”、“机遇”占了很大的比重。


回到最初的问题:“我们工作的意义到底是什么”?如果我们对一个疲于奔命的人说:“你要实现自我”。很遗憾,“实现自我”在这个人眼中,也许就只是保障温饱,他甚至会转过头来和别人说我们是神经病。因为阶段不同,状态不同,追求的东西自然也会不同。也许这很无情,很冷血。但它很真实,也很正常。


但即便我们处在最开始的温饱阶段,着眼于生计,但目光一定要看到那个“未来”,坚定不移地坚持走“长期主义”的道路。


另一方面,在学校里,往往努力就会有结果,这是具有极大的确定性的。踏入社会之后,这种确定性消失了,我们往往努力了,却并没有得到想要的结果。很多人在鼓吹“选择大于努力”,选择固然重要。选错了,越努力,走得越偏。但这种话听多了,就要当心它是否成为了不努力的借口。努力是为了在机会到来的时候,我们有能力抓住他。这就好像不慎跌落坑里的人,有人扔绳子救他,他得努力抓住绳子,才有被救的可能。如果一味求救,却不选一种力所能及的方法去做,无论有多少次生还的机会,也会错过。


所以,任何时候也不要轻视努力与坚持的重要性。这看上去很笨很傻,但它却是每一个平凡人实现“自我价值”的可行之路。就像歌中唱的那样:“老天爱笨小孩”。在这个充满不确定性的时代,更应如此。不确定性就像基因突变,可能会变糟,也可能会变好。当有好事到来时,便是好运来临之际。和“选择大于努力”相比,我更倾向于相信“机会总是留给有准备的人”。这句话出自法国著名的微生物学家、化学家路易斯·巴斯德,告诫人们:机遇往往不易察觉,可遇不可求,容易稍纵即逝。作为普通人,若要抓住机遇,就要把功夫用在平时,甚至是有点傻的、偏执的努力。

作者:萧文翰
来源:juejin.cn/post/7218731620723638333

收起阅读 »

某公司技术经理媚上欺下,打工人应怼尽怼,嘤其鸣兮,求其友声!

最近的事情大家都晓得了,某公司技术经理媚上欺下,打工人应怼尽怼,不亦快哉!不亦壮哉!所谓媚上者必欺下!古人诚不我欺!技术经理者,公然在聊天群里大玩职场PUA,气焰嚣张,有恃无恐,最终引发众怒,嘿嘿,技术经理,团队领导,原来团队领导这四个字是这么用的:奴媚显达、...
继续阅读 »

最近的事情大家都晓得了,某公司技术经理媚上欺下,打工人应怼尽怼,不亦快哉!不亦壮哉!所谓媚上者必欺下!古人诚不我欺!技术经理者,公然在聊天群里大玩职场PUA,气焰嚣张,有恃无恐,最终引发众怒,嘿嘿,技术经理,团队领导,原来团队领导这四个字是这么用的:奴媚显达、构陷下属,人文具损、逢迎上意、傲然下欺,装腔作势、极尽投机,父他人之父、慷他人之慨……如此者,可谓“团队领导”也。


功其利也“有用吗”?


中国的所谓“传统文化”——除了仁义礼智信、除了经史子集、除了铮铮风骨,其实还有很多别的东西,被大家或有意或无意地忽视了:比如功利实用、趋炎附势、以奸治善、官本位和潜规则的“传统”……在某种程度上,传统文化这枚硬币的“另一面”,才是更需要我们去面对和正视的,我以为这在目前盛行“实惠”价值观的时候,提一提还是必要的。


有的人说了,在开发群里怼领导,非常痛快,非常爽!但是,然后呢?有用吗?倒霉的还不是自己。没错,这就是功利且实用的传统,各种精神、思辨、反抗、愤怒……都抵不过三个字:“有用吗”?


事实上,但凡叫做某种“精神”的——那就是哲学思辨,就是一种相对“无用的”思辨和学术。而中国职场有很强的“实用”传统,但这不是学术思辨、也没有理论构架,仅仅是一种短视的经验论。


所以,功利主义,是密尔、边沁的伦理价值学说,强调的是追求幸福,如何获得“最大效用”;实用主义,是西方的一个学术流派,比如杜威、胡适就是代表,实用主义的另一个名字,叫“人本主义“——意思是,以人作为经验和万物的尺度。换句话说:功利主义,反对的正是那种“短视的功利”;实用主义,反对的也正是那种“凡事看对自己是不是有利”的局限判断。


而在中国职场功利、实用的传统中,恰恰是不会有这些理论构架的。并且,不仅没有理论构架,还要对那些“无用的、思辨的、纯粹的”精神,视如敝屣,嗤之以鼻。


没错,在技术团队里,我们重视技术,重视实用的科学,但是主流职场并不鼓励去搞那些看似“无用”的东西,比如普通劳动者的“合法权益”。


欺下媚上“官本位”


张艺谋的《满江红》大家想必也都看了的,人们总觉得很奇怪:为什么那么坏的人,皇帝为啥不罢免他?为什么小人能当权来构陷好人呢?


当我们了解了传统文化中的法家思想,就了然了。在法家的思想规则下,小人得势、忠良被辱,是事所必然,因为它一开始的设定,就是个劣币驱逐良币的游戏规则。


所以,在这种观念下,古代常见的一种职场智慧就是:自污名节以求自保。


在这种环境下,要想生存,就只有一条出路——那就是依附权力。并且,谁能拥有更大的权力,谁就能生存的更好。如何依附权力呢?那就是现在正在发生的,肆无忌惮地大玩职场PUA。


除此之外,这种权力关系,在古代会渗透到方方面面。因为权力系统是一个复杂而高效的运行机器,CPU、内存、硬盘……甚至一颗C面的螺丝钉,都是权力机器上的一个环节。于是,官僚体系之外的一切职场人,都会面临一个尴尬的处境:一方面遭遇权力的打压,另一方面,也都会多少尝到权力的甜头。


于是乎,权力的细胞渗透到角角落落,即便没有组织权力,也要追求文化权力,父权、夫权,家长权力、宗族权力,老师权力、公司权力、团队领导权力……点点滴滴、滴滴点点。


追逐权力,几乎成为人们生活的全部意义。


故而,服从权力、服从上级,不得罪同事,不得罪朋友,不得罪陌生人——因为你不知道他们背后有什么的权力关系,他们又会不会用这个权力来对付你!


没错,当我们解构群里那位领导的行为时,我们也在解构我们自己。


值得吗?


毫无疑问,对于这位敢于发声的职场人,深谙职场底层逻辑的我们一定能猜到他的结局,他的结局是注定的,同时也是悲哀的。


问题是,这样做,值得吗?


香港著名导演王家卫拍过一部电影,叫做《东邪西毒》,电影中有这样一个情节:有个女人的弟弟被太尉府的一群刀客杀了。她想报仇,可自己没有武功,只能请刀客出手。但家里穷没钱,最有价值的资产是一篮子鸡蛋。


于是她提着那一篮子鸡蛋,天天站在刀客剑客们经过的路口,请求他们出手,报酬就是鸡蛋。


没有人愿意为了鸡蛋,去单挑太尉府的刀客。


除了洪七。洪七独自力战太尉府那帮刀客,所得的报酬是一个鸡蛋。


但是洪七付出的代价太大,混战中,洪七被对手砍断了一根手指。


为了一个鸡蛋而失去一只手指,值得吗?


不值得,但是我觉得痛快,因为这才是我自己。


结语


鲁迅先生曾经说过,做奴隶虽然不幸,但并不可怕,因为知道挣扎,毕竟还有挣脱的希望;若是从奴隶生活中寻出美来,赞叹、陶醉,就是万劫不复的奴才了!鲁迅先生诚不我欺,这位敢于发声的职场人,他不是奴才,永远也不是。


鲁迅先生还说过,“假如一间铁屋子,是绝无窗户而万难破毁的,里面有许多熟睡的人们,不久都要闷死了,然而是从昏睡入死灭,并不感到就死的悲哀。现在你大嚷起来,惊起了较为清醒的几个人,使这不幸的少数者来受无可挽救的临终的苦楚,你倒以为对得起他们么?”


“然而几个人既然起来,你不能说决没有毁坏这铁屋的希望。”


向敢于发声的人致敬!人生或会低迷,精神绝不颓唐,嘤其鸣兮,求其友声!


作者:刘悦的技术博客
来源:juejin.cn/post/7218758481578344504
收起阅读 »

放假了,讲个真实的转岗故事

大家好啊,我是董董灿。 难得周中放了一天假,过了明天后天,又要过礼拜了,这周是真的幸福。 前天给自己立了个实战项目——《从零手写Resnet50》,这两天抽时间把Resnet50的模型,利用 torchvision 下载下来,并且写了个简单地 python 脚...
继续阅读 »

大家好啊,我是董董灿。


难得周中放了一天假,过了明天后天,又要过礼拜了,这周是真的幸福。


前天给自己立了个实战项目——《从零手写Resnet50》,这两天抽时间把Resnet50的模型,利用 torchvision 下载下来,并且写了个简单地 python 脚本,将参数保存成 txt 文件了。


方便后面验证算法进行整网推理。



最近考研结束了,有一些拟录取了新研一小朋友,私信我,希望给一些选专业方面的建议。


很多小伙伴是跨专业考研,对未来甚是迷茫。


这种情况,我有一个观点就是——


研一最宝贵的就是有大量的时间,现在喜欢做什么方向,就大胆去学、去做,在毕业前几年的时间,都可以不断试错,不断寻找最适合自己的职业道路。


图片
今天不写技术了,讲一个真实的攻城狮转岗的故事,以下是正文——


回想硕士毕业,离开北京的那天早上,是阴天。


起了个大早,舍友们还在睡觉,我拎起已经收拾好的行李,慢慢的打开门,慢慢的关上门,从工大的宿舍走到工大西门坐地铁去南站,一路上,寥寥无几的行人。


从实验室到宿舍的路,走了3年,边上的校园,待了7年,离开前看了最后一眼,有点不舍。


人生处处是十字路口:北京上学,去青岛工作,是我毕业之后做的第一个抉择


机械专业的我,为了找到一份看起来还不错的工作,毅然决然地选择了换专业就业。


现在看来,感谢当初自己的选择,让自己做着自己喜欢的事——程序的世界是最简单的,它会按照你写的代码的自然法则来运行,一旦世界出了bug,你可以化身上帝,大手一挥,bug解除,世界归于平静。
没错,研究生毕业,我从机械跨专业去做了程序开发。

在青岛工作了一年,发现青岛的环境离我的预期相差甚远,机会少发展有限,熟悉北京节奏的我,又一次决然从青岛辞职,回北京闯荡。


和当初离开北京去青岛一样,没有一点犹豫,因为年轻,因为觉得,前方是一片大海,那里会有属于我的一个小岛。


于是刷题投简历面试,很幸运的是,进入了一家不错的公司,在那里,得到了长足的成长。


从初级攻城狮,到中高级攻城狮,从小白,到面试官,从只会做事写代码,到做方案讨论可行性,可以说,我经历了所有攻城狮都会经历的成长路径。


期间不断地学习,搞嵌入式,看电路图,学C++,学算法,学人工智能,搞AI芯片,一路走来,收获满满。我喜欢周星驰的《功夫》电影。电影中的星爷是一个万中无一的练武奇才,而我仅仅是平平无奇的一个开发者。


一个攻城狮,在无数个白天黑夜,游走于属于自己的小岛上,沉浸在代码的世界,一边开疆扩土(新特性开发),一边修路(优化)铺桥(bug修复),一边练着属于自己的如来神掌。


几年下来,让我变得和离开北京的那个清晨截然不同。


工作教会了我很多,除了技术,还收获了友谊,学到了职场的处事技巧。


现在的我,很庆幸,当初的两次选择,北京到青岛,青岛到北京——兜兜转转,逐渐看清了自己。


如果说选择比努力更重要,那么我觉得,只有选择了愿意为之努力的方向,选择才会变得重要。


现在的我,在一家创业公司工作,一边做着自己喜欢的事情,一边整理着自己几年来的收获,一边关注着行业的发展,一边重温星爷的电影。


有很多个瞬间,感觉自己又回到了研究生的宿舍:右边坐着龙哥,鼠标操作着盖伦,大喊着德玛西亚万岁;左边坐着畅哥,因为之前一直玩游戏,正在为明天的作业准备熬夜。


那时的我们,都做着自己喜欢的事情,对未来充满着憧憬。而现在的我们,也依然做着自己喜欢的事情,对未来充满的希望,相信舍友肯定也是这样。


兜兜转转,北京到青岛,青岛到北京,画了一个圈,从现在开始,坚持学习,坚持锻炼,坚持做自己喜欢的事。


"远行是为憧憬,归来仍是少年。"


作者:董董灿是个攻城狮
来源:juejin.cn/post/7218554163050758201
收起阅读 »

30岁女程序媛,能有什么好出路?

前言最近技术社群上随处可见“前端已死”的观点,主要是经济环境和市场供需关系决定的;也可能是人工智能chatGPT一个demo,一张页面的草图,通过chatGPT可以生成一个完整的网站,就连按钮功能也用JS写好的;这些在一定程度上引发了作为前端从业者的焦虑。这不...
继续阅读 »

前言

最近技术社群上随处可见“前端已死”的观点,主要是经济环境和市场供需关系决定的;也可能是人工智能chatGPT一个demo,一张页面的草图,通过chatGPT可以生成一个完整的网站,就连按钮功能也用JS写好的;这些在一定程度上引发了作为前端从业者的焦虑。这不禁的引发我们的思考,以及我们要做出一些应对的策略。作为程序员的我们,还有好出路吗?一名30岁的程序媛,能有什么好出路。

谁的青春不迷茫

我是出生于农村的一个普通女孩,经过河南省激烈的高考竞争,我考进河南一个普通的大学,大学所选的专业是计算机网络技术,大学期间,我对未来我要从事什么职业很迷茫,每天浑浑噩噩,得过且过。后来我听从家人的建议出去找实习,不在意薪资的高低,只为寻找适合自己的职业发展方向。在经过了服装销售、网页设计、经理助理等多种尝试后,我最终找到了适合我的职业发展方向,那就是前端开发,同时我参加了统招专升本考上了省内还不错的二本,全日制就读两年。

当时的前端开发被称做网页制作工程师,于是我从2014年暑假开始在慕课网上自学前端开发,刚一接触这一领域,我就深深被吸引住,如饥似渴的吸收着这方面的知识,平时没课我基本上都在宿舍抱着我的华硕电脑和一本红宝书自学前端开发。当时大学毕业时,我仅在慕课网上学习时长积累了 1200+小时

在大三期末的时候,由于我的努力,我获得了360第一届前端星校招实习名额,我跟学校请了两周的假,到360北京总部参加 【360前端星】 ,经过两周的培训后,很遗憾,我没有拿到offer,当时360培训的导师给的意见,可以把计算机基础打扎实,再考个研提升提升学历。


里面有你熟悉的面孔吗?

回去我自己分析我的情况,有三方面劣势。

  • 学历自卑:当时参加前端星的同学学历都很优秀,清一色985、211高校,相比较下我就很感到很自卑,我就读于双非二本,而且还是专升本,在学历上我没有优势。

  • 专业技能:我的前端技能主要靠在慕课网自学,而其它同学基本都跟着自己的导师做过一些项目,有实际的开发经验,而我从技术深度到技术广度都不太行。

  • 综合素质:在培训期间是那种不敢站出来说话,害怕说错话,当然也没有才艺,更没有积极展现自己。


回到学校后,我深思熟虑后,决定考研来提升自己的学历。我当时的想法是只要拼命学,考上985、211就有希望。我踌躇满志,做好了拼命努力的心理准备。暑假期间,我复习的很认真,到了最后甚至有一种不在乎结果,单纯追求梦想的悲剧英雄主义。不过遗憾的是,我备考存在很多问题:学习方法上、还有备考院校、自主命题等信息差、资源差。初始分数还没出来,我隐约知道自己没有希望了,果不其然,来年分数出来,我落榜了。经过一段时间的失望和彷徨,我鼓足勇气跟家里人说我想去北京找实习,于是从家里拿了1万的生活费,开始了自己的北漂之旅。

重拾梦想

工作很多年后,每每想起考研失利,总是有些遗憾,我知道失去和失败是人生常态,可是我好想考研,好想成为研究生,最后已经有些魔怔,我就是要考,我这辈子注定是个研究生。放弃是一件容易的事,气一松,力一卸,就能完全放下。但是总有一份心底的坚持,让你不由自主的重燃斗志。一件事可以暂时不做,但不要彻底放弃,而从内心否定自己。于是我再次开始了我的在职考研之路。

择校

这次我没有选择计算机专业,计算机硕士考试,科目多并且难度大,跟身边的朋友了解后,发现MEM项目管理相对比较适合我,仔细对比了MBA和MEM的院校、分数、招生情况,我选择了北xMBA,毕竟按照往年的情况,报考北xMBA的只要过国家线,就能录取。这次应该是我离硕士最近的一次了吧。

平衡

在完成日常工作的同时,我还需要抽出足够的时间复习备考,这个任务很艰巨。不得不提一点的是,我在小组,新来的小组长拉帮结派、挤兑人,我们业务线,承接国内大小节日活动的前端开发。很过分的是,新组长把去年后半年都安排给我做(包括,但是不局限于,五一活动、六一活动、七夕活动、中秋活动、双11活动、2023春节活动),几个人的小组,我一个人承接了后半年的所有节假日活动,不仅仅要开发,每个节假日晚上凌晨12点我都要值班。由于我的业务量很饱和,再加上我要备考,我就没太多的时间和精力去搞KPI,我也不想多事,就忍了下来。


阳了

2022年12年7号月份疫情放开,我做好一切措施,防止自己阳了影响备考,但是十几号的时候我还是中了,我开始发烧,我全身酸痛地躺在床上,难受的完全不能学习了,幸好我对象照顾了几天,我退烧能下床了我对象又病倒了,我只能先照顾他,抽空做押题和最后的查漏补缺。由于近两周都多没能好好学习,变的极其焦虑和急躁。

考研需要上报阴阳情况的时候,我还是阳性,后来就给分到阳性考场。阳性考场,咳嗽声此起彼伏。


考完最后一场出来,见到那天的晚霞,真美。


今年2月份公布了考研初试分数,按照往年的情况我是能过初试的,我开始积极备考复试。梳理我的过往经历、了解所在公司的营收模式、剖析公司所在行业的发展前景以及竞对的优缺点。以及最近的热点新闻和二十大政治相关内容。面试那天我穿着我的小西服战袍走进了考场,在这之前,我刻意模拟了两次复试面试,我怀着淡淡的期待和自信考完了。

上周公布了拟录取名单,我被录了(圆了对象的北*梦)。我把消息发到家人群里,全家人都很开心,我还领了我爸的大红包,心里美滋滋~(终于上岸了)。

THE END


也许备考期间我减少了与家人的联络,忽视了KPI,但是我自认为我兢兢业业,超低bug率、无线上事故。我想说我尽力了,我不够完美,在时间和精力上不能很好的平衡。也许根本没有平衡,只能取舍。愿我在自己存在的地方,成为一束光,照亮世界的一角。我是一个30岁的程序媛,我不知道哪里有更好的出路。我之前很卷,一直在卷工作;去年我换了一个赛道卷,卷学历;如今我上岸了,再卷回工作。也许你会说前端已死,但是逃避,就肯定输家。唯有面对,才是出路的第一步。

作者:尤小小
来源:juejin.cn/post/7217831695882584122

收起阅读 »

一年过去了,哪个专升本进入B站的人咋样了?

前言 时光流逝,没想到已经一年多了,很久很久未在技术社区更新过文章,惭愧。也终于有勇气写个流水账了。在过去的一年中,也在不断的思考,自己将来(35岁后)能做什么?乃至于我在失业期间,也想过是否要留学?考研?(毕竟还年轻,本人97年)甚至是说专门待业1-2年,...
继续阅读 »



前言



时光流逝,没想到已经一年多了,很久很久未在技术社区更新过文章,惭愧。也终于有勇气写个流水账了。在过去的一年中,也在不断的思考,自己将来(35岁后)能做什么?乃至于我在失业期间,也想过是否要留学?考研?(毕竟还年轻,本人97年)甚至是说专门待业1-2年,学习英语 run 到外企,再通过外企 remove 国外?一直认为国内35岁以后,还在一线开发,不现实。理由如下:




  1. 精力比不上年轻人

  2. 刚从学校出来的哪种激情也不在

  3. 身体也越来越不行


国内这个焦虑确实蛮严重的,起码对我本人来说,一直存在。受限于学历的影响, 想做管理,也很难,爬又爬不上去。


下面就简单聊聊过去一年发生了什么


失业


我本人从未想过会被裁员,现在我也这么认为(当时的我不会被裁员),直到现实给我重拳出击。去年,B站大概有三波裁员潮,分别是年初,年中,年末。年中的时候,我组内有一位非常优秀的同学被裁了。哪会儿其实蛮慌的,生怕是自己。而且是在上海疫情期间。会经历裁员 + 疫情双重 Buffer 的叠加,很容易让人崩溃。


在上海疫情期间,我人已经在崩溃的边缘,我去过方舱,四月份阳的,在方舱待了一周左右的时间,真实体会过,什么叫人间疾苦。也压根不敢跟同事,家人,网上说,怕被歧视,哪会儿在小区的时候,就被居委会的人给歧视了。


年末,通知我被裁员。裁员的前几天,我领导跟我们组内的人都聊了聊,看谁能主动承担这个名额,领个大礼包。到我的时候,我当然是不愿意的,我有车贷,去年11月底提的车,所以很希望有一份稳定的工作,能够维持基本的生计。但是吧,裁员这事,一般是综合维度来考量,我复盘了一些衡量的点:



  1. 刚入职(一年内

  2. 跟领导的关系

  3. 性价比

  4. 可替代性(工作内容


大概以上这些,具体原因,直到现在我也不清楚,当时也想了解清楚具体原因,但都不说,也让我不要再问,ok,哪我也就不想再知道了


通知我被裁员的时候,我跟前端老板聊了蛮多的,当时我还跟天哥(敖天羽)聊了下(她内推我进来的)看是否能活水,转到她部门下,就不让活水,后面心态就放平了,哪就这样吧。技术总监过来找我的时候,言下之意,你肯定要走的,早走,早超生吧,大概这意思,对大家都好。其实他不找我,我也要走的,没有拖的意义,而且我个人觉得没必要浪费时间,再到后面HR过来找我的时候,我一轮谈判就同意了,不想跟他们再耗下去。


面试


在去年12月中旬被裁员之后,整个人就很 emo 的状态,做什么事都没有干劲,整天就是把自己锁在屋里,刷刷剧,打打游戏,饿了就叫外卖,简单的途径获取多巴胺和内啡肽,满足一天的基本需求。


现在回想起来,要是当时自驾从上海到新疆-西藏,整个人会舒服很多,又或者是专门开一个月的滴滴,体会下提前下岗再就业,这是我在最有闲的时间,没有去做的一些事,有点遗憾。希望后面可以补上,哈哈哈哈


12月下旬简单投了投简历,比如投了长沙腾讯云,想回老家看看机会,也收到了面试邀约,但由于本人心理没准备好,就拒绝了面试,想等到年后再面,年后再看就没机会了


躺平了12月份,1月份,过完年后,差不多到2月份了,再看机会,再投简历,很不幸,各大社区传来前端已死


脉脉



BOSS直聘


60471680451462_.pic.jpg


拉勾


60491680451508_.pic.jpg



很不幸,前端目前就是这么个现状,招聘软件上,基本都是已读不回,打招呼,没反应


我是这么看待前端已死的。先说结论,我本人是反对前端已死,理由大概如下:


技术出海


最近几年,大厂的科技产品都在出海,寻石问路。抖音,拼多多,都做的不错,不再局限国内的人口红利,谋求更多的发展空间。同理,我们做技术的是否也可以寻找技术出海?我的答案是肯定的。国外项目平台有很多,比如 Upwork,在这个平台上,我们可以看到各个国家的机会,不会英语也没关系,借助翻译软件,简历包装等,寻求更多合作的机会,不要把自己局限住!


核心竞争力


作为一名技术人,关键是创造自己的核心竞争力,什么叫核心竞争力,也就是你跟别人与众不同的地方,别人能做的,你能做。别人不能做的,你也能做,哪自然择优而优,这对所有公司来说都是这样,本质上就是花最小的代价,选择更合适的的人。举个简单的例子,我们以上面这份大厂JD(Job Describe)为例,基础部分就不讲了,关注几个指标:学历、工作经验、C端业务经验,加分项。通过这几个条件,可以筛选出一批人,如果你对加分项更加深入,哪你的优势很大


人口红利


我们国内有个特点,哪个行业挣钱,哪个行业火,一堆人会进来(培训机构到处宣传),人口优势固然存在,这是一大优势,也是一大弱势。优势就不讲了。弱势就是会导致这个行业出奇的内卷。以互联网行业为例,早几年会个 ajax ,写个静态页面,专科以上学历,一堆人要。现在呢,你得懂源码、你得统招全日制学历以上、你得会多个技能,这都是基本的要求,哪如何找到差一点,比如熟练英语的读写,你又比一些人要优秀,机会更多,可以关注外企机会


技术发展趋势


作为一名技术人,一定要关注前沿技术的发展趋势,为什么要关注?简单来说,这关乎你的生存空间。近几年 web3、区块链、元宇宙发展很快,如果你跟不上时代,很快就会被淘汰,很简单的道理。比如你看各大招聘软件上,各种 web3 的岗位,工资很高以及要求熟练英语读写


再说回来,2月份,3月份,基本盘,就没啥面试机会和合适的岗位。靠朋友内推,面试了几家,技术面到HR面聊完,就没啥消息。面试纯看缘分


2月底开始面的网易,网易是三轮技术面 + HR面,整个流程持续了大概20多天,在三月份的时候入职了,属实场景复刻。去年也差不多这个时间点面的网易严选,同样是三轮技术面 + HR面


未来



  1. 博客改造升级

  2. 组件库重构

  3. 脚手架升级


持续关注前沿技术


也很庆幸自己是在30岁前经历了裁员,也让我更加坚定,互勉


总结


我其实是个非常不喜欢面试的人,面试这东西,个人觉得很看眼缘,我是一个很容易紧张的人,如果面试官不能给我有效的引导,我其实内心蛮慌的,这次能够有幸进入网易,真的很感谢老板,面试官 + 运气不错


作者:江辰1
来源:juejin.cn/post/7217373379343220793
收起阅读 »

做个清醒的程序员之成为少数派

阅读时长约10分钟,统计2604个字。 这是一篇插队的文章。 本来我是有备稿,准备在下周一的时候发布,结果就在上周二,发生了一件事情。这件事情让我产生很多启发,我在这里把它分享给你,希望对你也有所启发。 周二下午,有位老兄加我微信,备注来自博客。这也不足为奇,...
继续阅读 »

阅读时长约10分钟,统计2604个字。


这是一篇插队的文章。


本来我是有备稿,准备在下周一的时候发布,结果就在上周二,发生了一件事情。这件事情让我产生很多启发,我在这里把它分享给你,希望对你也有所启发。


周二下午,有位老兄加我微信,备注来自博客。这也不足为奇,最近更新比较频繁,加了很多人。这位老兄一上来先是肯定了我的文章,随后指出了文中的错误。坦率地讲,自从复活博客之后,这还是第一位指出我错误的朋友,一下子我就来了兴趣。


在本系列文集的《序》中,我原文是这样写的:



我一直奉行一句话:“有道无术,尚可求也;有术无道,则止于术”。这句话出自老子的《道德经》,而且很好理解。



他指出《道德经》里其实没有这句话。但是呢,本着对读者负责的态度,我在写文章的时候确实去查了一下。程序员这个职业大家都懂,比较较真,至少我是这样的。于是我就找到了一些依据,来证明我说的是对的。但很快便发现事实其实不是这样,这位老兄所言非虚,我引的这句话确实并不出自《道德经》。所以,我要在这里向所有读过我上篇文章的朋友道个歉。澄清一下:“有道无术,尚可求也;有术无道,则止于术”,尽管这句话有几分道理,但真的不是《道德经》原文。


好了,故事就到这里结束了。说到这,大家应该也能理解我为什么要把这篇文章拿来插队。一方面趁热打铁,有错误及时声明,另一方面这个故事对我有新的启发。


这位老兄,名为张鸿羽。稍加细聊后,我得知鸿羽兄是有背过原文的,而我没有。我只是看到大部分都这样说,便信以为真,然后也跟着这样说。显然,我成为了大多数人中的一份子。而鸿羽兄是少数派中的一份子。有时候,真理真的掌握在少数人手中。


回想过去几年的工作历程,特别是刚开始工作的那几年,我做的很多工作都是“探索型”的。所谓“探索型”,就是对新技术,或者说是公司的研发部门未曾使用过的技术进行尝试摸索。当然,尝试新技术之前,要能发现新技术。而一项新技术的诞生,总会伴随着官方的宣传,以及一些支持它、拥护它的人高声叫好。但只有真正尝试过,特别是用新技术来实现较为复杂系统的时候,才会知道这项新技术到底优势在哪,劣势又在哪。


诚然,如果让我来总结我尝试新技术、新框架的经验,我会说:大部分新技术或是框架确实弥补了已有框架的不足,但其弥补的程度往往并不是质变的,只是小步优化。甚至有些新兴技术在弥补的同时,还引入了其它的问题。这对于使用它的开发者来说,的确是个坏消息。


但话说回来,没尝试用过,又怎能知道答案呢?技术的发展本就是这样一步一个坎,有时候走一步还退两步的呀。


这或许就是我等软件开发者的宿命,对于现存的技术框架,总是有这样或那样的不满意,觉得用着不顺手。期盼着某一天,某个技术大佬,或者团体,发明了一种新的框架,甚至是新的编程语言。或是直接起义,自己创造一款新的技术框架,能真正地解决那些令我们不满的问题,让软件开发编程成为真正的享受。


但现实是,很多新的技术框架的诞生,都伴随着类似的口号。也总会有勇敢的开发者尝鲜,也总会经历被坑,然后不断填坑的过程。而这些敢于尝鲜的开发者,就是那些最终会成为“少数派”的人。他们知道在各种美好的宣传背后,隐藏着多深的坑。对于这些坑,又该用什么方法去填。


“少数派”或许才是那些头脑最清醒的那一小撮人群。


但是,成为“少数派”不仅意味着失败的尝试,还有大多数人的不理解。甚至更严重一些,就是诋毁,百口莫辩。这需要一颗强大的内心,和与时间做朋友的勇气以及态度。


不过,我为什么鼓励程序员要做“少数派”,而不是成为“大多数”呢?还有另外一个原因,那就是由行业特征决定的。我相信程序员大多都活跃在互联网行业,这个行业是赢家通吃的指数型结构。有点类似财富分配,大部分的财富掌握在少数人的手里。而且无论如何数学建模,或是提高那些穷人的初始资金,最终推演的结局依然如此。


如今,在中国,乃至全世界,所谓“互联网大厂”无非就是那几家,而剩下的呢?数字上远远超过我们熟知的那些大厂,但拥有的财富值却位于指数图表中的长尾之中。这就是指数型的行业的特征,也是程序员这个群体的特征。


如果大家有查相关的数据,可以发现优秀程序员的工作效率往往是普通程序员的好几倍,尽管薪水上的差距不是这样。而大多数都是普通程序员,优秀程序员只属于“少数派”。优秀程序员,拿到需求,会做足够的分析,到了动手的时候,则像个流水线的工人;普通程序员,拿到需求就想赶快动手,面临的有可能是回炉重造。优秀程序员,会充分考虑到使用场景,采用防御式编程来规避可能带来的缺陷;普通程序员,想的只是实现需求,把程序健壮性扔给测试人员。优秀程序员,会考虑代码的可读性,为代码添加合适的注释、每个方法或函数的功能单一、清晰;普通程序员,急于求成,不注重代码规范,导致日后维护困难……


但是,追求效率和追求质量,大多数公司都会选择前者。但做多和做好,结果往往相差甚远。


大部分人倾向于做多、扩张、追求规模化。但殊不知做大的后果往往是成本的上升,利润却不一定变高。但做好却不一样,它追求的是平衡收支,而不是盲目追求利润。更好的做法其实是在做好之前,不要做大。要相信好产品,自然会带来口碑。过分追求大规模,反倒会使高利润远去。而把事情做好的心态,看似发展得慢,实则是条捷径。


回顾我创作的历程,之前的我总想着多写,多写就是扩张,意味着规模。但这种心态往往做不出好书,因为这是效率当先,质量次之的做法。但我身边也有的人,创作很用心,不着急让书早日面试,很认真地创作,比我的速度慢一些。这便是把事情做好的心态。你猜结果如何?人家一年十几万的稿酬,我却只有可怜的几万块。


所以,上面那套理论并不是我胡乱写的,或是从哪本书里看到,就抄过来的。而是真的付出了血和泪,总结出的道理。在此,我劝你做个“清醒”的人。追求效率没错,一旦做得过火,则会适得其反。


另一方面,如果只想成为大多数,可不可以呢?当然也可以,只不过互联网行业或许不再适合。那些符合正态分布的行业才是想成为大多数的那类人的理想去处。


比如,餐饮行业。现在,大家可以想一想,有没有那家餐馆,或是哪个餐饮品牌,能做到赢家通吃?似乎没有,如果也去查这方面的数据,就会发现餐饮行业其实并不是指数分布,而是呈正态分布的。只要能做到普通中位数的水平,就OK了。


真正的高手一般都是“少数派”。他们不仅能力拔群,思考问题时的方法、对世界的认知和一般人都有区别。若要成为软件开发工程师中的“高手”,必须成为“少数派”,成为战场上的传说。


作者:萧文翰
链接:https://juejin.cn/post/7214855127625302053
来源:稀土掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
收起阅读 »