Ok so, I just want to say this. I suck at doing projects. I really do. There's many reasons why, some of which I'm going to write down here. [comment]
[b]1. Massively Short Attention Span[/b] I have an extremely short attention span and as soon as a project gets a bit too tedious or I hit a problem that I don't want to solve, I might push the project away for weeks, months or maybe even abandon it altogether, in favour of something else. This is bad because it makes me used to simply having an alternative instead of actually fighting a problem and just gettting that shit done. It is also bad because it means that I often just won't get a project done at all and in the end, pretty much all progress is lost to nothing. Sounds terrible? It is! And it's a real shame as well. I'm really a spoiled kid that way. I've almost always had the luxury of just not doing something if I don't feel like it and still getting away with it somehow. This is a very bad character trait of mine and one I should change.
[b]2. Failure At Grasping the Problems[/b] I often seem to be working on the wrong things. I spend way too much time doing something that has very little effect or is only "extra schmanko". In effect this obviously follows that I get a neat system with all sorts of tricks, but in the end it's useless because the important aspects are wonky, broken or completely missing.
[b]3. API-Oriented Design for the Wrong Reasons[/b] This one's a bit more cryptic, but allow me to explain. When I design a system for something, like f.e. TyNET-CORE or Transcend's engine, I always try to make it as flexible as possible. The end-programmer should be able to do as much as possible with it and still be supported by the framework/API. This isn't a bad thing by all means! Hell, more flexibility is always good! But it isn't when it's done for the wrong reasons or at the wrong places. And this is something I seem to be doing often. I [i]over[/i]-design and want to make things too flexible, or at least flexible in places where it isn't really needed. So what does this end up with? Well, again, I spend way too much time doing the wrong things. API design is time expensive. It needs documentation, planning, a huge variety of interfaces, abstraction layers and function sets that allow flexibility and power to be interleaved. And, of course, I end up not doing actual work that would give some interesting and showcase-able products, but rather do internal things that only I can get boners for, since most likely nobody else is ever going to use any of the turdpiles I make. So yeah, I should really learn to overcome my fear of sometime creating one-way things and only extend API-level functions later on, once the necessary stuff is running.
[b]4. I Am Shit at Communication[/b] I often fail to communicate my actual intentions and goals, what I want to have as a product. What I want to do and want to have others do. This is probably mainly because I don't know myself and frankly don't really want to know. Most of the time I just go along, doing whatever the hell, without outlining a fixed roadmap or long-term goals or anything that would help established an actual "course of action". This also goes back to me not wanting to do one specific things and wanting to be able to do whatever the hell when I feel like it. And naturally, I have always been a rather secluded person and often prefer to work on my own than letting others take some work off me. I have to admit as well, that I have a fear of others being incompetent. I learned to rely on myself when shit comes to matters and if anything does severely go wrong, at least I only have myself to blame. De facto: I am not good at co-operation or teamwork.
[b]5. Hurry, Hurry, Hurry I want to get things done fast. If I don't get things done fast, I get mad at myself for being a slacker and a useless piece of shit for wasting precious time of my life. The problem here arises from the effect that I rush to do things, often without planning them out well, resulting in a bad design and overall rubbish result. From there on, there's two ways to go: A) Rewrite it B) Fix the problems. Both are awful ways for differing reasons. A is bad because it means a tremendous amount of work and mostly doing the same again. It basically means all the previous things were for nothing. B is bad because it's tedious. This goes again into point 1.
[b]6. I Waste Time[/b] This seems a bit contradictory with point 5, but it's not. Here's the deal: I should simultaneously cut down on wasting my time with doing things that have no point (watching stupid videos, reading tumblr stuff) AND just take it slower with work. This would either lead to the same productivity rate, but with time can only mean an [i]increase[/i] in productivity, since I'll be more relaxed at work, waste less time being distracted and generally make less faults. This is one of the points I wish to combat the most. All the others are of course very important as well, but this one just bugs me on a daily basis, because I have to watch myself be an idiot for so many hours.
So yeah. I'll stop here, although I'm sure I could find more reasons. Of course, someone will barge in again and proclaim that I don't suck at all and some points are negligible or even wrong, but man, this is my own impression. For example, I hear a lot of people say that I work a lot, which is bullshit. I don't work a lot, I merely make it seem like a lot. I could do so much [i]more[/i] and I am certainly not satisfied with the amount I'm doing now. The other fact is that most people are lazy faggots as well, only increasing the illusion of me being a hard worker. I don't give a shit if Billy McDumbass does almost nothing all day long, that doesn't make it any more right for me to sit around doing nothing.
And that's all I have to say on this for now.
Written by shinmera