Advice on hiring a C programmer for Java tech company

Hi Guys,

I just need to know how easy it is for a C programmer to learn Java and do web programming.

To give you a little info, I'm planning to hire a person who is extremely smart and has been working as a C programmer doing network programming for the last 6 years. He has never worked on Java or did any web based programming before.

He is interested in joining my team. The technology we are using for developing our website is Java Springs framework and HIbernate for ORM tool. He's confident that he can pick up these technologies in a month.

I wanted to get some feedback from the community as to how easy or tough it is for a smart programmer with no web development experience to learn a new language and make this shift. And how long would it take for a person to make this transition.

Appreciate any advice.
Who is Participating?
agriesserConnect With a Mentor Commented:
This guy could be comparable to my brother. Excellent knowledge in C, C++, C#, .NET, MFC whatever but has never coded a line in Java or PHP or anything like that.

I then once asked him to do me a favour and implement a small web-based application in PHP using a MySQL database  and was interested in the result.

A few days later, he finished this project and it worked flawlessly. Of course, there were some code snippets that didn't look like typical PHP code would look like, but I guess that will come the more code he writes in PHP (it's the same with all new programming languages).

On the other hand, hiring a PHP coder to do C++ things is not a good idea, I think.

Just my 2 cents...
gubloooAuthor Commented:
Thanks for the feedback - Appreciate it.

I think your brother is still a very good candidate to learn java and cannot be compared to the person I'm referring to. As you mentioned, your brother has knowledge of C# .Net etc - which means he has a fairly good understanding of the web architecture - and C# is so similar to Java too.

And this person has not even done C++ and the last I remember C is not even an object oriented language. And with all these new frameworks in Java like Struts, Spring and ORM tools like Hibernate - it has kind of become very large and complicated - dont you think.

I mean if we were still in the age of writing JSP's with all java code embedded in it - it would have been easier for him to pick up - I know the introduction of these frameworks have made life easier - but for a beginner - I think it will be overwhelming.

Thanks once again for the feedback.
Yes, you're right. Usually when one says he can program C, he usually also writes some C++ code or has at least use some libraries or foundation classes.

But from this point of view, it might be hard for him to get along with this new world, but I think it can be possible for him to catch up in a month if he is really interested in this job, but as I don't know him, it's hard to tell.

Any other candidates for this job?
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

gubloooAuthor Commented:
I agree with you. As a matter of fact I dont know him either - just interviewed him over the phone - its a friend of a friend.

Believe it or not - I'm finding it really hard to find some good talented programmers. Its like the top cream of programmers - never get into the open market - they move from one job to another with references and are hardly available I think :)
Indeed, it is.
People tend to say that C programmers usually aren't the quickest programmers around, but the most accurate ones, so maybe this is a point to consider too?

What about a 2 months grace period for him? Is this possible/a good idea?

If it works out for you, you're lucky.
If it doesn't, you've lost some (much?) money.
gubloooAuthor Commented:
Well said - I will definitely consider that point.
Thanks for your feedback Sir - I know this question did'nt probably belong here - but just wanted to get some opinion from people and see what the general understanding is

Appreciate your time.
Please don't call me Sir, I could probably be your son ;)

Good luck with your decision!
sunnycoderConnect With a Mentor Commented:
The hiring is probably not a very good idea.
Learning a language is one part, learning a programming and design paradigm is another ...
Learning to use a different language and design paradigm effectively and producing acceptable code take years of practice. When an exceptional programmer finds himself producing the code and designs equivalent to a person who is about half his experience, chances are he will feel frustrated.
This guy being an exception programmer may have a shorter learning curve, but how much can you realistically shorten it? When he starts producing code there would no doubt be reviews and comparisons which would potentially disturb the harmony of your group. Current team members would find him below average and would expect that to reflect in appraisals and pay.
In an ideal world, such a hiring is conceivable but since we dont have the privilege of living in an ideal world, I would recommend against this hiring.
If the guy is really interested in joining you, ask him to invest some of his own time in learning the relevant technology and design/programming paradigms. You can interview him again in 6-12 months and then take a decision.
gubloooAuthor Commented:
Thanks sunny
That was very useful advice. I think you've pointed out some real world issues that may arise by appointing such a person - all very valid reasons.
I definitely feel the same way too.
peetmConnect With a Mentor Commented:
I agree with 'sunny', although it's hard to be totally objective here and memory fails: a bit of history ... I was just an imperative programmer for so many years - Pascal and C mainly - then *just* C for more years.

Then C++ came along and I can't quite remember now how that first 'felt' - particularly as I felt [I do remember this] that it was a bastardised C [grrr].  However, after a few years working with it I loved it, and the underlying oo philosophy behind it.

When Java came along I remember picking it up more or less instantly - the same with C# and other similar languages.  They seem 'natural' to me now [if a little boring/me-too] - as a way of programming.

So that's a long hike - and nowadays I feel more at home with languages like Haskell!

My gut feeling is that it'd be a gamble on your part if you hired him: but the odds would not be in your favour.
gubloooAuthor Commented:
Thanks peet for your opinion. I definitely think everyone is on the same page like me and think its not the best idea to hire a C programmer for Java web programming.
Appreciate everyones advice.
cupConnect With a Mentor Commented:
A good programmer is a good programmer whatever the language.  They are fairly adaptable and can move their skills from one language to another.  The first three months or so may be difficult because they're still trying to get out of the mould.

Just look at the early C# programs that C++ programmers wrote or the early C++ programs that the C programmers wrote.  Everybody makes mistakes but it is a learning process.  Don't expect everyone to hit the floor running.

We've got a student on a one year placement - never done any programming before.  The stuff he produces is pretty good - if you have someone who is willing to learn, you can't really go wrong.  I'd give this guy a chance if he's willing to learn.

I've trained a developer with one O level and two CSEs (this was about 20 years ago) and he produced better code than those who came from Uni.  Look at the contributors to the Boost library.  What do you have?  Chemists, structural engineers etc.  Would you have thought a Chemist would be any good at creating generic templates that are used world wide?

Web programming isn't very different from normal programming except that you have to deal with several languages (HTML, Javascript, back end languages and databases)  at the same time and debug across several machines.  Some web programmers produce very pretty GUIs with crap code underneath, others just produce crap GUIs (eg HSBC bank).  You don't know what you have until you try it.  I'd say, take a gamble - you might not regret it.

I agree with what you said - "A good programmer is a good programmer whatever the language".

While I have faith in programmer's abilities, I am concerned about team dynamics until the programmer learns and starts producing code that justifies his capabilities. This phase can induce dissatisfaction among existing team members and can affect the morale of the new programmer. The problem comes into sharper focus when programmer needs to learn the programming paradigm and domain along with the language.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.