Over the last year that I have been coding in the world I have been confused to all lengths by something that seems to be repeated throughout the world, loneliness. No matter where I look I see programmers alone, and they are always in that state, no matter what I have tried to do in regards to bringing in partners or joining others on their projects, It’s a lot like pulling teeth, and its about time it came to an end.
When I was just a nubile programmer, still wearing my baby shoes and sucking my pointer thumb, I was charged with programming an application. The majority of it was child’s play, but things like memory management and file manipulation were driving me crazy. I tried for days to get things sorted but no matter what I did my problems persisted and it was time to find some help. Turning to my best friend at the time, I asked a simple question, “Would you help me with this?” I was stunned by the response, but it didn’t register in my mind for one reason or another. There was nothing I could do to bring this application to fruition; I tried to query a number of people to get some assistance with the app, but to no avail. It was a lost cause, and I was puzzled over it for months.
I worked with a couple guys in school on a project that was pretty complicated, involving a binary search tree, a hash table and a queue for overloaded buckets on the hash. It was a pain in my ass, but I took care of the hash related functions within the first couple days, and then the progress halted. My two partners in crime were not working on their project because they were working on other things. They clearly had more difficult portions of the lab I suppose, one had putting it together the other took the BST generation and searching functions, but we had two weeks to put this together and it could have been done in two days.
Opening my eyes was the possibility that I help them out with their code, but with my previous luck at getting any leeway with programmers and their code I was pretty skeptical. The proposition was made and again I hit a brick wall; however unfortunate it was for this to be going on, I was turned down and had to wait for them to put their own time into it. Needless to say, we ran right up to the wire with this one and had quite a few meetings in the computer lab to straighten out much of it.
I worked at a web development firm, one that was trying to get rich quick and not work hard doing it, with an application that was in a hell of a state. The idea was to create an app that could be distributed to many clients and give them customized content management where necessary. The issue being that they were in the Silicon Valley where web developers are still a dime a dozen, willing to work for pennies on the dollar. Saying this arena is competitive is like saying Einstein was a bright lad. The truth is that they had developed this application without taking into account the needs of the application. When I started working there I was given a task of making it work better for their situation by delivering a complete redesign. So I did.
I have already started writing about how to develop applications in PHP, and most of that was centered on my experience with this web firm. My boss was not a programmer, in any way shape or form. He had learned the ropes in flash ActionScript and had a less than acceptable level of PHP in order to pull off the application that he was trying to put together. Simple things like the date function are lost to his abilities. Along the same lines so am I.
Hitting the ground running was not difficult at all. Their system had some basic functionality that they wanted me to recreate; I started where I knew it wouldn’t take much time at all and blazed through a number of issues that they had run into, making their app not only work as they were trying to get it to, but making it do so faster, smoother, with less code. After a couple days I realized that they were taking advantage of my abilities and I quickly lost out. They had me working cheap and long hours, ergo little reward. I put a week into their app to make it work as they had expected and they gave me a new task… but the one thing that I had been looking forward to, working with another programmer, was lost in the maelstrom that I had created myself. I was better than he was at solving problems, and so there wasn’t much purpose in putting me into a position with him since he wasn’t in a position to be helping me, I would spend a couple hours of my day explaining why he should be doing things differently so that I wouldn’t hit an issue when our code was merged. It became an uphill battle to make my own job less stressful, and it showed in my work. I would have to put twice the time into my code in order to make sure he understood what I was doing and it would take me twice the time to read though his code in for the same reason.
Another unfortunate incident and another fortunate opportunity presented itself, I was gone. The firm was fun while it lasted, but it was definitely not destined for anything great, at least not for me. I am a developer and I’m not accustomed to spinning my wheels. Time is fleeting, something that is completely uncontrollable and it cannot become something that is taken for granted, or it will surely become the downfall of your process.
I am currently on an internship, paid and simple. The people that I work with are intelligent and often give me a run for my money. They are still suffering from the social aspect of development that I have been looking for over these years. I have been alone in my cube of thought and mind for months, developing and processing as I feel is necessary when time permits between the testing and development that I do for them.
There is something to be said here, development is a lonely road. It has lead me to some interesting and seemingly impossible situations, things that you are only supposed to be reading about in books, while it has also ruined me. My analytical mind is still able to wrap around problems and solve them, but at the same time, there is a balancing act going on between my mind and body. I know I can code alone, but I don’t want to. I know I can develop alone, but I don’t want to. I want to be able to bang heads on issues and come to a conclusion that is better than I had thought; I want to open my eyes to things I hadn’t thought of before. These are all possibilities, and they are not ignored herein, but I cannot hold on and wait for them to happen.