Archive for March, 2008
Things I wish I would have been told when I started developing
Posted by Tim Golen in My PHP / MySQL Life on March 19, 2008
Throughout the course of my development career I have come across my own pearls of wisdom. I wish that someone would have been there when I started developing to tell me these things and it probably would have saved me a lot of time and work. On the other hand, maybe it was learning these things on my own that helped me be the best developer I can be.
- If you write the same code more than once, you’re doing something wrong. Early on I can remember copying and pasting the same function into multiple files, then every time I had to change something in that function I had to update it in 20 different files. Today I still catch myself making notes in my code like “DUPLICATE FUNCTION EXISTS IN SUCH AND SUCH FILE”. Your code will be so much more efficient if you develop a way to never write the same code more than once.
- If you have the same information stored in different database tables, you’re doing something wrong. If you are storing the same kind of information in multiple tables, then your database is inefficient. Some people do this to hopefully speed up their queries, but there are much better solutions to that problem.
- If your database tables contain lots of null values, you’re doing something wrong. You should design your database in such a way that you never have any null values (unless they are unavoidable, which is hardly ever the case). Null values take up space and it’s inefficient to take up space with nothing.
- If you have the exact same data stored in more than one place, you’re doing something wrong. This is also taking up space unnecessarily and is poor database design.
- Learn how to code valid XHTML and do it. Standards aren’t standards unless everyone is trying to abide by them. With better standards in place, browsers can begin to be more compliant.
I hope these tips are useful to you.
Trying to find freelance work
During the last several weeks I have found myself fervently trying to find some freelance work to fill in the gaps when my regular schedule dropped to part time. Here are some of the resources I used and some information about each one of them.
- ScriptLance (www.scriptlance.com) – at first glance I figured this was a winner. There was a lot of activity, it was FREE, and it was stuff I knew how to do. At second glance reality began to sink in. Think of this site as the internet version of a brothel. PHP developers sit around waiting to be used at the cheapest possible price. Not only are the quotes ridiculously cheap, but the people looking to hire a developer are equally as desperate. I do not want to get paid pennies on the dollar of what I’m worth, and I wouldn’t even want to waste my time copying another site. Development should be about creating a relationship with a company and producing something that they need and is useful. It shouldn’t only be about what the customer thinks they want. ScriptLance, I give you an F.
- PHP Freelancers (http://www.php-freelancers.com/) – Hey, let’s do the same thing that ScriptLance does, only not as attractive. I give you an F-.
- ContractedWork (http://www.contractedwork.com/) – They doing the same thing and they are charging for it. Also an F-.
- CraigsList (http://www.craigslist.org) – Ok, here I thought I was going to be able to find something worth while. Since I wasn’t willing to whore myself out to someone who doesn’t care what they are getting, I thought I would have better luck here. I started to search the job boards and noticed a problem right away. You can only search job boards per regional city. Since development can be done remotely, this meant I would have to manually search each cities job boards. Yikes! However, I found a lot of quality job postings, but this revealed another problem. No matter how many replies I sent to job postings (close to 20-30 in the past couple of weeks) I didn’t hear back from a single one of them. I give you a D.
- Face-to-Face Networking – I went to several tech meetings here in Boulder last week, and while they were fun, they were a big challenge. You have to be able to impress people immediately, and when you have a bunch of techie-geeks you can imagine the hilarity that ensues. I made several good contacts, but no real leads. I give you a C.
- Friends and Family – While the jobs do exist they are very rarely followed through. Plus you also have the problem of having to provide your skills at a discount. I give you a C.
Conclusion:
I was unable to find any good sources for freelance work that were acceptable to me. As a developer with 5 years of professional experience I am worth the money that I charge. When it comes to the type of companies that are looking for freelance work, they are very rarely an established business needing legitimate work. Freelance work in general, I give you a D.