views:

624

answers:

21

I am not sure if this question has been asked again, but would you program in a language just for the financial benefits? Or even more, since most of us code in several different languages: do you work in a language that you are not fond of, but you still do it for profit? And if so, what would be the language that you master and like and want to work in at job?

I am currently a python developer and have received an offer to work on .net technology (asp.net, mvc, c#) but coming from a unix background I am somehow reticent to this. On the other hand, the financial benefit is bigger on the .net side. Also I do like coding in python more than in c#, but that's just me being subjective.

Thanks!

A: 

Yes. Vb.Net to C# = more money and respect. I swear people have laughed at me for stating I was a vb.net programmer.

Spence
Just to get this straight - You actually prefer VB?
troelskn
It seems to be that he meant from VB.NET to C#. The VB-kids have it hard to get some respect, yo. :)
Spoike
And that implies that he liked VB, but was forced to switch to C# for money and glory?
troelskn
Hell no. I went from Basic to C to Java to Vb.Net to C#. I switched for profit, leaving behind skills in the first language. VB is a horrible, god forsaken language that needs to be taken out to pasture and shot.
Spence
A: 

Strangely I had the opposite experience to Spence. I came from a Java/C# background and did VB.NET for six months for a job. Ended up loving it and writing my whole blogging platform around it... Before I eloped with django, that is.

Oli
+4  A: 

For actual profit, you must speak Java

Quassnoi
A: 

A lot of people still coding in COBOL, .NET is quite good in comparison. On the side, I'd say it doesn't matter what language you are coding on, what does matter is who you coworkers are. If they are smart and friendly even PL/I experience might be enjoyable. So decide if you want to take the job on that, not on the language preference.

vava
There are pros and cons here: the c# offer is from an outsourcing company that moves its programmers from client to client (pro or con)? :)
hyperboreean
A: 

I went Unix/C to VB 1.0 and it paid handsomely, I then learnt C++, and eventually migrated back to C#, and I still think original VB is a great language for hacking together a UI. Give it a go - you might be surprised what you find out.

MrTelly
+3  A: 

ABAP -- the interal language of SAP.

Its an unsexy QBASICy language, the SAP applications it supports are bloated, boring and obtuse, SAP projects take years of mind-numing tedious effort to implement.

It has the highest hourly/daily rates for contractors of any programming language.

James Anderson
A: 

Sometimes I feel like that when programming in C++ :)

Robert Gould
+10  A: 

I'm a Java developer (also with a linux background) and I love my current job, so I will probably be programming in Java for another while.

But honestly, I think you should get over your "religious" concerns :) Learning a new language will broaden your knowledge and will be fun. .NET is quite young, so the designers had a chance to learn from the past and get certain things right that are maybe awkward in other platforms/frameworks/languages you know (i can only judge for java: exception handling sucks, the late introduction of generics is sub-optimal, swing is overly difficult to use -- just to name a few).

If your new job not only offers the possibility to learn a new technology, but also means more money, lucky you!

netzwerg
I do know the technology, otherwise probably they haven't been offered me the job, but yes, there's a lot of things to learn and improve. Thanks. :)
hyperboreean
good point :) but as you said, I also thought I knew the Java technology when I got the offer for my current job (5 years ago). It was the daily work in a team of excellent developers (and the continuous struggle with "almost excellent" ones ;-)) that made me learn new things and improve.
netzwerg
+7  A: 

Yes. I work as a consultant, so I program in whatever language the client wants me to use.

I don't mind using a different language at work to what I "prefer". Since I also do some hobby programming at home, I can use whatever language I want for those projects. To me, programming is about problem solving and creative outlet, so the implementation language is often not that important.

Personally, I think it's possible to enjoy programming in any language. Different languages and architectures provide different advantages, disadvantages and challenges, and I have learned to appreciate them all.

Anders Sandvig
A: 

There is a reasons that why i must change to use languageX, platformY

I applied for a job as "ASP.Net programmer". But when i went to my office at first day. My boss told me that "The customer canceled our project".

