About

Stay hungry, Stay foolish

Hi, 这里是谢科, 一个Python, Go后端程序员

我的github: https://github.com/kneed

Anurag's GitHub stats

毕业于广州医科大学生物医学工程专业,因为从小接触电脑所以对计算机的兴趣在大二学了C语言设计这门课后, 对计算机产生了浓厚的兴趣.当时的计算机似乎还没那么热门,知乎还是温赵轮,是程序员的聚集地,在毕业于皇家华南理工大学(笑)的轮子哥的影响下,一开始学习的都是C++相关内容.

大学的三年时间里,看完了 C++ primer, C++ primer plus(这边有点山寨C++ primer的意思哈哈,不过内容排版个人感觉比C++ primer会更适合新手入门) Effective C++, TCP/IP协议, 深入理解计算机系统.这几本书读完,基本对现代程序语言的设计有了全面大范围的了解. 也为后来Python, Go的学习以及Java, Javascript等语言的认识起到了非常重要的帮助.

为什么成为了Python和Golang后端呢?

简单来说,是因为错过了对应届生非常重要的秋招春招, 等我意识到其重要性后.已经是各大企业的招聘尾声了,也因为想先找份工作,还面了几个游戏公司的策划相关工作.现在想来似乎还得庆幸当时没有走到最后. 毕业后看着招聘网站上的介绍,都是要求工作经验至少一年的要求,深深陷入了沉思.而C++的岗位在广州也真的不多,大厂自然不缺人,小厂用C++的我记得也就几个游戏公司,还打电话来问会不会erlang. 穷则思变,当时Python似乎比较热门,于是花了两个月多时间,学习完了Python语言,做了几个爬虫项目,拿着这样的简历在蓝盾找到了第一份工作hhh.

此后的工作基本都是Python, 学习Go是在AAM的时候leader问有没有兴趣做Go重构项目.其实在这之前因为Go的热门,我已经对其有了基本的认识. 所以也是跟着leader开始了Go的重构项目之路.

如何看待程序员这份职业?

程序员在我眼中应该包含了开发, 架构, 技术研究三个内容.

对于开发来说, 掌握语言和计算机原理的相关内容,便能完成开发工作. 至于开发效率,则依赖于各种工具来提高.开发的未来我认为会越来越流水线化.因为现代语言的标准规范会不断的减少开发人员之间代码的差异. 而且在越来越精细化分工的社会背景下,大厂的开发工作需要更多的知识但是实际工作内容似乎会减少.

对于架构来说,主要是掌握大量的工具链,来组合这些工具链,结合基本的架构设计原则,来满足实际项目运行过程中的问题.这部分的工作,也会因为互联网行业的开源分享精神,变得越来越容易. 因为你身处一个13亿人口, 9亿上网人口的大国家,腾讯阿里这样的大公司已经沉淀了相关的架构设计来满足各种各样的场景. 作为一个架构师,大部分时候你已经不需要从头开始.

对于技术研究来说, 则是去研究前沿的技术或自己实现来解决实际的一些需求. 比如Google为什么要做K8s, LinkedIn为什么要做kafka, 一开始都是为了满足当前的需求而去做了这样的东西,最后成功了挺好用又开源出来.所以一个技术研究是需要去知道当前有哪些需求,现在能不能很好的满足, 能不能想办法解决他.

对于我自己来说, 按照常见的技术路线和管理路线来说,现在的自己感觉不管是智力还是精力,都处于我认知的非常棒的阶段.任何事情应该都能在一个合理的时间范围内去达成.作为一个程序员也好,去解决各种各样有意义的需求,这种感觉还是很棒的.

Hi, This is Ke Xie, a python and Golang programmer

my github: https://github.com/kneed

Graduated from Guangzhou Medical University with a major in biomedical engineering. Since I was in contact with computers since I was a child, I became interested in computers. After I took the course of C language design in my sophomore year, I developed a strong interest in computers. Computers at that time did not seem to be that popular. Almost still Wen Zhaolun, it is a gathering place for programmers.Under the influence of the wheel brother who graduated from Royal South China University of Technology (laughs), he started to learn C++ related content.

In the three years of university, I have read C++ primer, C++ primer plus (this is a bit of a copycat C++ primer, haha, but the content layout personally feels that it will be more suitable for novices to get started than C++ primer) Effective C++, * TCP/IP protocol, *In-depth understanding of computer systems. After reading these books, I basically have a comprehensive and large-scale understanding of the design of modern programming languages. It is also for the later learning of Python, Go and Java, Javascript and other languages Knowing has played a very important help.

Why is it a Python and Golang backend?

Simply put, it is because I missed the very important autumn recruitment and spring recruitment for the corresponding graduates. When I realized its importance, it was already the end of the recruitment of major companies, and because I wanted to find a job first, I had to face it. A game company’s planning-related work. Now that I think about it, it seems to be lucky that I didn’t come to the end. After graduation, I looked at the introduction on the recruitment website, and they all required at least one year of work experience. I was deeply lost in thought. And C++ There are really not many jobs in Guangzhou. The big factories are naturally not short of people. I remember that there are only a few game companies who use C++ in small factories, and I also called to ask if they can use erlang. Poor is thinking about change. At the time, Python seemed to be more popular. , So it took more than two months to learn the Python language, did a few crawler projects, and found the first job in Blue Shield with this resume hhh.

Since then, my work is basically Python. When I was learning Go at AAM, the leader asked if he was interested in doing Go refactoring projects. In fact, because of the popularity of Go, I already have a basic understanding of it. So I started with the leader. The road to Go’s refactoring project.

What do you think of the career of programmers?

In my eyes, programmers should include development, architecture, and technical research.

For development, you can complete the development work by mastering the relevant content of language and computer principles. As for development efficiency, it depends on various tools to improve. The future of development I think will be more and more streamlined. Because of modern language standards The specification will continue to reduce the code differences between developers. And in the context of more and more refined division of labor, the development work of large factories requires more knowledge but the actual work content seems to be reduced.

For architecture, it is mainly to master a large number of tool chains, to combine these tool chains, combined with basic architectural design principles, to meet the problems in the actual project operation. This part of the work will also be due to the open source sharing spirit of the Internet industry , It becomes easier and easier. Because you are in a country with 1.3 billion people and 900 million people online, large companies like Tencent and Ali have precipitated related architecture designs to meet various scenarios. As an architecture Teacher, most of the time you no longer need to start from scratch.

For technical research, it is to study cutting-edge technology or implement it yourself to solve some actual needs. For example, why does Google do K8s, why does LinkedIn do kafka, it was done in order to meet current needs at the beginning In the end, it was very easy to use and open sourced. Therefore, a technical research needs to know what current needs are, whether they can be well met now, and whether they can find a way to solve them.

For myself, according to the common technical route and management route, I feel that whether it is intelligence or energy, I am at a very good stage of my understanding. Everything should be able to be within a reasonable time frame. To achieve it. As a programmer, it’s great to solve all kinds of meaningful needs.