I’m a terrible programmer.
I’m terrible at naming things. Sometimes I end up with a very long method name like
Or a very short variable like
I don’t always follow best practices. Yes I know a lot of best practices but I only implement a few of them. Either because of lack of time to see for myself if its indeed a good practice or just plain laziness.
I do not optimize my code. And what I mean by this is that I haven’t used profiling tools on my projects to see if its actually speedy.
I do not use caching. Queries runs all the time even if there are no changes in the database. I’m thinking that not caching the data will not actually affect the performance if there’s only a small group of people using the application.
I do not refactor my code all the time. Sometimes I end up repeating the logic a few times and then I’ll get lazy and not improve the code.
I’m terrible at implementing coding standards.
Sometimes I name my variables like
$firstname, sometimes I end up doing
$last_name for the others. One of these days I’ll try to research on a tool that can implement coding standards for me. Or at least a text-editor plugin
that will shout at me if it sees anything inconsistent in my code.
I also want to learn a lot. To the point where I don’t know what to learn next anymore. And once I started learning something I couldn’t really get to the deeper parts because then I will be interested in learning another thing again.
I don’t do Test Driven Development. Yes I’ve wrote a tutorial about it and explored some of the basics like assertions, data providers and dependencies but it stopped there. I’ve never actually implemented TDD in a project.
I don’t do automated testing. Yes I’ve heard of Selenium, Sahi and other automated testing tools but I haven’t actually tried them.
I do not use tools that will make my life easier. Things like yeoman, grunt and bower, IDE with all the shiny new guns and swords.
I do not always ask others (programmers, developers, ninjas, zombies, robots) opinion on something.
I do not constantly think of the code that I’m writing. Sometimes I just copy and paste thing here and there. I name variables and methods poorly. And I end up with spaghetti code.
I’m having difficulty planning how should I code things. Something like having a clear picture on how to go about things. Yes I use mockup builders and I write things (system flow, psuedo code) down on paper but I cannot seem to have a clear picture of how to organize my code so that I will need lesser refactoring later on.
Those are the things that makes me believe that I’m a terrible programmer. But I’m working on it each day.