Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Ask HN: Am I doing wrong?
8 points by maheshs on Nov 10, 2010 | hide | past | favorite | 14 comments
I have been MS developer from last 8 years and worked on various small to medium sized projects. Most of my C# development was web (ASP.NET, MVC 1.0 etc). I also worked on some windows apps and backed windows services.

Due to HN and other hackers community effect I have developed the impression that working on MS technologies is not cool and does not make me hacker.

So I decided that I’ll teach myself python, closure and ubuntu; so that I can start developing some of the personal web related development by these hacker’s favourite development stack. I have been working on python and django on my evening time and I am enjoying it but that effect my learning new things in MS development stack which will definitely affect my professional careers.

But I think MS is back. In last couple of month I saw at least 10-15 HN post where people appreciated the MS effort for their work like their C#, F# and ASP.NET MVC etc. Now I am confused; what should I do? Should I put my time investment in non MS technologies for some more time or I should go back to MS cave.

I hope there will be lots of people on HN who been in same situation or some of the ex MS developers want to return back on MS development stack.

Please show me some light!!!



Welcome to the fire&motion effect[1]. You now have three problems.

First, by chasing what some other people think is sexy technology, as opposed to going with what allows you do Get The Job Done, and quick.

Second, your misunderstanding on what the markets care (which is, well, marketing for the most part), and don't care about (eg your technological stack). None of these the things outlined in your post will make any difference whatsoever on your ability to chase lucrative market opportunities.

Third. Despite what some people here might write, "Hacking" -fiddling with technologies, and gaining a deep insight into them- is completely technological agnostics. You can be a hacker, even in VB.NET; it just happens, that some of these technologies has a better "average community member insight" factor, than others.

Thus, your question really boils down to something more fundamental: are you into "hacking" for the tech, or for the people? In the former case, it doesn't really matter whether you'll use MS, or Python, or what the state of the current MS devtools are -just that you gain a deep understanding of them.

In the later case, you should put your investment into people -the ones you'd want to connect with, anyway- and let the appropriate tech emerge from it naturally.

[1] http://www.joelonsoftware.com/articles/fog0000000339.html


Worrying about the development language you use is like worrying about using a Stanley hammer versus a Craftsman hammer when building a house. The brand doesn't matter as long as the house gets built.

I've worked in the .NET stack for about 5 years now. It is a real pleasure to work with. When I need to get something done, I know I can do it easily, and without problems. And seeing the recent developments of Java with Oracle, I feel my decision was that much better.


You have 8 years of Microsoft development experience that's pretty decent and I bet this will bring you a lot of good jobs because many companies are using Microsoft technologies even the crappy ones (VB.Net, Classic VB).

However you are absolutely right about Microsoft. Yeah they doing good lately but from which standpoint? Microsoft has a really bad reputation under hackers and I think the reason is not that we all love Apple and Mac's. No, I think those reasons become clear if you look at what Microsoft is doing all the time, what are they implementing, how are they implementing new technologies.

For example Internet Explorer 9. This time Microsoft has to be really good cause they are losing market share month after month. And luckily Microsoft did understand that and they are doing good with Internet Explorer 9 but again they are making things their own way and that's what is bad about them. If Microsoft thinks it needs something they are always developing it on their own without looking what other developers are doing and how they solved those problems. No, they have always this one Microsoft solution doesn't play really good with the rest of the world (and sometimes even with Microsoft software). That's Microsoft.

However I think you are on the wrong way. If your profession is Microsoft technologies and you want to stick with that cause you have a job and you like Microsoft platforms then you should stick with it and become better and better.

But look what other developers and hackers are doing, which new thinks are coming, which things are slowly going and compared to that what is Microsoft doing. Don't turn into a developer who has a Microsoft hammer in his hands that's the worst thing you can do for the world and for your career.

I hope I could help you.

BTW: I learned programming with C#


