If you are looking at web development then it is good to have a basic understanding of CSS for general appearance and theming, or a more advanced knowledge of CSS for adding all the extra animations etc that are expected on a modern wizzo web site and/or mobile web UI.
If you go with JavaScript you need more than just learning the basics of JS, you should probably get familiar with a number of the popular libraries being used with it, like jQuery for functionality and maybe jQuery UI for widgets and presentation stuff, as well as some of the other popular libraries.
When it comes to .Net (web) jobs, the demand seems to be largely around MVC and WCF. MVC is the top favorite web presentation framework and WCF seems to be the fav for web data services. A good knowledge of C# helps with both of these.
While I use mostly C# in my day job, I find Python appealing in many ways, and if it is something you enjoy using, there are often jobs advertised for experienced Python people.
Hi, There is very good resource that monitors programming language market share. Tiobe programming community index. http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html It is not 100% accurate but allows to see overall trends in programming languages popularity.
Basically you can start from any language but to become professional you'll need to learn "technology stack" not just language. For example for PHP (which is mainly webdev) you'll need also know to some extent: HTML, Javascript, CSS (these three need to know professional in front-end webdev), also db's like MySQL or PgSQL, frameworks (like Symfony2), caching, OS, and perfomance technologies (Memcahced, Linux, messaging queues, etc).
But make good effort before final choose. Once you get professional, switching to another stack is not so easy. For example it's relatively easy to switch from PHP to Python or Ruby, but it is really hard to switch to Java or C (still completely possible, I know one very good PHP dev. who became Java architect in couple years).
It depends on the field one is working in and the platform stack used. At the enterprise level it is predominantly the Microsoft Platform stack, so C#, Asp.net, MVC, SQL Server, Exchange, SharePoint, Office, Azure etc.. Substitute C/C++ if the organisation is doing hardware/real-time.
In the mobile stack it will likely be Objective C (Apple) and whatever Android uses (with a bit of C# for windows phone, but the Microsoft Mobile platform is really built into their stack).
In the open source arena, I think it is still C/C++ for mainstream applications, PHP, Python, Apache and Linux for the platform development.
Web technologies such as JavaScript, CSS and the like are used across all platform stacks, so a good in-depth knowledge of these is always useful if one is likely to be doing web development.
Software Engineer (the practice of real science, engineering and management)
Are you subscribed to our RSS feed? You can download the latest headlines and summaries from our stories directly
to your computer or smartphone by using a feed reader.