人物志:一个平庸程序员的想法

前天晚上,老婆和我偎在床上说悄悄话,大致的意思是所有她的同学都有房子了,有些还当上了管理人员,并带着少许调侃说我以后也就这样了,1年10多万,失业就会掉头发。

我今年28,一个C++/Java程序员,跟大多数人一样,天资平平,虽然爱学习,但没有上一个好大学,工作这么几年也没有混上一个管理人员,有时候在自己看来,稍稍有些可悲。因为官本位的残留+农耕文化,在中国搞技术历来就是一个吃力不讨好的事情。搞技术意味着被人管,薪酬低,上升通道窄,所以好多技术人员包括优秀的总是希望能在一段时间以后转型,可是管理也是一门学问,控制社会关系不一定比控制计算机简单,所以彷徨且不时有受挫感。我也一样,有时候一个人看书的人总会想自己的理想到底是什么?什么才会让我觉得自己有存在价值?思来想去,我还是觉得自己是一个比较典型的程序员,喜欢写程序,喜欢调试,喜欢帮助别人,这些都能带给我快乐。既然认定了这条路线,就坚定地走下去,但只是想做技术人员还不够。

我有过一位法国同事,技术人员40来岁,做测试写文档,放在中国来说是典型的失败。有次看了他写的详细测试报告,我不敢相信Excel能做出这么NB的东西出来,在我的赞扬之下他脸上荡漾着满足感。听他说自己做了十多年技术人员,觉得自己挺适合干这个,非常坦然,我有一种朴素的感动。这根我看到国内程序员普遍焦虑不一样(当然有社会保障因素),那就是专注于自己喜欢的,一直干下去。在兴趣和严格要求自己产出物的导引下,一个你认为不起眼的小事情也会让人感觉莫大的惊喜。岁月会让我们老去,但兴趣,专业的心态不会。我更希望在帮传代的过程中,用朴素的,职业的技术情节影响新生代程序员,推动行业的整体进步。

你到底想干什么?这是一个问题。我看到好多人工作几年后还在今天groovy, 明天ruby,后天uml,然后是struts2,反正什么火跟什么。一天一天宝贵的时间再流逝,人也越来越焦虑,我不知道他们到底想要干什么,因为普通人是很难同时干好几件事情的。或许他们认为这些新鲜简单,学学就会,但我认为,不专业是技术人员最大的敌人。很久前我面试过一个开发人员,据说对struts非常精通,我就问 说说你怎么将jbpm集成到struts里面去,然后支支吾吾一大堆,貌似200+k的struts源代码都没有读过(我试验过,扩展webActionContext, 引用jbpmcontext,增加线程保护,扩展struts bean映射jbpm var)。就如同学groovy,但不知道它是通过什么样的语法翻译出来的(parser generator);学ruby,不知怎样用C增加系统关联性,总在技术的外围打转,这样下去,焦虑就是一种必然了。我的想法就是抓住一种最感兴趣的,把它搞透,不要害怕哪一天这个技术被淘汰了,计算机越往下关联越大,周期越长。即使有时候因为工作的性质让我们在外围打转,我们也应该在兴趣点上持续深入,专业一点,更专业一点,即可以探奇得到满足感,也可以让你时时充满竞争力,说不定哪天就用上了。

计算机的基础是编译+操作系统+数学,比如写一个高效的多线程程序,写一个调试器,写一个脚本语言。基础的基础是数学,所以要想专业必须趁年轻能看进去书的时候打好数学基础,即使不通透,也要知道概念。就拿我做的DSL的graphical editing来说,就包含解析几何、线形代数、立体几何、微积分、图论(离散数学)等学科,这还不包括DSL的Run/Debugger/Debuggee,Text Editing等。如果你做的工作感觉不到数学的存在,那很危险:)。曾经有人说“计算机是数学的艺术”,一点不假。

但总是有些笨人比如我,小老头了还在看数值计算,概率等数学书,看到ms, google的requirements都不敢投简历,但没关系,只要能够按照自己定的目标逐步靠近,不断学习,不断挑战自我,肯定会有收获,无论物质上还是心理上。即使最终没有在IT史留下名字的一撇,人生也没有白活,因为我在自己站着的土地上认真地来过。

爱就努力的去做吧,愿每个程序员都能有坚强的信念和一片属于自己的天空!

 

