Don’t Rely on “Magic Happens Here”
来源:互联网 发布:c语言9除以10的余数 编辑:程序博客网 时间:2024/06/03 22:59
Don’t Rely on “Magic Happens Here”
Alan Griffiths
iF YOU LOOK AT ANY ACTiViTY, process, or discipline from far enough away, it looks simple. Managers with no experience of development think what pro- grammers do is simple, and programmers with no experience of management think the same of what managers do.
Programming is something some people do—some of the time. And the hard part—the thinking—is the least visible and least appreciated by the uninitiated. There have been many attempts to remove the need for this skilled think- ing over the decades. One of the earliest and most memorable is the effort by Grace Hopper to make programming languages less cryptic—which some accounts predicted would remove the need for specialist programmers. The result (COBOL) has contributed to the income of many specialist programmers over subsequent decades.
The persistent vision that software development can be simplified by removing programming is, to the programmer who understands what is involved, obvi- ously naïve. But the mental process that leads to this mistake is part of human nature, and programmers are just as prone to making it as everyone else.
On any project, there are likely many things that an individual programmer doesn’t get actively involved in: eliciting requirements from users, getting bud- gets approved, setting up the build server, deploying the application to QA and production environments, migrating the business from the old processes or programs, etc.
58 97 Things Every Programmer Should Know

When you aren’t actively involved in things, there is an unconscious tendency to assume that they are simple and happen “by magic.” While the magic con- tinues to happen, all is well. But when—it is usually “when” and not “if ”—the magic stops, the project is in trouble.
I’ve seen projects lose weeks of developer time because no one understood how they relied on “the right” version of a DLL being loaded. When things started failing intermittently, team members looked everywhere else before someone noticed that “a wrong” version of the DLL was being loaded.
Another department was running smoothly—projects delivered on time, no late-night debugging sessions, no emergency fixes. So smoothly, in fact, that senior management decided that things “ran themselves,” and it could do without the project manager. Within six months, the projects in the depart- ment looked just like the rest of the organization—late, buggy, and continually being patched.
You don’t have to understand all the magic that makes your project work, but it doesn’t hurt to understand some of it—or to appreciate someone who understands the bits you don’t.
Most importantly, make sure that when the magic stops, it can be started again.
- Don't Rely on "Magic Happens Here"
- Don’t Rely on “Magic Happens Here”
- Don't rely on black-box testing!! (From Writing Solid Code)
- whatever happens, please don't think less of me
- What happens if I don't retain IBOutlet?
- Don't Waste Time on Code Reviews
- What happens to software engineers who don't climb the corporate ladder and stay as engineers?
- Microsoft Working On Word Patch; Don't Panic Say Experts
- You don't have permission to access / on this server
- Don’t depend on the internet all the time.
- You don't have permission to access /*** on this server
- Images on iPhone tab bar don't appear
- You don't have permission to access / on this server.
- You don't have permission to access on this server.
- You don't have permission to access / on this server.
- Note On <You Don't Know JS - Scope and Closures>
- You don't have permission to access ××× on this server.
- You don't have permission to access / on this server
- Apache2.4 server Alias配置
- Don’t Nail Your Program into the Upright Position
- 重写Person类的equals方法
- R语言对数函数(已知底数和幂,求指数)
- mysql无法启动——Incorrect information in file: './mysql/user.frm'
- Don’t Rely on “Magic Happens Here”
- Lucene in action 笔记 term vector
- ajax
- JAVA基础之理解JNI原理
- 图片设置热点链接
- ~0uLL >> 1
- CentOS6.6使用linux git官网最新安装包安装git-2.3.5
- Don’t Repeat Yourself
- 记录下我的嵌入式开发生涯