10年码龄的老外码农酒后吐槽,该说的不该说的全说了

发布日期:2022-08-07 00:41    点击次数:137

上个月,一个有着10年码龄的顺序猿喝高了,在交际网站Reddit上吐槽。尔后被猖獗转发,点赞。可说是讲出了咱们良多码农的心声。咱们国内这边也有良多版本了。咱们也凑凑热闹翻译一版。跟巨匠一块儿赏玩一下:

来日诰日是有点儿高了,跟老铁们吐一下槽。有一天我会懊悔吗?嗯,只要上帝晓得!区区在下,这是在下,事变10年的奇葩总结。

还在傻傻等老板给升职加薪吗?赶忙跳槽吧,哥儿们。世界上没有神仙皇帝,统统全靠咱们本身!

今朝都讲求全栈工程师,又焦炙了不是?可这真的不首要。就拿我所在的软件规模,你可以或许折腾出15种花样。在web编程或嵌入式,可以或许有所差别。然则全体的事变,根抵上其焦点的原则也就只要10到20条,技能栈只不过是让经管成就苟且一些。没有须要去搞懂勾股定理的16种证明编制。

巨匠劝你另谋高就是几个意义。假定在一个地方待的不爽,可以或许推敲拎桶走人了。

在一些公司里找到了情投意合的好基友。但是你不克不迭总有这类狗屎运。有的岁月没有好基友也能开高兴心,有好基友的公司着实不是就不会碰上赛心事儿。

我学会了跟老板尽可以或许交心,固然这要驾御好度,让他能定心地把事变交给你就适才好。会触到什么霉头?炒我鱿鱼?花两周再找个下家好了。

假定一个季度有那末一两次,早晨2点被从被窝里薅起来,那事儿就有点儿重大了,要么搞定要么走人吧。

唉,再搞一杯。

好的老板和好员工总是能惺惺相惜。

当我照旧个小白,也曾狂热于技能,编写代码,计算机科技。今朝不纠结了。

好代码能被一个小白工程师看懂,伟大的代码门生都能懂,最佳的代码,是不敲代码。

作为一个工程师,最没学好的就是怎么写文档。擦,有无人教我一下啊。我是卖命的,谁给提点儿好倡导,我真的很想花钱,找人给我上一课(很贵也在所不惜,一千美金够不敷啊,教教我怎么写出个能让人惬心的,高峻上的文档)

接上条,写一个完美的策画改观需要,可以或许也是个高科技的活。

这些大战跟我有什么鸟纠葛(vim vs emacs, mac vs linux, 这些…),除了下面这个。看下面这条。

越来越老,就越来越感应,静态言语真是个好货物。擦,是我说的,怎么着?来咬我呀。

在一个地方,当我感应本身算最聪明一个了,就到了来到的岁月了。

真不睬解为毛给全栈web工程师这点可怜的薪水。噢,不,讲真的,这些家伙根抵酬劳一年就算挣50万美金也不算多。擦,人家得懂前端,后端,种种阅读器,网络,数据库,另有什么缓存,网络端和移动端差别,啥,公司要上个新框架?这固然也得懂。讲真,作为懂王,为啥网端大佬酬劳这么低。

咱们该当多雇点儿操练生,真是棒极了。这些小不点儿充溢奇思妙想。再批示一下江山,真是棒极了。我爱好。

再搞一口

万万别跟偶像碰头。我花了5千大洋去听偶像的课。他但是亮瞎眼的明星,但最后我缔造他和你我也并无太多差别,都是包装炒作而已。

技能栈很首要。噢,对,我彷佛适才讲了这不首要,好吧,接着听我唠一唠。你听人讲Python 开发,和讲C++ 开发,你会说这差别蛮大的,对纰谬?因为干什么活就得用什么器材。假定你不显然该用什么,那就用Java吧。这类编程言语诚然烂到家了,但它又什么都能干。

最伟大的编程言语是lisp。我该当学一下了。

关于一个新手来说,深造SQL言语是麻利致富的不二法门。让另外的言语都见鬼去吧。你不消懂另外,就懂个SQL就能了。薪资数据处理惩罚专家?能拿5万美金。懂SQL的薪资数据处理惩罚专家?9万美金!大公司里懂打点架构的大牛?4万美金。懂打点架构的大牛又懂SQL?那就能称得上名目经理,拿到15万美金了。