AI实战-学生生活方式模式数据集分析预测实例(含24个源代码+69.54 KB完整的数据集) 代码手工整理,无语法错误,可运行。 包括:24个代码,共149.89 KB;数据大小:1个文件共69.54 KB。 使用到的模块: pandas os matplotlib.pyplot seaborn plotly.express warnings sklearn.model_selection.StratifiedShuffleSplit sklearn.pipeline.Pipeline sklearn.compose.ColumnTransformer sklearn.impute.SimpleImputer sklearn.preprocessing.OrdinalEncoder numpy sklearn.model_selection.cross_val_score sklearn.linear_model.LinearRegression sklearn.metrics.mean_squared_error sklearn.tree.DecisionTreeRegressor sklearn.ensemble.RandomForestRegressor sklearn.model_selection.train_test_split sklearn.preprocessing.PowerTransformer imblearn.pipeline.Pipeline imblearn.over_sampling.SMOTE sklearn.ensemble.AdaBoostClassifier sklearn.metrics.accuracy_score sklearn.metrics.precision_score sklearn.metrics.recall_score sklearn.metrics.f1_score optuna scipy.stats torch torch.nn torchvision.transforms torchvision.models torch.optim cv2 glob glob.glob torch.utils.data.DataLoader torch.utils.data.Dataset random.shuffle torch.utils.data.random_split torchsummary.summary matplotlib.ticker pyspark.sql.SparkSession pyspark.sql.functions.count pyspark.sql.functions.max pyspark.sql.functions.min pyspark.sql.functions.avg pyspark.sql.functions.stddev_samp pyspark.sql.functions.skewness pyspark.sql.functions.kurtosis pyspark.sql.functions pyspark.ml.feature.Tokenizer pyspark.ml.feature.VectorAssembler sklearn.preprocessing.LabelEncoder keras.models.Sequential keras.layers.Dense keras.utils.to_categorical ptitprince statsmodels.distributions.empirical_distribution.ECDF statsmodels.stats.outliers_influence.variance_inflation_factor ppscore sklearn.feature_selection.mutual_info_classif sklearn.decomposition.PCA sklearn.model_selection.StratifiedKFold sklearn.tree.DecisionTreeClassifier sklearn.metrics.balanced_accuracy_score sklearn.metrics.confusion_matrix mlxtend.plotting.plot_confusion_matrix scipy.stats.pearsonr scipy.stats.f_oneway sklearn.feature_selection.mutual_info_regression sklearn.feature_selecti
AI实战-信用卡申请风险识别数据集分析预测实例(含9个源代码+91.57 KB完整的数据集) 代码手工整理,无语法错误,可运行。 包括:9个代码,共44.98 KB;数据大小:1个文件共91.57 KB。 使用到的模块: pandas os matplotlib.pyplot seaborn wordcloud.WordCloud sklearn.model_selection.train_test_split sklearn.preprocessing.LabelEncoder sklearn.ensemble.RandomForestClassifier sklearn.metrics.accuracy_score sklearn.metrics.classification_report sklearn.metrics.confusion_matrix plotly.express plotly.subplots.make_subplots plotly.graph_objects plotly.io sklearn.base.BaseEstimator sklearn.base.TransformerMixin sklearn.preprocessing.StandardScaler sklearn.preprocessing.OrdinalEncoder sklearn.pipeline.make_pipeline sklearn.compose.make_column_transformer imblearn.over_sampling.RandomOverSampler sklearn.svm.SVC sklearn.tree.DecisionTreeClassifier sklearn.ensemble.HistGradientBoostingClassifier sklearn.ensemble.GradientBoostingClassifier sklearn.neighbors.KNeighborsClassifier sklearn.model_selection.GridSearchCV sklearn.ensemble.VotingClassifier torch lightning torchmetrics.Accuracy torch.utils.data.Dataset torch.utils.data.DataLoader numpy warnings matplotlib wordcloud.STOPWORDS collections.Counter sklearn.ensemble.ExtraTreesClassifier sklearn.ensemble.AdaBoostClassifier sklearn.ensemble.BaggingClassifier xgboost.XGBClassifier lightgbm.LGBMClassifier catboost.CatBoostClassifier sklearn.linear_model.LogisticRegression sklearn.model_selection.RandomizedSearchCV sklearn.preprocessing.MinMaxScaler imblearn.over_sampling.SMOTE
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值