Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I am currently in the final year of my graduation in computer science course. I love programming in PHP but not under pressure. As my graduation life is going to be over I have to shape up my career. My personal desire is to become a web developer and start my own web-based company after completion of courses.

I do not have any desire to work for a company as a developer. Currently I have programming knowledge of PHP, Mysql and Javascript. Though I have not completed any type of project in PHP.

So to become a complete web developer what else do I need to know to be able to get developement project? Any project I apply for are simply declined due to lack of portfolio. So how should I proceed?

share|improve this question

7 Answers 7

up vote 18 down vote accepted

And I love programming in PHP but not under pressure.

My personal desire is to become a web developer and start my own web based company after completion of courses.

These two sentences conflict. Unfortunately, your own web based company (if you want it to be successful that is) will come with more pressure than working for someone else. The joy of working for someone else is that you're usually not directly responsible for company profits. The downside of not working for yourself is that you usually don't directly reap the rewards of company profits.

As you're curious about what you should know in order to pursue developing your own company, why not take a look at some successful startups (such as Greplin or Dropbox)? Maybe take a look at requirements for a developer at Facebook? Chances are that if you can find what technical competencies they're looking for and find similarities, you might want to start looking in that direction.

Of course, if you're looking to provide software services (building websites for others), then maybe look at tech requirements for someone like BlastRadius.

Things you'll definitely want to know to run your own company (if it's a web based company):

  • Distributed architecture (working with multiple servers, cloud computing, etc)
  • Web server/code/database optimization techniques
  • LAMP stack: *nix, Apache (or similar), MySql, Php/Python/etc

You might also want to take a look at relevant frameworks such as Yii, Kohana or CodeIgniter (for the back end) and jQuery, Mootools, Backbone, etc (for front end) if you are wanting to provide website construction services. Using a pre-built framework always helps increase your productivity once you get past the initial learning curve. You could even start submitting patches for one of the projects in an attempt to get your foot in the door as a committer (usually looks pretty good if you're submitting work to known frameworks in your portfolio).

And now on to the business end. How's your business knowledge? Do you have a clear goal of what you want to achieve with your company? Are you up on current business models if you're developing public software? Don't kid yourself.. Running a company (successfully) is just as challenging (if not more so) than learning how to be a solid engineer. If you're not up to speed on the business end, I'd strongly recommend taking a gander at that side of things before starting your own company.

share|improve this answer
    
Thanks a lot for your valuable reply......Now as i know the basics of PHP should I go for a framework?Which one should I give more priority "learning a CMS" or learning a framework? –  Radheshyam Nayak May 14 '11 at 19:29
    
@radheshyam: no worries and good luck :) –  Demian Brecht May 14 '11 at 19:30
    
@radheshyam: It all depends on what you want to do really and what services you want to provide. Let your goals dictate what technology to dive into, not the other way around. –  Demian Brecht May 14 '11 at 19:41
2  
+1 for stuff about running a business. That is really hard, and requires a completely different set of skills from developing. –  James May 16 '11 at 7:28

There would seem to be a few options to my mind in terms of next steps:

  1. Build a portfolio. If that is the issue for any project you are applying, why not just fix that? If there is a problem in that, edit your question to clarify what in that is the problem for you.

  2. Do you know how to start your own company? If not, research this, find mentors, and figure out how to make this work for you. This will likely be very hard and challenging, but if you don't want to work for a company as a developr but still want to be a developer, what other options are there?

  3. Consider how you are applying for projects. Is there another way that may be better for you given your situation? Could you offer to local companies to build a web site so that you have a portfolio? Maybe you need to team with someone to make a company that gets projects?

Those are my suggestions for what you could do given what you ask.

share|improve this answer

Starting your own company is a GREAT way to make sure you spend LESS time writing code. How much do you love filling out tax forms? Meeting with customers? Doing tech support? That's what the owner of a small business does.

share|improve this answer

I definitely agree that no one like working under pressure :)
However you will find that it's just part of the working world that you should prepare to adjust to. It's a big change from your current life.

I basically find that programming is a ton of fun, and in the commercial world out there you get paid too!
The downside is that you will have a boss that will direct you what to do. I agree with the other posters about the pros/cons of having your own business vs. working for others (I've done both and I'm never having my own business again!).

share|improve this answer

You say you want to be a "Web Developer". For that,PHP alone will be of no use. If you're in your final year, I'm sure you know basic HTML/CSS/JavaScript. That's a start.

I suggest you delve deeper into these subjects and learn the nuances better.

And again,what languages you need to learn and what skills you need to sharpen will depend on the kind of company you intend to open. eg. Do you want to build applications related to Cloud Computing? E-mail services etc. etc. Different domains will have different requirements.

share|improve this answer
    
There are millions of PHP jobs for good developers. Many folks using frameworks like ruby on rails (myself) or java struts, will say PHP is not a 'good' language. They are right, but there are still a ton of jobs for PHP! –  junky Mar 8 '12 at 15:27

Developing a working application is a lot more than just knowing how to use PHP to generate a webpage. It's about designing an architecture that fit's the need of the application as a whole. It's about being able to think ahead about what your application might require next, and so on.

I do not have any desire to work for a company as a developer. Currently I have programming knowledge of PHP, Mysql and Javascript. Though I have not completed any type of project in PHP.

This doesn't look like a good situation for starting your own business. If you're trying to get into the consulting business, then you'll always run into the problem that you don't have any real references. Sure, you could write your own dummy application but what possible clients will want to know is whether you're able to handle their project. So you won't have a lot of luck with this.

You could of course always launch your own startup but be aware that there are a lot (!) more startups failing than succeeding.

So I think the best way for you would be to actually take a job at a company and be "just another developer" until you've some projects for your resume. Then you can start thinking about working on your own.

share|improve this answer

If you thought that you will be doing just web development in your start up, then you are wrong unless you have a good team to manage other aspects of a firm such as business development, after sales support etc.

Join a good web development company as a developer. That doesn’t mean that it has to be a big firm. It can be a small company where you can handle additional responsibilities such as web support, proposal writing etc. In this way, you can learn the tricks of the trade.

In the mean time, develop skills that match your web development interest. Also, try doing freelancing. Network with similar professionals. If possible, try to find a good team.

After you are confident with your skills, you can think of starting a firm on your own.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.