假定说要珍视测试(Test),那末就需要把测试驱动开发 (TDD)供上神坛。

政府部份事变着实不真的像传说中的香饽饽,起码关于初入职场的工程师来说是这样。120K美金加之种种福利另有养老金,切实有些迷人,然则你违心出售你的灵魂,扑在那些只要外部人材懂的技能上吗?极度尊崇私事员,但那里切实是个养老之处。此倡导不实用于政府承包商。

第三方猎头就是寄生虫。话说归来离去,假定你能找到个狠角色,跟他们直立杰出纠葛,对你的职业糊口生计大有益处。怎样材干晓得是个好猎头呢?好猎头平日不会在第三方公司逾越三年。他们时常被大公司挖走。

假定公司员工少于100人,期权估量就是个大饼。反之,它有可以或许让你10年之内成为大款儿。

在家事变很滋养,但没有白板用,有点儿不得劲儿。

我历来没在Facebook,Google这样的大公司待过,所以我不晓得是否错过了什么。但我招罗了一些(也有些没用)这些大公司进去的员工,他们也是迷含糊糊的。

我感应我集团获得的待遇,比较于本身价钱几近牛之一毛。你们都晓得,用款项来衡量一集团有岁月是鸠拙的。

经理的权利比你设想的小的多的多,想一想吧,为何那个经理不把谁谁开掉,因为他不克不迭把谁谁开掉。

头衔最没鸟用。什么什么大公司的首席,精采员工,统统没什么用。你做过什么,实现了什么名目,这才是巨匠最体贴的。

咱们接着聊聊头衔:职业初期,头衔越来越高是个好事变。初级到中级,中级到低档,低档到首席。假定你已经是职场老人了,头衔越低越好。这样,酬劳照旧同样,假定有晋升机会又可以或许加薪了。也就是说,职场头10年,头衔的晋升代表着技能和义务的促成。当前,越低的头衔让你酬劳更苟且促成。

退休金策画要交满。

要驯顺地对待身边的每一集团。这样做不是为了升职加薪(诚然必然有所协助),这样做本身就是它的价钱所在。

假定夙昔这个月,我没从新手那里学到什么,那必定是大意了。

见鬼,酒没了。

为课程,书本,聚会会议付费是物有所值的。我列入了数次聚会会议,几个1千5百大洋的课程,良多良多书,还订阅了一些。很值,这样我就能在事变中更装了。

讲真的,为何不给web开发人员更高的酬劳?他们但是懂王啊!!!

腕管综合症,背部拉伤,都不是闹着玩儿的。花1千大洋买点儿好动作举措吧。

我碰着过的一位大神是个数学博士。从老兄那儿我学了良多。停留他还好。

已经,在高中时代,我有一个极度棒的女同砚。我的意义是咱们时常一起晃荡了几年,无所不谈。尔后谣言四起,说我爱好她,一起那啥啥的。她不克不迭准确的对待这个成就,起头忽视我的存在。这让人有点儿郁悒。拿个今朝时髦的词儿讲,新闻中心就是我被“拉黑”了。但我并无怀恨在心,照旧停留她元气满满。若是能穿越回去,该当会有个好一些的了局吧。

我还在8年级有个小女同伙,诚然我不太爱好她了,也还没想着终止,就这样吧。这真是有点儿蛋疼。抱歉,Lena。

你晓得作为一个软件工程师,最棒的是什么?你可以或许碰着和你同样的家伙们。着实不是说你们都爱好静止,看电视这些。就是说你们时常钻同样的牛角尖,这真是棒极了。

技能规模让女生走开。这是什么鬼行业。这真需要改变,不是吗?我在事变中一贯激情亲近的协助这些女工程师,我还想做更多。你说该怎么下手?

黑人工程师,同样的啊。什么鬼?

我对一个技能时常是爱极生恨。当我起头腻烦这个技能时每每又感应它还不错,老爱推选给别人。Jenkins是个什么鬼,老兄,我纵然给一个新客户推选这个软件,着实不是分化我能削减它运行体系毛病带来的灾难。

