此生若得安稳,谁愿颠沛流离!


谨以此文向那些奋斗在北上深广苦逼哈哈的IT人致敬!


为什么我们都来北上深广?

对于这个问题,因为感触实在是太深了。我估计我会写很长。中间夹杂了很多个人感情,结论在最后。

一、梦开始的时候

我2008年某三流西安民办大专毕业,怀揣了2000块钱,买了一张火车票,来到上海。这里没有任何亲戚,朋友,甚至因为跷课,当时的学校暂扣了我的毕业证。我到上海唯一的理由,是喜欢互联网。在这里,我合租在有9个人合租的一套房。小单间月租金650块钱。房间里只放得下一张床和一个笔记本电脑。

7月的太阳实在太热,求职问路基本靠12580。每周末去上海体育馆的招聘会,遇见突如其来的暴雨,浑身湿透根本不是个事,每天奔波而惶恐,我连毕业证都没有谁会要?

一个月之后我遇见了我工作的第一任主管,那天我求职时迷了路,步行走了一公里,找到面试公司的时候满头大汗。整个衣服湿透的,头发上的汗跟洗过了一样,中暑几乎站不稳,他递了我一杯水,然后让我聊了聊对SNS的看法,估计是他可怜我的落魄,他给老总打电话说暂时不要我的毕业证,先看看我的工作表现。

我进入到一家非常优秀的国内优秀的互联网公司,虽然工资只有1800。但我丝毫不介意,第一次参加例会,身边有了一堆来自迅雷,阿里巴巴,腾讯,百度的同事,知道了产品经理的这个职位,那人比我小两岁,是公司从盛大挖来的,他会用Axure,会用思维脑图,开会时能迅速提炼精髓,有着清晰的产品分析能力。分析互联网比我透彻的太多,遇见了正规军的我第一次明白,天外有天,我那点以往炫耀的知识根本连入门都算不上。

二、那些难忘的人和事儿

早晨6点半起床,挤地铁,为了节约,基本中午不吃午饭。别人去吃饭的时候我就一个人上顶楼的天台,对着上海的高楼大厦发呆。租住的住所卫生间的浴室龙头需要9个人共用,每天晚上做饭需要排队,上厕所的马桶只有一个,时间长就会被室友骂,电淋浴器的热水,别人用完了你就要等好久。每天到家写分析报告到夜里两点,困得不行就把闹钟设置到早上六点,然后睡觉。四个小时睡眠对我来说足够。当当满300-150的的时候,买了一大堆互联网的书狂补,周末,参加各类的产品经理聚会,不敢说话,只坐在最后安静的听。听他们分析,讲一堆我压根不明白的词,然后记在本子上,回家用百度查。

国庆长假,离家近的同事都回家,我一个人替全部门的同事加班,3倍工资的待遇让我用一个星期的时间买了第一部智能手机——魅族m8。

幸运的是我遇见了我一辈子的两个好哥们,公司里的一个PHP程序员和一个广告销售,我们三个人就像《中国合伙人》中的三个人那样一样形影不离,他们俩都是上海人。销售在我眼里算半个富二代,但特别努力上劲,比我在上海见过的很多外地人都要努力,这哥们与人打交道的人,各方面想法都更真实,本地人也有底气,他帮助我在各种情况下度过难关。经济,事业,感情......为了我们的项目,他甚至住在公司里过,程序员是个特别老实有点内向的男孩,执行力强很适合做程序员,总之,我们三个好的穿一条裤子。

付出当然要有回报,2010年,团购刚刚兴起,我们开始负责公司里的团购导航,这是公司的一个很重点的项目。我们三个每天都像打了鸡血,那时候从没有考虑过是否和公司给的待遇对等,我们都抱着创业的理想做。销售去北京出差,我俩聊产品从晚上8点打到12点,四个小时的长途,他会将访问客户第一手的资料给我,我迅速做产品要求,然后提交程序员,程序员加班当晚就做产品迭代。有时候半夜两点我们会突然想到点子,然后我会打电话讨论,加班到夜里三点是太经常的事情,张江满满的路灯和空无一人的街道,然后挡车送下属回家,再回家睡几个小时,接着赶到第二天公司上班。有时在夜里一点发现一个页面bug然后打电话给技术。他也会立即起来改正。

