posted 13 years ago
I am not a proffesional programmer, and never was, but I am trying to become good enough to become. I have stopped programming some ten years ago, and started again few years ago.
When I started to learn programming again, few years ago, the better part started when I stopped to think about my self that I am good in something, becaouse, it was for me like that, then it was much easier. For me, saying to my self that I am not even nearly close to what I want to be, putted me into more realistic frame. I, kind of, started to feel even more happier, becaouse small things that I've done than took me small small step further towards what I imagine that I can be. From my older point of view those small steps are something that I would never like at all, but knowing more precisely which are my borders, I could measure more corectly what I do, and just having a more real picture made me happier. There is much more to it, for programming, then just programming. In my experience, to make programming or something like programming perfect, everything else has to be perfect as well. In my experience that is a huge work, to have perfect order in all fields of life and realtionships with people as well, so that behind the back, while programming, there is nothing else but the perfect life.
Once, I have gave up on programming. I haven't touched computers for years, not seeng the screen. I was actually happy that frustration stopped after that. It is actually that I don't want to be without programming. The other, or maybe even the first thing, is that I wan't to have something, one thing, in which I will go deeper and deeper through my whole life. That's the perspective that I need. I can imagine that I will be very good programmer in ten years, and I can imagine that I will be very smart when I will be old, and that makes me happy. When I have stopped programming, and when I started to learn again, when I couldn't read a two hundart page book, watching that from the mathematical point of view I was so dumb and stupid, so helpless, and now, even though I know that I had experiences of life that I needed, just knowing what I became makes me feel so sory for my self that I never want to repeat that again, becaouse, being good in something like programming or math is not the matter of inteligence or talent, it is even not matter of work, what it is, it is actually matter of time, long years, and long days in those years spent in it. There is absolutelly nothing that can measure with that or suragate that.
I had few times in last few years moments when I felt , how to say, like little bit empty. For me, in my own experience, those moments come and go away. One day I feel like what I am doing is some hard physical no brain work, and then in the other day I see things in retrospective. Last retrospective moment I had, not so long ago, was nice. I could sit, enjoy and watch how many things I have learned in last few years, how many details. I knew then exactely that there is no talent or inteligence that can by it self be enough, when I was spending time in those details I haven't been feeling so good all the time, but when I see the whole picture behind me, that actually might be a real knowledge. Few times it happened to me that I have felt that I went "a level up", that I have learned things I haven't knew before. It sometimes excites me that I have learned things that I didn't know that they are there for learning. I was missing that feeling.
Java isn't really a toy as it appears to be. Few weeks ago I have watched classes from the MIT open course ware, from Computer System Engeeniring, all that and much more is what Java deals with. Java is quite much a real world. What I personally miss is C++ and pointers, and I miss assembler. I have some little experience with that so I will leave that for later times to come back to. But that is the experience becaouse of which sometimes I think about Java as like a creator not a programmer, and I need that view, it is only that I don't explore it now. When I started to learn Java I was allways looking on it how it should or suppose to look from inside, but somewhere on the way I lost that a little bit.
It happend to me in last few years that I was constantly just learning things, whatever I wanted to do, I could imagine it, but usually I had to read a lot of material just to do the basic things, and like that from line to line. In one moment that stops.
I am right now in some moment when that stopped for me, to feel like that. At this moment I am rethinking all that I know, and now what I am doing is that I am trying to think about programming, how do I do it, more than I am learning, and to think about how do I think, so that the next things that I will learn I will allready know how to think about it and learn faster with less time spent on trying to figure out the most basic things.
I still haven't finished my learning of oo programming on the way that I learn things. I will have to , again, learn parallely Java and C++, so to be able to compare things, and simply test every combination that I can see and follow every conclusion to another that comes to my mind.
In my experience the only bad thing is not to know my own place and borders in the big picture, I don't know how to say it. I have one thing, that I don't really care that I am like that, but anyway, what I do is that I do not give weight to the things that is given to somethign by community or by books or however, for me it is extremely important that I come to own conclusions, for me it is important that I can weight the things my self.
What I wanted to say is that when I am exploring things to me it is important that really everyting I explore equally, every question, every path, things that are obviouse, unobviouse, and all the things that are obviously wrong paths, espetially those things even I need to explore equally as any other thing. But I am still trying to say that I love to do it "under the level of programming cookbooks", I love to explore things withouth practical reasons, I don't know how to say it. I love to take time and to "practice" things withouth any reason and withouth any purpouse except just to learn it and explore it if I can more than thoroughly. It seems like it is a waste of time, and it seems like it has nothing to do with real needs, but actually that is less waste of time than it seams, it's more fun than it seams, and it has really big practical advantages, once.
The other things that I am doing for programming is that I am following court decisions of US Supreme Court, I am following Bloomberg radio and MarketWatch, and I just have started to read about politics. In one hand, becaouse English is not my primary language, this is the way how I can come closer to it. On my own language I can be really productive with all sorts of things, but with English, becaouse Java is all English, I am so glad that I stepped out of my own box and started to read this things.
For music it is not needed artistic gift, the most needed is to be able to love an instrument, djembe, tarabuka, guitar, trumpet, whatever, and it is important to play with it, to love to play with it. Knowing music theory is ockay, but actually it can't measure with ordinary love for playing. In my experience it is most important to find the right instrument, which You can love.
I don't know if five years is really all Your experience with programming. If it is something around that, than I would say that You call it mediocre only becouse You are somehow bound to do it proffesionally, and if You would have been doing it for fun for five years, probably that's not how You would call it, I am not sure, I just think like that. Except formal stuff, knowledge, technique, other side is just living with all of it, with thinking about it. No matter how much someone can learn in one year, or however, there is that other side, unofficial side of it. If its around five years, the fun is just starting.