PHP Developers Network

A community of PHP developers offering assistance, advice, discussion, and friendship.
 
Loading
It is currently Wed Jun 26, 2019 8:11 pm

All times are UTC - 5 hours




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Sat Aug 23, 2008 9:32 pm 
Offline
Forum Contributor

Joined: Sun Jun 08, 2008 11:25 pm
Posts: 186
So far this year, I've been asked to make the following types of websites. It got me thinking about how to prepare for the future.

- manage a sales campaign pipeline -- was mostly CRUD with table and record views, and lots of heavy roles on what could and could not be done, followed by alerts

- classified listings (niche vendor topic), browsable on category, searchable on keyword

- product catalog with admin backend, along with simplistic PayPal integration (the free kind) with Add To Cart and Checkout Now buttons

- gadget to randomly show arcade game icons and links

- job search site -- is mostly CRUD on table and record views, but had a lot of similarities to the classified listings site

- contact forms w/captchas - 6 different clients

- 3 sites with custom CMSes (each client didn't want something canned)

- phpBB forum integration -- gadgets for putting into a CMS + comments on CMS articles get posted directly into the forum instead of into the CMS

- every site needed an admin system; had to use AJAX instead of FRAMEs and IFRAMEs in order to make the site zippy fast over the Internet -- admins don't like to have to wait for menus to be redrawn all the time on sometimes slow connections (busy websites).

- about 7 out of 10 sites needed some kind of file upload handler for either an icon, an image, an invoice, etc.

So, to all those guys considering becoming a freelancer out there, still working that regular programmer day job in a cubicle somewhere, I have this advice. Consider building the following frameworks, either using some existing framework and customizing, or develop your own framework on pure PHP. The frameworks would be:

- admin system with basic CRUD of record and table views; keep jQuery Accordion menus on the left and use jQuery Forms' AJAX to swap out the forms on the right (so you don't need to keep redrawing the menus and don't need FRAMEs or IFRAMEs).

- build a file upload handler

- learn a forum system well enough to build gadgets that draw content out of it, or to have comments on CMS articles post content into it.

- make your own micro CMS -- tie the admin system you build with some end user front-end gadgets that draw the CMS content out

- make a really good contact form that can't be hacked easily at all

- make a reusable product catalog that can be tied to PayPal with Add To Cart and Checkout Now buttons, and if you have the time, one with Google Checkout.

- build a job search site

- build a classified listings site

What I mean to say is, if you can do all of the above BEFORE you take the leap into 100% freelancing, you'll be able to hit the ground running with reusable code on like 70% of the projects you see out there. I mean, now that I've done these sorts of sites, I'm seeing my timelines shorten a great deal because I have so much reusable code that I just alter slightly and off I go. And you can do all of these kinds of sites initially as your own hosted projects, earning ad revenue or subscription revenue, BEFORE you start doing it for other clients. This will give you the necessary residual income you will need to help you ride out the dry periods.

Of course, this isn't the recipe for turning anyone into an excellent PHP developer. There's far more to learn out there to be the best you can be. It's just that if I had done all of the above BEFORE I had become a freelancer, I wouldn't have had such a rocky road up until now.


Top
 Profile  
 
PostPosted: Sat Aug 23, 2008 11:19 pm 
Offline
Forum Commoner
User avatar

Joined: Tue Aug 12, 2008 2:42 pm
Posts: 55
jack_indigo,

Thanks for the post. It is interesting to hear what exactly is being asked for most out in the freelance world. I work full time as a PHP developer, but knowing what systems I should expand upon and know I can use in the future is a plus. Thanks for the post.

Luke


Top
 Profile  
 
PostPosted: Sun Aug 24, 2008 6:22 pm 
Offline
Forum Contributor

Joined: Sun Jun 08, 2008 11:25 pm
Posts: 186
Yeah, it's by no means complete. It's just a trend I'm seeing here. Sure, there can be like 100 different ways to build a classified listings site because of special client needs -- it's just that if you build one version, it sure makes building the other 99 a lot easier, right? And no freelancer can probably survive without being asked at least 3 or 4 times in a year to build a product catalog or integrate with one. So this is more about trends rather than concrete observations. And every site needs an admin system on the backend, so why not make a reusable framework for one that you can customize for each client?

Before I became a freelancer, I had only built a call tracking system and a dozen specialized needs (very small projects) on an intranet for a company. Eventually after so many years, the cubicle life wasn't for me, I didn't need the babysitting anymore, wanted a more flexible lifestyle, and set out to earn it. The only regrets I have now are (a) wishing I had done this sooner, and (b) wishing I had known about these trends and built these frameworks/systems/toolkits (whatever) before I had taken the leap so fast. If anything, I could have made some cash on the moonlight personal projects before I had taken the leap into freelancing, such as building a product catalog and selling digital media kinds of stuff, saving the cash and collecting up the skills for the big day.


Top
 Profile  
 
PostPosted: Tue Sep 02, 2008 9:10 am 
Offline
Forum Regular
User avatar

Joined: Tue Sep 25, 2007 8:36 am
Posts: 521
Location: Greece
Thanks for the tips.
Most people here in my country (Greece) want sites with simple cms they can use, blogs, forums, e-shops and they are wild for Flash(y) content. Give them ajax effects or flash animations and they become crazy!
A client wanted to show my name in a popup on his site after the cool flash animation I made him. Exaggerations. :D
My personal aim is to create a program that does most of the work for me (generate css by drag and drop elements, generate secure contact form code, SEO assist etc.), and secondly a cms which is highly customizable and multi-purpose. For forums and blogs, IPB and Wordpress will work fine.


Top
 Profile  
 
PostPosted: Tue Sep 02, 2008 10:13 am 
Offline
Jedi Mod
User avatar

Joined: Tue Dec 21, 2004 6:03 pm
Posts: 5263
Location: usrlab.com
jack_indigo wrote:
What I mean to say is, if you can do all of the above BEFORE you take the leap into 100% freelancing, you'll be able to hit the ground running with reusable code on like 70% of the projects you see out there. I mean, now that I've done these sorts of sites, I'm seeing my timelines shorten a great deal because I have so much reusable code that I just alter slightly and off I go.

If you switch to being a freelancer you won't have any code to reuse apart from what you've written for yourself in your spare time*. What you've written so far belongs to either your current employer or the client you wrote it for. It's not yours, and reusing it on projects you write on a freelance basis would be breach of copyright. Potentially that could mean the owner would be able to sue you, your client (who then sues you), and your former employer (who also then sues you). Using code you're not legally entitled to use isn't the best plan in the world...

Additionally to that, and much more importantly in my opinion, is the fact that writing the code is the easy bit when it comes to freelance work. The hard bit is dealing with the clients, marketing your services, networking with potential prospects, getting people to agree that a job is finished and actually complete the payment schedule ... those are the bits that make freelancing much less fun, so much so that I don't freelance any more. Clients suck my will to live.

* Read your current contract first though. Some employment contracts have clauses that mean any code you write, even in your spare time, belongs to your employer. It sucks, but it's true and it's enforceable. Be careful what you sign.


Top
 Profile  
 
PostPosted: Wed Sep 03, 2008 3:59 am 
Offline
Forum Regular
User avatar

Joined: Tue Sep 25, 2007 8:36 am
Posts: 521
Location: Greece
Quote:
If you switch to being a freelancer you won't have any code to reuse apart from what you've written for yourself in your spare time*. What you've written so far belongs to either your current employer or the client you wrote it for. It's not yours, and reusing it on projects you write on a freelance basis would be breach of copyright. Potentially that could mean the owner would be able to sue you, your client (who then sues you), and your former employer (who also then sues you). Using code you're not legally entitled to use isn't the best plan in the world...


You mean when doing a full-time job?

And also copyrighting code sounds a bit odd. I mean if I'd make a cms I'd use the same code or coding style. Because I used that code in my previous work I'll have to change the variable names or add some linebreaks so the script looks different, or even find another way to do it? It doesn't make much sense.


Top
 Profile  
 
PostPosted: Wed Sep 03, 2008 4:25 am 
Offline
Jedi Mod
User avatar

Joined: Tue Dec 21, 2004 6:03 pm
Posts: 5263
Location: usrlab.com
Sindarin wrote:
You mean when doing a full-time job?

Yes, but not limited to that. When you write code for other people it's rare that you get to retain the copyright unless you expressly discuss the license for the code with the client.

Sindarin wrote:
And also copyrighting code sounds a bit odd. I mean if I'd make a cms I'd use the same code or coding style. Because I used that code in my previous work I'll have to change the variable names or add some linebreaks so the script looks different, or even find another way to do it? It doesn't make much sense.

Well, if you rewrite something from scratch the chances are pretty high that there'll be some significant differences - you'll implement things differently, put in different features, etc. Enough to show that it's new work. All I'm saying is that you will have to rewrite everything until you have a library of code that you definitely own, or share, the rights to - something you'll have to get clients to contractually agree to. Having written things in the past for other people isn't enough.


Top
 Profile  
 
PostPosted: Wed Sep 03, 2008 7:33 am 
Offline
DevNet Master

Joined: Thu Oct 06, 2005 3:57 pm
Posts: 3360
onion2k wrote:
Sindarin wrote:
You mean when doing a full-time job?

Yes, but not limited to that. When you write code for other people it's rare that you get to retain the copyright unless you expressly discuss the license for the code with the client.

I wouldn't be so sure. I know in graphic design or photography that making something for a client does NOT automatically mean you transfer the copyright. For that, there has to be a written contract in place which spells that you give the copyright to the client.

Basically, almost everything you make, whether it's music, art or code is yours and stays that way. Unless you explicitly transfer the rights to someone else.

of course, when you are in full-time employment somewhere, you probably signed a contract when you got the job. In that contract there's probably something about the rights of what you have done when working for that company.


Top
 Profile  
 
PostPosted: Wed Sep 03, 2008 8:09 am 
Offline
Forum Regular
User avatar

Joined: Tue Sep 25, 2007 8:36 am
Posts: 521
Location: Greece
Quote:
of course, when you are in full-time employment somewhere, you probably signed a contract when you got the job.


Gotta love my country, there is absolutely no copyright mention in the contract you sign to get employed. :D


Top
 Profile  
 
PostPosted: Wed Sep 03, 2008 9:49 am 
Offline
Jedi Mod
User avatar

Joined: Tue Dec 21, 2004 6:03 pm
Posts: 5263
Location: usrlab.com
Sindarin wrote:
Gotta love my country, there is absolutely no copyright mention in the contract you sign to get employed. :D

That just mean the common default rule applies I think.


Top
 Profile  
 
PostPosted: Tue Sep 09, 2008 4:19 pm 
Offline
DevNet Master

Joined: Wed Feb 11, 2004 4:23 pm
Posts: 4872
Location: Palm beach, Florida
jack_indigo wrote:
So, to all those guys considering becoming a freelancer out there, still working that regular programmer day job in a cubicle somewhere, I have this advice. Consider building the following frameworks, either using some existing framework and customizing, or develop your own framework on pure PHP. The frameworks would be:

Of course, this isn't the recipe for turning anyone into an excellent PHP developer. There's far more to learn out there to be the best you can be. It's just that if I had done all of the above BEFORE I had become a freelancer, I wouldn't have had such a rocky road up until now.


I agree 110%. The only thing I'd say do different is don't strive to a freelancer, a freelancer is still a worker. True wealth is having assets that make you money while you sleep. When I do something I always ask myself, "is this going to make me money in my sleep".. and if so i ask myself what the market value of it is. I think accounting integrated + e-commerce alone would only take a few months to build for most of us, and would allow a lot of you guys to quit your job and live very comfortably.

When you get into the ERP stuff the going rate is per month per each end user, so the larger the companies you sell the more recurring passive income you build up that you make in your sleep.


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC - 5 hours


Who is online

Users browsing this forum: No registered users and 2 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group