Take the 2-minute tour ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free, no registration required.

I've recently been assigned to work on a project written in PHP. I can't change that, and have no intention of really trying.

However, this can't be an uncommon scenario. How do you motivate yourself to work on the project when the code you're looking at and producing constantly makes you want to cry?

EDIT:

It should be noted that this is pretty much the only on-campus job doing anything software related available at the moment, so "just change jobs" isn't really an option :(

share|improve this question
3  
You grit your teeth, do your job, and find a way to vent –  Shog9 Dec 19 '10 at 15:12
1  
Are you familiar with the macroeconomic situation lately? Count your blessings that you have a job. –  Macneil Dec 19 '10 at 15:31
    
@Macneil: Well it's going to be hard to get a job with that pessimistic of an attitude. Seriously though, the main reason I have the job is that it's on campus. –  Billy ONeal Feb 17 '11 at 17:35
2  
(a) suck it up, (b) try to get it changed or (c) quit. With answers that obvious, this seems like more of a rant than a question. –  Aaronaught Jul 5 '11 at 1:58
    
@Aaronaught: Plenty of questions seem "obvious" so some people. Obviously I did not think it was "obvious", or I would not have asked the question. –  Billy ONeal Jul 5 '11 at 2:19
add comment

9 Answers 9

up vote 4 down vote accepted

My tip would be to endure it, only if you see the benefit of learning anything from the language and all the processes or patterns that the project uses. You might gain something from it.

The alternative, if you're risk-averse enough, is to look for another job. Which is certainly a good idea if your lack of the motivation is dragged down not only because of the technology used, but by the lack of understanding for good practices from your coworkers. There should be better things to do than to have your abilities as a developer stagnate. If you're not learning anything or gain anything from your job: get a better job.

share|improve this answer
    
Don't have much of a choice on getting a better job -- needing something on campus really limits things. –  Billy ONeal Feb 17 '11 at 17:35
add comment

If it's a contract or short term project, or something you'll occasionally need to support, just bite the bullet and do it, of course.

If not, then look for another job or try to explain why that language could be a hindrance on the long term (if you can).


In the first case, it's about being professional and not whining about personal preferences. In the second case, it's about being happy with your job and life.


If what you need is motivation, I'd say start trying to find bits and pieces you enjoy in the language, and start a personal pet project with it so you have a stronger incentive to learn it more in depth. Try to do things that you like with it. If you like TDD, focus on improving the test coverage, etc...

But in the end, you'll have to bite the bullet.

share|improve this answer
add comment

You design the programming language that you would like to use, then write a compiler that outputs the language you don't like to use.

At least, that's what these guys did:

  • haXe targets PHP, Flash, JavaScript, C++ and Neko; maybe JVM in the future
  • Wasabi targets VBscript, JavaScript, PHP4, PHP5 and .NET
  • Scriptol targets PHP and C++
  • CoffeeScript targets JavaScript
share|improve this answer
4  
That should only be a valid choice if nobody else works (or will work) on the project in the "normal" language, because the cross-compiled stuff looks terrible. Secondly you only want to do this for fun and with a lot of time on your hands. If you just in to complete a four weeks project, there is no room to write a compiler first. –  Tim Büthe Dec 19 '10 at 14:18
2  
This is a horrible choice. Have you seen the shit that spews out of these? –  Josh K Dec 19 '10 at 19:51
    
Add GWT targeting JavaScript to the above list. –  funkybro Jun 19 '12 at 7:02
add comment

Pick up your resume, and start looking for a different job. PHP is a powerful language, however its syntax is shitty and non consistent. At the same time start home project in the language you do want to work in, and if you can join an open source project.

good luck.

share|improve this answer
add comment

How long is the project? If is it short just grin and bear it and think if it as good resume filler. If long term I would look for another job.

share|improve this answer
add comment

Really? You do what you do when you HAVE to work on ANYTHING you hate. You grit your teeth, dig in and get the job done.

..or you learn to be a little more easy going!

share|improve this answer
1  
... and you update your resume and put feelers out. –  John R. Strohm Dec 19 '10 at 15:48
add comment

If your employer makes you work regularily using tools that you "hate" (which is a very strong term), then perhaps you are in the wrong job?

Being pragmatic is essential to profesionalism.

share|improve this answer
add comment

Its a learning opportunity.

A couple of things spring to mind:

  • Firstly: how to do better in the toolset you're working with, just because what's already there is less than wonderful doesn't mean that what you produce has to be. You may even find things to like (although I struggle to remember any from Dibol...).

  • Secondly: weight of argument for not using that toolset in the future, if you can say that you used something in a non-trivial fashion, that it has these pros and those cons then you have a far better chance of persuading something that your negative opinion of same has value.

As a professional you have, substantially, to shut up and get on with it - the sooner its done the sooner you get back to using toys you like. That's not to say that you shouldn't express your unhappiness to your management at the start and at the end. But probably not in the middle.

share|improve this answer
add comment

If I'm building something that someone wants with a language that I feel is capable of delivering the project without too many problems, I can get over it. What worries me is when they want functionality that may not be possible/practical or it takes longer than normal.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.