这是上海工作的人对工作的执着,绝大多数的人,只要是他份内的工作,你多晚打搅他都不会怪你,而且很负责。三个人的拼命很快有了回报,几年的时间,我变成这个项目的经理,我有一个近十人的小团队,他俩也都是各自业务的骨干。

上海的生活节奏很快,你感觉自己有一天不努力就会落后,这让你有了动力拼命学习,她的配套设施很好,张江楼下的便利店有很多24小时服务,你能在加班到半夜三点饿了的时候下楼钻进任意一间吃关东煮或者让店员用微波炉加热一个鸡块便当给你。

三、现在

职位和收入上来之后,生活状态也变化了,周末可以去田子坊和女朋友逛街。从世博会看各国风光,去ChinaJoy找萌妹子拍照,去崇明岛抓小螃蟹,去阳澄湖吃大闸蟹,去松江大学城喝咖啡,坐在小店里看日落。自由的自己带着女朋友干自己想干的事情,去想去的地方。我的工资可以轻易的买得起IPAD,IPHONE,网购的东西基本第二天就到了,而且包邮。

我也遇见了很多我这辈子都佩服的人,他们是各个领域的专家。他们知识渊博,彬彬有礼,充满智慧,穿着时尚得体,说话恰到好处,做事井井有条。男男女女都好聪明,遇见他们你就会觉得,我也要努力变成这样。

再后来,搞销售的哥们开始带着我见客户,吃饭聊天,教我克服自己的弱点与人交流。过于内向是我的弱点,有了他的帮助,内向的我敢在公司战略会议上发言,为团队争资源,争利益。团队有一个正牌的复旦大学的中文系硕士和上师大的新闻学硕士。是的,作为他们的经理,我是西安一个三流野鸡民办大学差点没混上毕业证的大专生。

离开的时候。月薪10k。每年14个月工资,我知道这个工资在上海并不算高,但,其实,我觉得她对得起我自己的努力,至少我所在的公司,节假日3倍工资,晚上加班有额外工资, 餐厅有免费的面包饼干方便面咖啡火腿肠,免费早餐。各种制度严格执行。

周围有同事收入比我高,但他们也确实比我强。学历,工作能力,为人处事。我输的心服口服。然后只要快速学习就好了。

上海是个神奇的城市,她不问你的出生,学历,不会鄙视你家庭条件,她只看你是否努力,真的。

我知道我有一天会回上海的,哪怕会变成房奴按揭。我不在乎自己是否有房,因为我有理想。留在上海,让我的后代有更好的生活,已经是我此生最大的理想。

我也知道家乡安稳,衣食无忧,在家乡我不需要一分钱贷款,买辆好车拉着姑娘过平凡的生活。吃吃饭看看电影。每月1号的时候穿着大拖鞋到租客那里收租子。

我也知道北上广房价高也许要做一辈子房奴,买杯豆浆还要排队,坐地铁挤得像汉堡包,买辆车还要摇号,一个破车牌8万块。

那年幼稚的为了省钱不吃早饭的自己付出的代价就是如今每年体检都要观察随时准备切除的胆囊上的息肉。

你以为我不解亲情,为了一点钱放弃家乡到4000公里以外的城市拼的昏天黑地,看不到父母日益的年迈,就是为了回来过年聚会的时候喝着咖啡笑着告诉你我收入比你高?

你还说我虚荣我自私我价值扭曲?

我知道,再也遇不见那个陪我住650一个月的房子,给我做饭学削土豆皮弄伤手指,我发烧时整夜跪在地下给我换毛巾的女孩子了。

我再也遇不见为了一个页面的用户体验几个哥们争得面红耳赤约好下班吃火锅边笑边骂对方傻逼的铁哥们了。

再也没有在办公室被经理骂的狗血淋头然后回到家努力改一个用户体验报告到半夜2点半的自己了。

那些放弃了家乡富足生活去一线城市打拼的,都是有理想有希望的孩子,他们才是这个国家各个领域改变的希望。

