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 a college student, and I love to program, period. I code all kinds of things in different kinds of languages. Although I enjoy programming, I have an extremely hard time sticking to one project for a long time. I attribute this shortcoming to my high level of curiosity, exploring different technologies, languages, libraries, etc.

What would be best? Should I settle down more and spend time on becoming an expert in one or two programming fields, or should I be more of a jack of all trades, trying out all kinds of new technologies, languages, programming methods, etc.? I'm guessing that somewhere in the middle would be best.

I'm always amazed at how many developers are able to create one or two projects, and develop on them for years. What techniques do you guys employ to help you stay focused on a project?

share|improve this question
    
Why the downvote? Is the question not objective enough? –  QAH Nov 9 '12 at 23:56
add comment

closed as not constructive by Telastyn, Walter, MainMa, Matthew Flynn, Yusubov Nov 10 '12 at 3:56

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.If this question can be reworded to fit the rules in the help center, please edit the question.

2 Answers

up vote 2 down vote accepted

Get users and keep making their experience better!

I am a college student, and I love to program, period. I code all kinds of things in different kinds of languages. Although I enjoy programming, I had an extremely hard time sticking to one project for a long time. I attribute this shortcoming to my high level of curiosity, exploring different technologies, languages, libraries, etc.

Eventually I started a project that got users. This project stuck. I continued working on it because everything I worked on immediately benefited my users.

It didn't conflict with my curiosity because I could use a lot of different technologies to build different parts of the system, or build supporting systems that also benefited and attracted the same users.

It's been a little over two years since I started this, and now my problem is that I want to do other things but keep coming back to this since it has the most immediate benefit to the most people. It's not so bad though.

It helps to put some effort into streamlining your distribution system, so that changes you make can go into effect for users within the day, or hour, or minute. This really gets you addicted to the project. And if you have happy users, you don't need to worry that your thing will turn out to be a flop.

Start small and iterate with something that even a small amount of people will find useful.

share|improve this answer
add comment

If you are developing for your own enjoyment, you should definitely do whatever feels right and gives you the most enjoyment.

If you intend to ultimately develop for profit as either a career or a sideline you should consider narrowing your focus a bit on a technology stack that is in demand and become proficient enough at it to be competitive when you hit the job market. This doesn't mean you can't do other things that interest you, but it does mean you prioritize between things that are fun and things that are maybe slightly less fun but might get you hired one day.

You also should consider doing a respectable amount of the development you are currently doing in a visible way, such as a open source project or a technical blog. Then, if you ever do decide to try your hand at making a profession out of development you can point your potential employers at it to help cushion any concerns about your lack of real world experience in the field.

share|improve this answer
add comment

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