延续吐槽,git棒极了,我正在用呢。然并卵,GUI图形界面去死吧,照旧让我用敕令行吧。7个敕令多好记呀,另外的Google一下就好啦。

我说过我做数据这一行,我要去学个数据方面的课程。Pandas,真是受够了啊啊啊。

我的事变还算苟且,因为我有一群半吊子技能阐发师。他们懂编程,但又不是软件工程师。这真是谢天谢地,假定他们缔造什么纰谬劲儿,他们总会说这必然是策画成就。我爱死他们了。他们可比最棒的工程师棒多了。

暗色彩棒极了。直到你被逼着运用亮色彩。这就是为何我是用亮色彩。

我对加密太相识了,倏忽缔造一点儿都不懂啊。

年老,酒怎么又没了呢。

熟知种种套路材干做一个好工程师。然而成为一个更棒的低档工程师,你需要晓得有岁月需要攻破套路。

假定巨匠都觉得全体成就都是Bug惹的祸,该延续了。

良多创业公司热中于让员工关上心扉,显现“真我”。好吧,假定这个真我的喜爱是爱看小影戏可咋整?事变和私糊口生计照旧井水不犯河水的好。

高兴时分和同事们喝喝酒挺好的。我更沉稳违心和小孩子们,家人和同伙们在一起。

什么是超级指导力?显着是你的舛误,可你的头儿把义务全都揽夙昔。你必然晓得我就算为她冲锋陷阵也在所不惜。

是的,我效能过的最棒的老板总是鼎力大肆支持我的概念,同时他们会跟我全力说明那些跟我相抵触的概念。我一贯想做到像他们同样。

去他娘的副业。假定你爱好搞副业,也挺棒的!但我更倾心于忙着在reddit上吐吐槽。

算法和数据组织很首要,在必定程度下去讲。但你见过老中医笔试的岁月还要考考无机化学之类的吗?咱们的业余笔试真是狗屁不通。

那些搞开发的小男生,小女生们都是机伶鬼儿。起码某个地上行业有钱赚了。

干不干我爱好的不首要,首要的是别干我腻烦的事儿。

你做的事儿离产品越近,你就越能了解什么是给公司缔造朝价。跟你做的事儿是否有技能含量真无妨。在初创公司尤为云云。

Linux真的挺首要的,纵然在我照旧Window顺序猿时。为毛?因为我最后照旧插手了Linux阵营。在周末加班加点儿地按部就班Arch真是挺感悦耳心滴。

我学会了警醒凑合那些含糊的字眼,像大数据之类的。WTF是个敏感词儿吗?我凑合过Spark和Kafka每10分钟的上万行的数据流,另有Python和MySQL,一小时10亿行的数据流。那些该死的标号真是见了他妈的鬼了。

着实不是全体好职位都在硅谷。但大部份都是。

好吧,假定你想鄙夷我一下,万万被给我差评,咱可不在意这个。就当没瞥见好了。最让我郁悒的就是我啰啰嗦嗦讲了大半天,贴进去没半点儿反馈了。假定你感应这是个烂贴,就这样吧。

附原文:

I'm drunk and I'll probably regret this, but here's a drunken rank of things I've learned as an engineer for the past 10 years.

The best way I've advanced my career is by changing companies.

Technology stacks don't really matter because there are like 15 basic patterns of software engineering in my field that apply. I work in data so it's not going to be the same as webdev or embedded. But all fields have about 10-20 core principles and the tech stack is just trying to make those things easier, so don't fret overit.

There's a reason why people reco妹妹end job hunting. If I'm unsatisfied at a job, it's probably time to move on.

I've made some good, lifelong friends at companies I've worked with. I don't need to make that a requirement of every place I work. I've been perfectly happy working at places where I didn't form friendships with my coworkers and I've been unhappy at places where I made some great friends.

I've learned to be honest with my manager. Not too honest, but honest enough where I can be authentic at work. What's the worse that can happen? He fire me? I'll just pick up a new job in 2 weeks.

If I'm awaken at 2am from being on-call for more than once per quarter, then something is seriously wrong and I will either fix it or quit.

