I read three blog posts this week. Reading them together is of great educational significance for our career development.
Article 1:
Thoughtworks Written by Ravi Mohan, former employee ,《
However
Ma daoda, commercial programming is boring . Martin Fowler
A post Writing enterprise software is not just a piece of data. Not only Algorithm Problems, hardware manipulation, and a large number of mathematical applications are interesting. Caring for customers (Martin's so-called customer affinity), making every effort to bring the business benefits of their software to customers is also a challenge. Ravi does not agree in the post and thinks that
Martin Fowler It is an indisputable fact that commercial programming is boring. Do not believe it. I have always seen talented Program Developers develop compiler, operating systems, TCP/IP stack, large-scale parallel systems, high-performance servers, game engines, and other system-level software. Even a good commercial software programmer is eager to develop system software. On the contrary, I have never seen that Niu Cheng, who can earn money by developing system software, is eager to develop commercial software. Before the Berlin Wall fell, I saw the East Germans fight to the West. I didn't see any West Germans fight to the east. (The angry youth don't have to argue with me about how the East Germans are doing. Ravi's own example. Whether East Germany is good or not ). Ravi also said that even if
Thoughtworks Internal staff are also infinitely eager for system programming. Every time thoughtworks discusses expanding its business to embedded programming and non-other non-enterprise computing fields, thoughtworks's employees are all very popular. Then Ravi quoted Paul Graham,
It is said to concentrate on solving difficult but clearly defined problems out of self-protection needs, because solving trivial problems all day long cannot make people learn anything, but they can only become stupid. . System Programming gives people a greater sense of satisfaction than trivial business programming. Ravi further talked about Martin Fowler and admitted that the problems encountered in commercial software development are too casual. Many of them are designed to meet the inexplicable requirements of customers and will not give programmers the opportunity to grow. He particularly agrees with Martin's"
The real challenge of business programming is to find things that can bring tangible benefits to the customer's business in software. To achieve this, we need solid industry knowledge and technical skills. ". Unfortunately, most commercial software programmers are in an awkward situation: industry knowledge is not as good as industry experts. Programming Technology is not as good as hacker (the hacker word is already equivalent to Cracker, so I still use the original article ). Of course, this embarrassing situation also exists in other programming fields, but the symptoms are not that serious. Funny thing, Ravi said that Martin is actually a lucky commercial programmer. There is always a chance to cooperate with people to find out his Code What commercial value does it have, which is essentially different from ordinary "coders. This is why outsourcing work is so boring: business analysis has been fixed. The encoding framework has been set. Programmers who undertake outsourcing projects have limited room to play, let alone fun. The main point of the author is that to make your work interesting and meaningful, you must make great efforts to become a business expert. Or you can become a programmer who can play with the system. In fact, system programming experts are also business experts. However, their business areas coincide with the technical areas. The second post is
Reg Braithwaite A post, 《
Business programming is not that difficult? . This post also cited another short article by reganwald, 《
How to make programming difficult . Reg in two articles Article I have talked about the same point of view: Commercial programming is widely and superficial on the surface. Programmers have a lot of problems to solve, but there are no special problems. Even if you use the latest technology, it is not enough to make common business programming more meaningful. In Reg, Ruby on Rails programming is like listening to Jaco pastorius. Anyone can do anything. Learning experience can be obtained only when the Jaco feast is copied. Take ror as an example. Using ror is far from enough (it doesn't matter if you don't need it ). Carefully study the ROR code and learn how to design your own DSL. In Business programming is not that difficult? Reg provides three examples. One is to determine in real time whether the used credit card is stolen from the usage of the credit card. One is the real-time truck scheduling problem, which can optimize the truck route and departure schedule for road mines and delivery requirements. Another is the sales assistant system, which can learn the characteristics of potential customers and help sales decide whether to follow up. Well, there are two problems with pattern recognition and learning, one is scheduling and network flow optimization. These are all very challenging issues. Can make an ordinary business project interesting (of course, it can also make our pressure increase ). Of course, if you are satisfied with a fixed monthly payroll and know that your job is about to be outsourced to College Students in Saigon, you don't have to worry about it. The main point of the author is: the challenge is not given by others, but driven by ambition, you find it yourself. Maybe in the future, we should find some challenging questions for ourselves to stimulate our potential. Otherwise, too many projects will be wasted. The third post is the inventor of XML.
Tim Bray A
Short text . In Tim's
Effort The two main processes of jruby are added to sun. After the news was published, Tim received a query from almost all JVM language authors asking why Sun chose the jruby buddies and whether he could provide support for other JVM languages. So Tim talked about the reason why jruby was valued. First of all, no one asked me. If no money was given, the two bosses put a lot of energy into using various technologies to revitalize half-dead jruby projects. Second, there are active Community (Mostly because of the rails trend ). Third, they are good at communication, making reports everywhere, presenting impressive project progress. Fourth, they constantly issue high-quality code. Each version is greatly improved compared with the previous version. That is to say, they prove their abilities, demonstrate their leadership abilities, and more importantly, they constantly deliver outstanding works. In vocational training, it is often said that to make things happen and make things done, we need to do two things to make a smooth career ). Jruby is a good example. The Educational Significance of the post is obvious, so I don't need to be arrogant, right?
Trackback: http://tb.blog.csdn.net/TrackBack.aspx? Postid = 1236675