Fear of making the wrong choice, advice needed
Hello everyone. I'll try to keep it short. After deciding to learn programming I picked Python because of the online programming classes that are available for free and because I want to start with web development.
The problem started last week in a different programming community where someone mentioned that there might not be enough job opportunities for beginners and that it's better to invest my time to PHP or C# instead.
I'll skip that this comment was accepted with positivity to a community which is strictly made to help beginners to learn programming but, he genuinely made me think: Is it a way that this will end bad? Is there a possibility that after reading and learning for huge amount of hours daily that I won't be able to offer my service to add value to a company or customers?
What makes this decision heavier is my perception that I'm not young enough to afford to make a wrong choice (I'm 30 years old) and I'm not from U.S. (which I might say the job market for Python and Ruby developers looks bigger). To add to that even more, I'm not planning to stay in my country but I'll most definitely stay in Europe.
To sum it all up, should I consider the search results from monster and other career websites, coupled with the mentioned advice given to me (and, in effect, many beginners who read that forum) as good measurement of a programming language's job prospects or is there some kind of flawed perception involved? I think you should code in a language you enjoy. If Python seems fun, then stick with Python. If you become a good programmer, you should be able to find work no matter which language you choose. Also, it's harder to learn to program than it is to learn a language. You are currently learning to program, you will find it much easier to learn your next language (and if you stick to programming, you will learn more languages... this will just be your first). I would stick with Python, have fun and look for jobs when you're ready. A lot of people have opinions on a lot of things, just keep going. Constantly changing won't get you anywhere. I really agree with this. Go with the programming language that you enjoy the most. Why? Because its going to get very hard down the road. For me, I'm toiling on a project that is taking longer than I though. The bills are piling higher. I'm short on rent this month. I'm starting to get doubts. However, I remind myself that I would rather do this than anything else, and it helps anchor me. If you enjoy it most of the time, you'll see it through when times get tough - and they will. Thank you for your input. Would you mind sharing your language of choice? I know most people would probably call this a bad advice, but if the reason you want to start to learn programming is to develop websites, PHP would be the easiest way for you to start with, and really, when PHP starts being a 'bad' language for developing websites for you, you should be able to learn and switch to other language easily.
But, if you just looked at web development as a starting point and plan to dive deeper in programming, Python is a great choice. It is a language that is widely used in many fields, not to mention the community support it has.. While I consider web development as my original approach to programming, I do want to get a firm grasp around deeper programming concepts. With that said, what I care about most right now is to hit 2 birds with 1 stone: Learn programming with a language that will make me employable. As someone who originally learned to develop with PHP, then hopped around from language to language trying to find something that I could click with that also fixed all the things that were broken in PHP, I eventually landed on Python. For what it's worth, Python is a great web language, and while sure, there aren't quite as many job opportunities as you might find in PHP, I'd wager that the average pay for the Python jobs you find is higher than the average PHP programming opportunity (even wit Facebook screwing up the averages.) It's also worth saying that there are tons of Python jobs available, just as there are plenty of big websites built in Python. Regardless, Python is a fantastic learning language, and you'll be in a much better position to learn a new language when you know more about programming in general than you are now (in my opinion). What I suggest you is to not learn a language, but instead learn to code. That is the hard part. Learning how to say something is easy, learning what to say, is hard. Each language has it's features, use case, pros and cons. But when you know what you want to achieve, learning a new language is something relatively easy. If you choose to learn something and stick with it you will only find the jobs for that. If you learn how to think, a language will no longer be a problem. This is not an easy thing to do considering you are a beginner. But I strongly suggest you to go for it. Lear something from python or c# or php and then mix it. PHP is good because you can then mix it with html javascript & css to create a complete set of web skills. C# might be good to learn about classes types and other things. Each language has it perks. Learn a mindset and you will unlock them all. I also suggest you to spend more time coding than reading books. Avoid videos, huge waste of time. Doing things, making mistakes and trying to understand how things works will teach you faster than anything. Good luck. Thank you very much for your input. I'm definitely focused on learning the ins and outs of the fundamental programming concepts and I must say that I'm enjoying every moment of it! If there is a group of companies that you would like to work for, you could learn the programming language that those companies use. That could be less risky in order to get a job with them. Another option for getting job experience as a beginner would be to do small freelance work available from a site like freelance.com or odesk.com (or a similar European site). The barrier to entry may be lower as someone doesn't have to hire you for a full-time position to do some paid programming. You could learn a programming language that matches the needs of jobs available on those sites that you are interested in. I think if you can execute & build out your ideas - it doesn't matter what language they're written in - you have a valuable skill. Whatever your first language is it will be the hardest, after that, the learning curve isn't as steep. Transitioning to another language is simpler because you're already familiar with the concepts. Don't get caught up in looking over your shoulder at what else you could be learning. Get caught up in having fun, building & accomplishing something great.