pour another glass

Qualities of a good manager share a lot of qualities of a good engineer.

When I first started, I was enamored with technology and progra妹妹ing and computer science. I'm over it.

Good code is code that can be understood by a junior engineer. Great code can be understood by a first year CS freshman. The best code is no code at all.

The most underrated skill to learn as an engineer is how to document. Fuck, someone please teach me how to write good documentation. Seriously, if there's any reco妹妹endations, I'd seriously pay for a course (like probably a lot of money, maybe 1k for a course if it guaranteed that I could write good docs.)

Related to above, writing good proposals for changes is a great skill.

Almost every holy war out there (vim vs emacs, mac vs linux, whatever) doesn't matter... except one. See below.

The older I get, the more I appreciate dynamic languages. Fuck, I said it. Fight me.

If I ever find myself thinking I'm the smartest person in the room, it's time to leave.

I don't know why full stack webdevs are paid so poorly. No really, they should be paid like half a mil a year just base salary. Fuck they have to understand both front end AND back end AND how different browsers work AND networking AND databases AND caching AND differences between web and mobile AND omg what the fk there's another framework out there that companies want to use? Seriously, why are webdevs paid so little.

We should hire more interns, they're awesome. Those energetic little fucks with their ideas. Even better when they can question or criticize something. I love interns.

Sip

Don't meet your heroes. I paid 5k to take a course by one of my heroes. He's a brilliant man, but at the end of it I realized that he's making it up as he goes along like the rest of us.

Tech stack matters. OK I just said tech stack doesn't matter, but hear me out. If you hear Python dev vs C++ dev, you think very different things, right? That's because certain tools are really good at certain jobs. If you're not sure what you want to do, just do Java. It's a shitty progra妹妹ing language that's good at almost everything.

The greatest progra妹妹ing language ever is lisp. I should learn lisp.

For beginners, the most lucrative progra妹妹ing language to learn is SQL. Fuck all other languages. If you know SQL and nothing else, you can make bank. Payroll specialtist? Maybe 50k. Payroll specialist who knows SQL? 90k. Average joe with organizational skills at big corp? $40k. Average joe with organization skills AND sql? Call yourself a PM and earn $150k.

Tests are important but TDD is a damn cult.

Cushy government jobs are not what they are cracked up to be, at least for early to mid-career engineers. Sure, $120k + bennies + pension sound great, but you'll be selling your soul to work on esoteric proprietary technology. Much respect to government workers but seriously there's a reason why the median age for engineers at those places is 50+. Advice does not apply to government contractors.

Third party recruiters are leeches. However, if you find a good one, seriously develop a good relationship with them. They can help bootstrap your career. How do you know if you have a good one? If they've been a third party recruiter for more than 3 years, they're probably bad. The good ones typically become recruiters are large companies.

Options are worthless or can make you a millionaire. They're probably worthless unless the headcount of engineering is more than 100. Then maybe they are worth something within this decade.

Work from home is the tits. But lack of whiteboarding sucks.

I've never worked at FAANG so I don't know what I'm missing. But I've hired (and not hired) engineers from FAANGs and they don't know what they're doing either.

My self worth is not a function of or correlated with my total compensation. Capitalism is a poor way to determine self-worth.

Managers have less power than you think. Way less power. If you ever thing, why doesn't Manager XYZ fire somebody, it's because they can't.

Titles mostly don't matter. Principal Distinguished Staff Lead Engineer from Whatever Company, whatever. What did you do and what did you accomplish. That's all people care about.

Speaking of titles: early in your career, title changes up are nice. Junior to Mid. Mid to Senior. Senior to Lead. Later in your career, title changes down are nice. That way, you can get the same compensation but then get an increase when you're promoted. In other words, early in your career (<10 years), title changes UP are good because it lets you grow your skills and responsibilities. Later, title changes down are nice because it lets you grow your salary.

Max out our 401ks.

Be kind to everyone. Not because it'll help your career (it will), but because being kind is rewarding by itself.

If I didn't learn something from the junior engineer or intern this past month, I wasn't paying attention.

Oops I'm out of wine.

Paying for classes, books, conferences is worth it. I've done a few conferences, a few 1.5k courses, many books, and a subscription. Worth it. This way, I can better pretend what I'm doing.

