搜索            

无为论坛,没有版主,不删贴不封ID,北美中文论坛,加拿大中文论坛,红卫兵rolia,找工作,面试,职场,学英语,股市,炒股,心态,沟通

无为论坛,没有版主,不删贴不封ID,北美中文论坛,加拿大中文论坛,红卫兵rolia,找工作,面试,职场,学英语,股市,炒股,心态,沟通

Avatar

how do you manage complexity (1) (IT)

by super(学霸) ⌂, 2014-10-07 23:27
edited by 学霸, 2014-11-06 00:15

I always feel that we Chinese have a tendency to focus on the small things, at the expense of the big picture. It's even more so for Chinese programmers.

Recently, a C++ programmer here at Rolia asked for good interview questions. The topic became very hot, probably one of the hottest on Rolia. However, all the discussion has been on algorithms or compiler behavior or tricky language features. Nobody cared about the big picture.


When someone complained that the guy was too fixated on the small things, he asked for big picture questions. So I volunteered this question: how do you manage complexity?

He gave a long answer. Even though his answer made some sense, I felt he didn't hit any “point”. I told him so, saying another guy's answer, “divide and conquer”, at merely 3 words, is way better than his. I suggested that he gave points first, and details later.

I was surprised at what he had to say next. He said he simply didn't have a point. He's never heard of “divide and conquer”. And he asked where he could read about it.

He's obviously a very experienced programmer. A very thoughtful one, it appeared. And “read many books”. Yet he probably never read a book about software engineering.

Like many Chinese programmers in Canada, this guy probably is not a Computer Science major. However, I've met Computer Science graduates who couldn't explain the concept of "coupling".


Unlike other engineering disciplines where you have theory, models and formulas, software engineering is all about managing complexity. If you're good at managing complexity, you'll be a good programmer, even if you don't have a degree or don't have any programming experience. The ability to create order from chaos is the most important for a good programmer.

The focus on "tricks" among us Chinese programmers is very misguided, IMO. You can google out answers to algorithm or language questions. But you can never google out a good design for your project. Neither can you google out ways to improve your code. These things have to be in your blood. In your brain cells. In the way you think.

Tags:

IT, IT入门, 找工, 面试, 中介, 程序员, 码工, 电脑工作, job, interview, confidence

  752 views

整个话题:

 RSS Feed of thread

 
[x]