|
|
От: |
SergeyT.
|
http://sergeyteplyakov.blogspot.com/ |
| Дата: | 07.11.09 18:54 | ||
| Оценка: | |||
Okay so to wrap this up, a question that I have asked several other people as a kind of final question. What do you think it takes to be a good software engineer or developer, programmer kind of person? What is it that makes a good programmer?
DT: Oh, boy if I knew that it would be -- clearly the ability to deal with abstraction.
Modeling, conceptual modeling --
DT: Modeling and conceptual modeling, clearly the ability to communicate and I think you have to have a passion for problem solving and I think you have to care about the code you write in the sense that it's just not enough to get it done. You've got to view it, you have to view it as an expression. I wouldn't go so far as to call it literature I mean the literate program that you really are not happy.
The sense of beauty --
DT: You want to refine it till the point you want to polish it to the point, to the point that this is good. That this is something I am proud of, I've done it and typically reduce the blow to get it into a small compact form.
Fan mail --
DT: Well, I don't know about fan mail may but the darts can come but I think being here with Fred Brooks and other people, you just appreciate that software is hard and making sure that -- I think mentoring and apprenticing. I mean the whole, that's craftsmanship that the whole -- that's really important. I mean if you really want to be good find somebody who is really good and try and work with them, right. Find someone who will criticize your work. So you have to get better and work with the best, right so and if you are the best in your organization, you are probably hurting yourself, right. Being three or four years or five years the best, you should be looking for someone else to work with --
No challenge anymore.
DT: That's right; you will actually start believing that you are the best.