Забавная статья для определения нахождения путей повышения заинтересованности делом,мотивации(з.ы. для прогеров) ..Хотя,все просто)
"
An advice to beginning programmers
First, you need to program a lot to become a good programmer. Programming is no different from other acquired skills in this regard. Exercise is important. But you all knew this already. What follows from this principle is that you need to have ideas of programs that you want to program. Here we might bumb into problems. See, the whole idea of programming is to provide something useful, some functionality. Given beginning programmer's skills, the most difficult useful thing he can do is something very direct, say, an interactive web page.
But doing something that nobody else wants to do (hence something that hasn't been done already), but is useful anyhow, tends to be extremely tedious. That's the stuff people do for living. Programmer's dayjob may not always be boring and tedious, but mostly so. This is why I suggest that a beginning programmer should start with projects that have no relevance whatsoever with anything. Preferably something that has been done over and over again, several order of magnitudes better that you will be able to do it. Something like re-implementing, but not surpassing, the functionality of the Unix ls command, or some other Unix command.
Focusing on such a project, you are released of all tension between real world demands and what you actually have time and skills to do. Programming in the real world is all about compromising. With irrelevant pet projects such as re-implementing a HTTP client, for example, you don't have to compromise because your project does not have any relevance to anyone other than you. And if even you are better off with existing programs, there is no one you need to compromise for. You get to enjoy programming just for the joy of pure programming.
This is also why I think hobby projects such as implementing a weblog publishing platform or a RSS reader might not be such a fine idea. They are not not necessarily the worst ideas for a pet project, but they do have some major drawbacks. OK, you may have the drive to do the project all the way, to the point it's actually usable, or you might have a killer idea how to seemlessly integrate your project with existing software, but more likely you'll end up with a half-hearted pile of unmaintainable shit and it just makes you miserable. Not only because the code is unmaintainable, but because you have to actually use the software. And since any computing niche keeps breaking their own standards, it's an endless race to just keep up with all the incompatibilities and new features and new bugs.
(Yeah, you might also be determined to make the best weblog publishing platform or the best RSS reader; all the more power to you, but be prepared to spend endless hours implementing it. There is some pretty good stuff out there already.)
You could start such a project just for the fun of it, but the bulk of the job to create a good RSS reader, for example, is to deal with all sorts of edge cases, incorrect feeds, error conditions, fault tolerance; dull and tedious stuff mostly.
So, my advice is that you should pick an idea that has challenge, but once implemented is something that you don't plan to use, let alone release to the world. If it happens to be so good that you want to use it yourself, all the better; if it happens to be so good that others want to use it, even better yet, but for the most likely case, ie. it's a pile of shit, you don't lose anything since you didn't expect anything.
Finally, I need to note that this advice applies only for so long. At some point you need to tackle with the real world and you are better off implementing something real for yourself, or others, for a hobby project. But, to my opinion, it will never be as fun as all those completely pointless programming projects. Long live pointlessness.
(Oh, by the way, if you're a beginning programmer and think that programming just for the sake of it is completely idiotic, you might want to consider some other profession. Pointless programming should be fun.)
"
Комментариев нет:
Отправить комментарий