Seriously, why aren't webdevs paid more? They know everything!!!

Carpal tunnel and back problems are no joke. Spend the 1k now on good equipment.

The smartest man I've every worked for was a Math PhD. I've learned so much from that guy. I hope he's doing well.

Once, in high school, there was thing girl who was a great friend of mine. I mean we talked and hung out and shared a lot of personal stuff over a few years. Then there was a rumor that I liked her or that we were going out or whatever. She didn't take that too well so she started to ignore me. That didn't feel too good. I guess this would be the modern equivalent to "ghosting". I don't wish her any ill will though, and I hope she's doing great. I'm sorry I didn't handle that better.

I had a girlfriend in 8th grade that I didn't want to break up with even though I didn't like her anymore so I just started to ignore her. That was so fucked up. I'm sorry, Lena.

You know what the best part of being a software engineer is? You can meet and talk to people who think like you. Not necessarily the same interests like sports and TV shows and stuff. But they think about problems the same way you think of them. That's pretty cool.

There's not enough women in technology. What a fucked up industry. That needs to change. I've been trying to be more encouraging and helpful to the women engineers in our org, but I don't know what else to do.

Same with black engineers. What the hell?

I've never really started hating a language or technology until I started becoming intimately familiar with it. Also, I think a piece of tech is good if I hate it but I simultaneously would reco妹妹end it to a client. Fuck Jenkins but man I don't think I would be co妹妹uting software malpractice by reco妹妹ending it to a new client.

That being said, git is awful and I have choice but to use it. Also, GUI git tools can go to hell, give me the co妹妹and line any day. There's like 7 co妹妹and lines to memorize, everything else can be 谷歌d.

Since I work in data, I'm going to give a data-specific lessons learned. Fuck pandas.

My job is easier because I have semi-technical analysts on my team. Semi-technical because they know progra妹妹ing but not software engineering. This is a blessing because if something doesn't make sense to them, it means that it was probably badly designed. I love the analysts on the team; they've helped me grow so much more than the most brilliant engineers.

Dark mode is great until you're forced to use light mode (webpage or an unsupported app). That's why I use light mode.

I know enough about security to know that I don't know shit about security.

Crap I'm out of wine.

Being a good engineer means knowing best practices. Being a senior engineer means knowing when to break best practices.

If people are trying to assign blame to a bug or outage, it's time to move on.

A lot of progressive companies, especially startups, talk about bringing your "authentic self". Well what if your authentic self is all about watching porn? Yeah, it's healthy to keep a barrier between your work and personal life.

I love drinking with my co-workers during happy hour. I'd rather spend time with kids, family, or friends.

The best demonstration of great leadership is when my leader took the fall for a mistake that was 100% my fault. You better believe I would've walked over fire for her.

On the same token, the best leaders I've been privileged to work under did their best to both advocate for my opinions and also explain to me other opinions 'that conflict with mine. I'm working hard to be like them.

Fuck side projects. If you love doing them, great! Even if I had the time to do side-projects, I'm too damn busy writing drunken posts on reddit

Algorithms and data strictures are important--to a point. I don't see pharmacist interviews test trivia about organic chemistry. There's something fucked with our industry's interview process.

Damn, those devops guys and gals are f'ing smart. At least those mofos get paid though.

It's not important to do what I like. It's more important to do what I don't hate.

The closer I am to the product, the closer I am to driving revnue, the more I feel valued regardless of how technical my work is. This has been true for even the most progressive companies.

Linux is important even when I was working in all Windows. Why? Because I eventually worked in Linux. So happy for those weekend where I screwed around installing Arch.

I've learned to be wary for ambiguous buzz words like big data. WTF is "big" data? I've dealt with 10k rows streaming every 10 minutes in Spark and Kafka and dealt with 1B rows batched up hourly in Python and MySQL. Those labels can go fuck themselves.

Not all great jobs are in Silicon Valley. But a lot are.

Finally, if you really want to hurt me, don't downvote I don't care about that. Just ignore this post. Nothing makes me sadder than when I wrote a long post and then nobody responds. So if you hate this post, just ignore.