There's nothing inherently wrong with knowing Microsoft technology well. It's a tool. Learning more languages is a great goal because you can learn to use different types of tools. This gives you the ability to choose which tool is right for the job you're working on, instead of being limited to the one you know well.

My first experience was in VB and then C#, and I love ASP.NET MVC and still use it for some projects where it makes sense. But having learned other languages I've learned what the limitations of that technology is, and for most things I work on nowadays Microsoft technology is not the best solution.

Depending on what you spend time learning and what types of problems you work on, you may come up with different conclusions, and that's totally valid.


The lack of MSFT traction with startups has more to do with cost than cool. (Biz Spark is temporary - they get you in the end).

At my last startup job we used the microsoft stack very effectively - the cofounder was a microsoft guy, so that's what we used. Not a big deal.


I call BS. A "Hacker" is not bound by a technology or language, despite what the [insert language or technology here] bigots want you to think. If you can create a spaceship from a toaster, who cares if it uses nanotechnology? It's still cool.

Go on working in whatever language or technology you want, and don't listen to the idiot zealots who aren't intelligent enough to broaden their horizons to the point where they understand that ANY language is cool if it provides the customers with a viable solution that scales.

Cheers.


I think it depends on your goals. Some ideas:

If you want to work for a startup then you'd probably need to learn open source tools (though startups use the MS stack, too). You might also find that a detour into OSS helps you bring fresh ideas back to your MS work.

If you need a job and/or like working with MS stuff, then stick with that (and be shamed on HN ;).

If you want to build a product, then it doesn't really matter--it's more important to bring something successfully to market.


Do whatever will make your stuff work. There are lots of reasons to dislike Microsoft, and plenty of reasons why the culture does not fit. That said, your users do not care how you've created their software, they want things that solve their problems.

Note that many of the articles here are totally stack agnostic, too.


I'll have to second that. There's no reason to spend months debating "should I choose language X or language Y?" Don't choose the trendy one. Choose the one you're proficient in, and the one that will help you ship, as shipping is what matters here.

Two comments, though:

* I think startups shy away from Microsoft technologies due to potential costs. Yes, there are programs such as BizSpark, etc., but learning the open source stack can go very far if you're not on infinite budget. Also, I think it's a bit easier to hire people proficient in (insert OSS technology here) in Silicon Valley.

* Even if you will never use the other technologies (say, Clojure), you can benefit a great deal from learning new things. If nothing else, this will help you gain perspective into other ways people solve problems in the industry.


Do both.

Nothing wrong with cross training. Athletes cross train to help them perform better in their chosen speciality, so should programmers.

I like to dabble in other languages and frameworks - my bread and butter comes from MS, but if I write a little util to automate something for myself at work or do a little side project, I use something different - it helps keep me interested and it helps round out my craft. I don't think losing a little traction on the most up to date MS tech will affect you as much as you think because you will probably be able to transfer your skills and approaches from other environments back to the MS equivalent pretty quickly. If you really are worried, take a few minutes every day at work to bone up on some MS stuff instead of reading that extra HN second page link to a blog post on "the 15 essential things you must do to become super successful" and all the related HN comments :).

On the "cool" aspect - cool is irrelevant if your work is satisfying.


When most people claim that language X is "not cool" it's a defense mechanism. They do not know or have no interest in learning X, so it becomes worthless and uncool to them.

Spend more time focusing on theory and less on stack.

As for stack advice, pick what you want to do.


Learn new stuff is given as the most constant is change itself.

Solve problems with what you are most effective with.

Have fun, use the lang/os/lib/whutnut make you smile while doing it. :-)

Apply above 3 points and hack! (Repeat as needed.)


A question you may have to answer yourself might be:

1) Are you looking to have a safe job type career?

or

2) Are you trying to build something that you have in mind?


>>2) Are you trying to build something that you have in mind?

Yes I am having something in my mind which i want to develop; that's why i though why not new technology.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: