May 01, 2016

Which technical specialty is best for an IT career?

I earned a bachelor of technology in computational science and engineering (CSE), and I have a gap of four years on my resume. Now I want to again start a career in IT. Which technical specialty is better for a startup -- PHP or .Net?
php is easier to use and isn't strict. There are a number of ways to accomplish a task, but code is usually not elegant. .NET and C# the language used with .NET is very enterprise centric. It does have wider capabilities, needed especially for larger projects. I ran across this article and like their take:


•Get stuff done, that’s what matters
•It’s like Basic for the Web
•As long as there is a way to do it, it ain’t broken
•It works and it’s fast, anything else is pointless
•Don’t be too academic, our language is accessible and anyone can be started in no time. Try to do the same thing with Java!
•Object orientation as an afterthought

Common use case: (as of mid-2013)
•Your first web app
•Extending Wordpress/Drupal

Personal opinion:

PHP had its days of glory. It really made web development easy and accessible. However, probably due to the really large amount of new programmers who started with PHP and a not so opinionated community, very few people can write good PHP.

Good idiomatic code examples are hard to find and I’m not even sure there is such as as idiomatic PHP. The result is a community known for poor code quality, lack of tests, security nightmares and an after taste of the early 2000s.

Strong PHP teams with well established conventions, processes and guidelines can accomplish great things, but such teams are rare.


•A better Java
•Originally designed for desktop and embedded apps
•We have a better IDE than the Java guys
•We are enterprise serious but we can offer you most of Rails’ cool features
•We have a conflicted vision of Open Source
•Slower but safer development cycles

Personal Opinion:

I went back and looked at C# when C# 5 was released and I have to say that I was really impressed by some of the new language features. From a purely language design perspective, C# is quite a bit ahead of Java. I was also surprised by how pleasant it was to write Javascript in Visual Studio (I really didn’t expect that since my experience with VS was mainly around C++).

Another thing that really impressed me: the quality level of the available documentation is outstanding! But the fact that C# isn’t open source, that Visual Studio + MSDN is so expensive and the whole environment reeks of licenses and costs, is bit of a turn off.

Microsoft is slowly opening up to open source and more open solutions like Azure. But as a community, .NET is still quite Microsoft-centered. As a startup entrepreneur, you should consider how you feel about open source vs enterprise backed cultures.

C# mainly attracts a variant of the Java crowd: engineers seeking stability and a support contract over open source. And they can tolerate IIS!

Established Alternatives

Over the years, two dynamic languages became cherished by startups: Python and Ruby. The two languages are actually quite similar. Nowadays Python is quite popular for backend apps (NLP, biotech, APIs, SOA elements) while Ruby is more popular for consumer-facing apps. Both of these languages suffer from the same limitations (mainly performance and concurrency) but their core values and communities have different focuses."
Answer this