Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ethics of using a "fringe" language for your job? [closed]

People also ask

Are you allowed to talk about your job?

Under the National Labor Relations Act (NLRA or the Act), employees have the right to communicate with other employees at their workplace about their wages. Wages are a vital term and condition of employment, and discussions of wages are often preliminary to organizing or other actions for mutual aid or protection.

Is it professional to speak negatively of a previous employer?

Under no circumstances should you ever speak badly of or complain about your previous job, employer, manager, or colleagues during a job interview. When you speak negatively about someone, it reflects far more poorly on you than it does on them.

What is a good reason to quit your job?

Some good reasons for leaving a job include company downturn, acquisition, merger or restructuring as well as the desire for change — be it advancement, industry, environment, leadership or compensation. Family circumstances may also be a factor. Deciding to leave a job is a tough decision.

How do you know you are being pushed out of your job?

Telltale signs your company is trying to push you out:They're not giving you new assignments. You're being passed over for promotion. You're not being called into important meetings. They're taking work off your plate.


You may think that this approach is good for you. But in fact all this does is paint you in to a corner. The best way to get promotion - within an organisation is to make yourself unnecessary in your current position. That might seem like nonsense, but it is in fact true. Think of it like this, if it is essential to the company that you continue to maintain the python code you wrote for them, and they can't go to anyone else to get that skill, then they will continue to pay (maybe a little above market rates) to maintain that code.

If however, you write that code in .net where there is a plentiful supply in your area, then as the company expands and the code you've written proves successful, you will be able to hire people to maintain that code and you can move on to designing other systems. Or moving in to managing a team of .net coders - if that's your want.

Even if you want to leave, the best thing for your career is going to be to get the best possible reference. To do that, write them some code that is easy to maintain. Help them hire someone to replace you to maintain it. They will be grateful and recommend you as a consultant to their friends.

Code in something esoteric - for which there is little support in your area - and they will be saying to their friends on the golf course "no don't hire that guy, he wrote this system for us which does the job, but no one else can maintain it. We're stuck with him forever and now he's too busy to look after us properly!"

Do what's best for the business, not what might be of most interest to you - or appear that way on the face of it. You'll win out in the long run.


I think that you're responsible to decide on the language that's best suited for the job. That includes an objective evaluation of the merits of the language and framework, it includes your own personal skill with the language (since you're the one doing the work) and it includes maintainability by others. Only you and your company can decide how much importance to place on each of those.


For your own personal development, if your area is dominated by .net, why don't you want to get up to speed in that instead of Python?

From an ethical standpoint, I would not write something that could not easily be maintained by someone else.


A lot of responses seem to be a poor fit for the question. We're not talking about using an unapproved language in an environment with existing standards. We're talking about a situation where the poster is the entire IT and development department for his company.

It's certainly important to keep in mind availability of talent, but Ruby is hardly a fringe language these days. In an environment where there's only one developer, productivity is also a very important consideration. Being able to build and maintain software quickly and easily without a large team requires tools with different characteristics than a large team might require.

I think what's more important than whether to use Ruby or (something else) is to try to pick something as general-purpose as practical and use it for everything unless there's a really good reason to use something else. If you go with Ruby, stick with Ruby for your utility scripts, cron jobs and that little GUI app the boss wanted to automatically SMS the intern when he takes more than five minutes to bring him his coffee.