So my boss assigned me to do dictionary application on symbion by use Visual C++ embedded.

He gave me 4 days for do this project if i cannot completed this project he will fire me.

I don't care about what programming language that i must use. I also enjoy when i learn new technology also. But there is no time for learn that and i have no choice.

So i just surrender to faith.

Then a reason why i change my programming language many times is someone forece me to change it.

And for your question.

"what would be the language that you master and like and want to work in at job?"

i used to use VB.Net before but for now i prefer c#.

Krirk
A: 

Hopefully everyone reaches a level where they realise a programming language is just a programming language and although they all feature a different subset of all the language ideas ever invented, most of them (all the mainstream ones anyway) are 'good enough' to get your job done. It's really not a big deal. After all, you're looking at taking a job here so whatever you end up writing, it's likely not something you care much about so why would you care what language you write it in? Take the money, pay your bills and write something you like, in the language you like, at home.

FWIW I learnt C first, then C++ and at university really liked SML, but when I got my first programming job it was in VB. Since then I've done most of my programming for work in C# and VB.NET but now I'm back in the unmanaged world with an unholy mixture of C, Objective-C and C++, but I've only come across one language that I really could get any work done with: OCCAM. And I don't think I'm ever likely to be asked to use that again.

U62
+1  A: 

I think it's also important to consider your longer-term employability.

You might decide to spend years choosing roles that allow you to code in your preferred language only to look up one day and find that you have legacy skills that not many employers are looking for. On the other hand legacy skills can make you good money, though typically not indefinitely.

I recently discovered that 6 years of WinForms, C# .NET 1.1 experience did not equip me well for interviews with employers who were looking for someone with ASP.NET 2.0 experience...

Richard Ev
A: 

Don't fret fellow hyperboreean! While learning C# you can still hack your way with Python code in .NET with IronPython.

IronPython to the rescue!

Spoike
A: 

You have to like the language you're working with or you'll be miserable. I love working with C# and find smaller languages like PHP or Python interesting but when I have to work with another big language with nuances that can take decades to master I feel like I'm wasting my time because I'm not prepared to make a commitment to mastering them.

Echostorm
A: 

Yes, and no. I changed from .Net to ABAP at my employer's request, and worked with it for a year. As interesting as the change was, I weighed up my experience (8 years) with .Net against ABAP, and decided I didn't want to waste that experience. I moved jobs the first chance I got.

I guess it has a lot to do with what direction your career is moving in. I'd say it is a personal decision in many ways.

Raithlin
A: 

Perhaps you can derive inspiration from this article: http://www.inc.com/magazine/20090101/how-hard-could-it-be-thanks-or-no-thanks_Printer_Friendly.html?partner=fogcreek

Intrinsic/Extrinsic motivation might struck a chord among developers here.

Michael Buen
A: 

I think the type of work you'll be doing should rank higher than the tools you'll be using.

Tundey
+4  A: 

For profit - YES,
Only for profit - NO

Przemek
A: 

My favorite programming language is Python (and I was getting paid to use it), I have a strong Unix background, and I did accept a C#/ASP.NET position :-)

The biggest factor for me was the workplace, the people, and the decision-making processes. I affect the things that matter to me, learn a lot, and get to do things I wouldn't have done otherwise.

Favorite programming language is just one parameter to job satisfaction.

orip
A: 

I choose the language I use myself.
A lot of years ago I sometimes had to use languages I didn't choose, like C51 for mobile device programming, and it was interesting, too, but nowadays I just use my favorite language and make everybody else around me use it, too ;)

Sam
A: 

Getting more money and programming with your preferred or more comfortable programming language are two dimensions that given the particular job may be aligned together or may be at 180 degrees apart. So you really need to decide what is important for you at that particular point in time: Profitability or Enjoyment/Comfort. If its profitability, then you have to sweat yourself learning whatever programming language or platform that is required by the job at that particular point. If its enjoyment, then relax and enjoy your preferred PL in your comfort zone and deny the offer but try not to forget that people like me will be always ready to take what others throw away to make more knowledge, make more money and make more life.

Lonzo