为什么SA不会写代码?

系统
大多数SA都会秒速告高呼:“俺不是码农”!奇怪的是,他们经常会补充自己了解并使用过N多的编程语言。为什么会酱紫?可以改变吗?为了让系统管理员都可以成为牛叉的程序员,本文分享的5点建议,仅供大家参考。

大多数SA都会秒速告高呼:“俺不是码农”!奇怪的是,他们经常会补充自己了解并使用过N多的编程语言。为什么会酱紫?可以改变吗?为了让系统管理员都可以成为牛叉的程序员,下面是我的5点建议。

专题推荐:SA,神仙与装机男:运维的工作到底啥样儿?

1.找一个自己关注并想解决的问题

SA不实际使用工具,他们只想学习工具的原理。他们认为当问题发生时,知道如何解决问题比实际解决重要的多。SA有可以解决几乎任何问题的有效方案。潜意识里,他们想要使用工具,但由于他们的最终目的是理解工具的原理,当他们希望用工具去解决问题的时候,他们学习了工具却没有实际解决问题。学习是目标,当目标达到,换个工具继续学…

这使得许多SA成了hello_world之王…会用各种语言编写helloworld,但只会写helloworld(目标是掌握每个语言的基础,然后继续下一个语言)。

改变这种恶习的唯一方法是发现一个你自己要解决的问题,并且解决它。别为了别人写程序,为你自己写。写一些程序连接ldap服务器或者计算数值并写入数据库…然后,让这些程序变得实用,而不仅仅总是停留在练习。

2.选择,就坚持到底

SA适应本领超强,于是乎产出了许多不同版本的hello_world,在取得实质编程的进步之前他们往往换了许多种语言。如果你想使用C,就别在遇到正则表达式问题的时候转战ruby或python…还是努力学习如何在C语言中使用正则吧。

SA需要知道别人所了解的知识,甚至要了解的更多。能成为各领域的牛人是他们引以为傲的地方。虽然Go语言在持续火热,但不要认为PHP和Python无用过时了。如果你想要使用Go语言,很好,但请坚持。如果想使用Clojure语言,也很好,但不要在别人讨论node.js时又觉得Clojure功能很差…

为了促进编程能力,写很多小程序来练习这门语言的不同部分,然后你对这个语言核心的技术有深层的了解。将这些小程序存在你的源码里用作以后的review,并帮助你来建立信心。

3.脚本并不是编程

SA是工具管理大师…他们知道海量的工具。这就是为什么对于他们来说,写脚本变成了很自然的事情,用脚本把不同的工具组合起来使用。但这可不是编程,这是只能算得上管道。当你在一个非shell的环境中这会显得更加明显。SA的代码里往往有很多程序…也就是说,本质上他们在一个非shell的环境里写着shell。

4.模块和库必不可缺

SA有代码洁癖,并且很自负。使用模块或者库就像在做欺骗。这就是为什么很多SA只知道基本的C语言,他们没有本事来实现自己的库,却又耻于用别人的库…于是他们成了指针和其他技术的大师。许多程序员编程时看待模块和库的态度就像SA看待一个程序本身一样 —— 只不过是实现目标过程中的工具罢了。

别去使用工具,使用模块或者库,别觉得这样很奇怪~

5.别太在乎别人说啥

导致不去写代码的***障碍之一是觉得写出来不好。代码不够***或格式错误亦或是没有使用合适方法。这就好像***天去学校感觉因为服装不合适而被别人指点…你喜欢这些服装,然而你错了,他们并不适合你。对于别人来说可能只会因此非常沮丧,但对一个以掌握所有技术为荣的SA来说,这是难以忍受的,导致他们发飙:“我不是个码农”!

解决方法是不要太在意比人的说辞。即使你的代码一行有80个字符串,那又如何呢?如果你使用大括号结束,很好。不要在乎别人说什么。重要的是程序的功能实现,而不是优美的语法。如果你真正的选择一个语言并且坚持下来,你会自然在某些时候使用良好的代码习惯。在你写代码的时候可能会持续感到批评和讽刺,但在你养成习惯之前,别让自己轻易放弃。这就是为什么自己写程序解决自己的问题非常重要。

原文地址:http://cuddletech.com/blog/?p=817

译文链接:http://noops.me/?p=667

责任编辑:黄丹 来源: noops.me
相关推荐

2015-03-16 11:33:16

程序员代码bug

2024-06-28 12:05:24

jsNode模块

2013-05-16 09:58:01

写代码创业想法创业者

2020-01-15 08:42:16

TCP三次握手弱网络

2015-07-22 16:46:13

Windows 11理由

2020-09-04 15:34:07

C编程语言开发

2012-11-07 17:05:41

Google实习生

2018-06-08 14:06:02

MVP架构Android

2012-06-27 10:26:19

Surface

2021-03-02 18:37:18

commit程序员公司

2013-06-03 09:36:24

21世纪代码写代码

2021-12-21 06:09:05

Python切片索引

2018-06-20 00:52:05

SD-WANMPLSWAN

2013-03-04 09:46:06

2015-12-09 15:12:13

产品经理写代码

2018-09-27 14:50:39

编程语言c语言计算机程序

2009-07-27 16:07:27

MySQLOracle

2020-02-11 15:30:51

Redis快照数据库

2012-11-13 10:27:45

PythonGo编程语言

2019-05-23 15:34:07

华为禁令Arm
点赞
收藏

51CTO技术栈公众号