大城市奋斗的孩子和那些小城市养尊处优的孩子,到底是谁才是价值扭曲的?你倒是说说看?


来源:疯子驿站


微信公众号 智能互联时代


为了实现查询功能,需要先读取保存学生信息和课程成绩的文件,然后根据输入的学号查找对应的学生信息和课程成绩信息,最后输出查询结果。 以下是一个简单的示例代码实现: ```c #include <stdio.h> #include <stdlib.h> #include <string.h> // 定义学生信息结构体 typedef struct { char id[50]; char name[50]; int age; } Student; // 定义课程信息结构体 typedef struct { char id[50]; char name[50]; int score; int credit; int is_common; } Course; // 从文件中读取学生信息 void read_students(const char* filename, Student students[], int* count) { FILE* fp = fopen(filename, "r"); if (fp == NULL) { printf("Failed to open file %s\n", filename); exit(1); } *count = 0; while (!feof(fp)) { fscanf(fp, "%s %s %d", students[*count].id, students[*count].name, &students[*count].age); (*count)++; } fclose(fp); } // 从文件中读取课程信息 void read_courses(const char* filename, Course courses[], int* count) { FILE* fp = fopen(filename, "r"); if (fp == NULL) { printf("Failed to open file %s\n", filename); exit(1); } *count = 0; while (!feof(fp)) { fscanf(fp, "%s %s %d %d %d", courses[*count].id, courses[*count].name, &courses[*count].score, &courses[*count].credit, &courses[*count].is_common); (*count)++; } fclose(fp); } // 根据学号查找学生信息 void find_student_by_id(const char* filename, const char* student_id, Student* student) { Student students[100]; int count; read_students(filename, students, &count); for (int i = 0; i < count; i++) { if (strcmp(students[i].id, student_id) == 0) { *student = students[i]; return; } } printf("Cannot find student with id %s\n", student_id); exit(1); } // 根据学号查找课程成绩信息 void find_scores_by_id(const char* filename, const char* student_id, Course courses[], int* count, int* common_count, int* common_credit, int* total_credit) { FILE* fp = fopen(filename, "r"); if (fp == NULL) { printf("Failed to open file %s\n", filename); exit(1); } *count = 0; *common_count = 0; *common_credit = 0; *total_credit = 0; char id[50]; while (!feof(fp)) { fscanf(fp, "%s", id); if (strcmp(id, student_id) == 0) { char course_id[50]; int score, credit, is_common; while (fscanf(fp, "%s %d %d %d", course_id, &score, &credit, &is_common) == 4) { strcpy(courses[*count].id, course_id); courses[*count].score = score; courses[*count].credit = credit; courses[*count].is_common = is_common; (*count)++; if (is_common) { (*common_count)++; (*common_credit) += credit; } (*total_credit) += credit; } break; } else { // 跳过该学生的成绩信息 char line[100]; fgets(line, 100, fp); } } fclose(fp); } int main() { // 输入学号 char student_id[50]; printf("Please input student id: "); scanf("%s", student_id); // 查找学生信息 Student student; find_student_by_id("students.txt", student_id, &student); // 输出学生信息 printf("学 号:%s\n", student.id); printf("姓 名:%s\n", student.name); // 查找课程成绩信息 Course courses[100]; int count, common_count, common_credit, total_credit; find_scores_by_id("scores.txt", student_id, courses, &count, &common_count, &common_credit, &total_credit); // 输出课程成绩信息 printf("共修:%d科,实得总学分为:%d\n", common_count, common_credit); for (int i = 0; i < count; i++) { printf("\n课程编号:%s\n", courses[i].id); printf("课程名称:%s\n", courses[i].name); printf("综合成绩:%d\n", courses[i].score); printf("实得学分:%d\n", courses[i].credit); } return 0; } ``` 请注意,在这个示例代码中,我们假设学生信息保存在students.txt文件中,每一行为一个学生信息,以空格分隔;课程成绩信息保存在scores.txt文件中,每一行为一个学生的所有课程成绩信息,以空格分隔。如果您的文件格式不同,需要适当修改代码以适应不同的文件格式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值