• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Old dog, new tricks

 
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

First post here.

I've been a sw dev for 20+ years. I started in C, I loved it and became an expert but after 10-15 years C started to die out as OO took off and I tried to transition to Java (I never got on with C++). Due to my employer not wishing to help me in this I was never given much opportunity to get enough coding experience in java so it was just a few weeks here and there on small projects, no consistent exposure to it. Most of the time I was supporting old C code and doing testing, integration etc.

Not happy with this I started trying to get another job as a java dev but kept failing the tech interviews because I have not been getting regular exposure to java. I know the stuff but not fluently enough to give the quick answers expected in interviews.

I then tried doing java projects at home but there never seemed to be enough time as I've got family commitments. And the Java field is moving all the time, as I learn one skill another comes along. Then there's the frameworks like Spring, Hibernate etc which I dont know but now seem essential on many job ads. Only having a few hours a week to learn all this in the depth needed for interviewing is not proving adequate.

Feel like giving up on software now after 25 years. I still love it but seems like Ive been thrown on the scrap heap by the industry and I have lost a lot of my confidence and enthusiasm for it. I've been working hard, trying to move on for a hell of a long time now and with nothing to show for it I'm getting jaded by it all.

Should I keep trying to learn and going to interviews, or throw the towel in? If throw the towel in Ive got another problem though - what to do instead!!

Any suggestions folks? Anyone been here before, I can't be the only one to have been caught in this situation.

Thanks.
 
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Welcome to the Ranch

What makes you think C is dead? It is still very popular for OSs etc. Have a look at the Tiobe Index, where C has been ahead of Java® for most of the last three years.
In the present employment climate, you are taking a big risk throwing in the towel or changing to a different field, particularly if you have to help your family as students. Though employment is better than it has been, at least in some countries. Depends where you are. I am in UK and they say employment is better than a few years ago. Also, there are some towns with many software employers and others with few.

Have you spoken to your superior? Or your colleagues? Have they given you any advice? What efforts have they made to persuade you to stay, or changed your projects to work on? Have you found any open‑source or free‑of‑charge projects to do/help with, on the side or otherwise? Is your company still on the up? Have you considered working freelance? How much do you contribute to discussion fora, like this one or JUGs? How often do you apply for jobs and how often are you shortlisted? Has the style of interviews changed in those 25 years and have you kept your technique up to date? Are there any Java® training courses in your area?

What do your family say about your job situation?
 
Steven Melville
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for your response. Interesting points.

Wrt C those skills indicators are misleading imo. They auto-compile the data from job ads, but if you search for 'C' jobs you'll find nothing. Annoyingly the MS community refer to C# as 'C' so they'll advertise C# vacancies as 'C Programmer'. Similarly C/C++ vacancies often appear in headings as 'C' vacancies then in the description as C/C++ then in the essential skills as C++. And Objective C, which again is not the same as C but gets lumped in with the C job stats.

The only real 'traditional C' jobs I have seen recently are those working in embedded systems, but that field is a closed shop. If you haven't done embedded before then they won't even interview you.

Yep, I've tried every which way to find a suitable route within my existing company but due to significant off-shoring there is no scope. I am working my first open source project at the moment and plan to do more. I've applied for dozens of jobs, I have a fairly good record getting interviews but I tend to fall down on tech interviews because as I said earlier, I'm not sharp enough, through lack of day-to-day usage. I don't think I need a training course as I do know the stuff, I just need to get it more deeply ingrained by practise so that I can respond more fluently & confidently.

My SO is supportive of me moving on, she knows I'm unhappy with the role I've got. But when I said in prev post about throwing in the towel I didn't mean recklessly or without a plan. The plan is what I'm trying to figure out.
 
Campbell Ritchie
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If you are regularly interviewed and not appointed, have you ever had somebody observe your interview technique? I have had such problems myself.
 
author
Posts: 23951
142
jQuery Eclipse IDE Firefox Browser VI Editor C++ Chrome Java Linux Windows
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Steven Melville wrote:
The only real 'traditional C' jobs I have seen recently are those working in embedded systems, but that field is a closed shop. If you haven't done embedded before then they won't even interview you.



Don't know about your location, but over here (New York City, United States), the C language is still very common in finance. This is because high frequency trading, and assorted related algo systems are still very important. In this space, low latency and throughput is king, and there is no profit for second place.

Having said that, C++ is also common, but only partially because it is object oriented. The C++ libraries are much more richer than C, so it is arguably better to use C++, even if the coding style is not object oriented.

Steven Melville wrote:
Wrt C those skills indicators are misleading imo. They auto-compile the data from job ads, but if you search for 'C' jobs you'll find nothing. Annoyingly the MS community refer to C# as 'C' so they'll advertise C# vacancies as 'C Programmer'. Similarly C/C++ vacancies often appear in headings as 'C' vacancies then in the description as C/C++ then in the essential skills as C++. And Objective C, which again is not the same as C but gets lumped in with the C job stats.



Not sure if I agree here. IMO, C# jobs are advertised as .NET jobs. And Objective C jobs are advertised as IOS jobs. Any headhunter that lumps C# or Objective C with C is really not a very good one.

Henry
 
Ranch Hand
Posts: 789
Python C++ Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
If you don't know part of the answer to a question, say I don't have that at my fingertips, but I've dealt with it before Also, with all the interview questions you've been subjected to, look up all the answers after you get back home, and next interview subtly change the question to something you know, and demonstrate how much you know about that thing Be sure to research the co. you're interviewing for and spin your technical answers toward how it might benefit the co. All kinds of conniving stuff you can do. Since you got the interview you're 90% there. I don't get the interview, myself.


 
Steven Melville
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Henry Wong wrote:Don't know about your location, but over here (New York City, United States), the C language is still very common in finance.


Thanks for replying. I'm in UK, and that's a fair point there are probably a few C niche roles like this in London. But I believe these jobs nowadays require C++ as well as C skills.

Henry Wong wrote:IMO, C# jobs are advertised as .NET jobs. And Objective C jobs are advertised as IOS jobs. Any headhunter that lumps C# or Objective C with C is really not a very good one.


I don't think its always the headhunter to blame, I think applications often strip off the '#' or the '++' thus translating an OO job into an apparently trad C job. Only when you drill down do you find things like 'must have good Boost and STL' which leads me to believe its C++ and not C. Or they will mention .NET in the details which implies C# and not C. (I also stand by what I said that MS people use 'C' as shorthand for 'C#', I assume because in their world there is no other flavour of 'C').

Anyone can try this at home. Go to your favourite jobs site and search for "C developer" or "C programmer" and then click through on the results and see what percentage do not require C++ or C# skills (or embedded experience).

Example, I just found this on a job board:

We are looking for a C developer who can join a team investigating, maintaining and performance enhancing a suite of library’s and middleware application code used throughout the bank.


But when I clicked on 'apply' I was taken to the bank's own website where it said this:

We are looking for a C++ developer who can join a team investigating, maintaining and performance enhancing a suite of library’s and middleware application code used throughout the bank.



So a lot of those stats that say C is a desirable skill are reflecting erroneous search results I'm afraid.
 
Steven Melville
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Guillermo Ishi wrote:If you don't know part of the answer to a question, say I don't have that at my fingertips, but I've dealt with it before Also, with all the interview questions you've been subjected to, look up all the answers after you get back home, and next interview subtly change the question to something you know, and demonstrate how much you know about that thing Be sure to research the co. you're interviewing for and spin your technical answers toward how it might benefit the co. All kinds of conniving stuff you can do. Since you got the interview you're 90% there. I don't get the interview, myself.


Thanks for replying. I've tried these sort of things. I am finding that managers generally like me and like my wide range of skills, but the team leads are wanting at least 80% on their technical questions and I'm not reaching that score. Maybe it is a buyers market, maybe there are a lot of candidates looking for work but employers I've visited have been in no mood for compromise.

If I am to get a role in Java development I need to improve my technical score. One way is by increasing my daily exposure to coding. Maybe I should try java certification. Anyone recommend any online certification courses with practicals? I don't mind paying a modest fee but not in the hundreds.
 
Guillermo Ishi
Ranch Hand
Posts: 789
Python C++ Linux
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Steven Melville wrote:
So a lot of those stats that say C is a desirable skill are reflecting erroneous search results I'm afraid.


If all you write is C and all the ads want C and C++, then learn C++. I only knew C when people started calling for C++, so around 2005 I thought up a big multimedia project for Windows and learned C++ from scratch by coding that project. I used Visual 6 Enterprise which I'd gotten a legit copy of on ebay for nothing, after the big tech crash. Nowdays C++ and C# is downloadable for free from Microsoft in Visual Studio Express. If I started to think you don't subscribe to lifelong learning and I was doing the hiring...
 
Guillermo Ishi
Ranch Hand
Posts: 789
Python C++ Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Steven Melville wrote:Maybe it is a buyers market, maybe there are a lot of candidates looking for work but employers I've visited have been in no mood for compromise.
If I am to get a role in Java development I need to improve my technical score. One way is by increasing my daily exposure to coding. Maybe I should try java certification. Anyone recommend any online certification courses with practicals? I don't mind paying a modest fee but not in the hundreds.


I think it definitely is a buyer's market and the market is world-wide, nothing like when we started.

For Java certification, there's a subforum on this site OCAJP7/8 and look there. Moderator Roel is tops with the testing advice! But it is a very tricky test. It might be easier to bring your C++ to a usable level than pass the cert. test. Having said that the only reason I'm interested in Java certification is there is a big demand for it, supposedly. I'm not sure I'd enjoy doing the things I'd end up using it for.
 
Steven Melville
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Guillermo Ishi wrote:
I think it definitely is a buyer's market and the market is world-wide, nothing like when we started.


Indeed.

Guillermo Ishi wrote:
For Java certification, there's a subforum on this site OCAJP7/8 and look there. Moderator Roel is tops with the testing advice! But it is a very tricky test. It might be easier to bring your C++ to a usable level than pass the cert. test. Having said that the only reason I'm interested in Java certification is there is a big demand for it, supposedly. I'm not sure I'd enjoy doing the things I'd end up using it for.


Thanks for info. I have heard the test is challenging. I don't mind a challenge, but I need to convince myself it will lead somewhere and not be a waste of my time, because I could learn some skills in a new field instead, that is my dilemma, whether I am 'flogging a dead horse' by trying and trying to get into a Java team. I've already invested a lot of my own time last few years and its not been successful thus far.
I don't think C++ is a realistic way forward for me. C++ is very different to C. I know way more about Java than C++, because I've been writing Java applications for quite a few years, albeit part-time and sporadically. I've only ever tinkered with C++. I'd have a lot more problems getting through a C++ interview than a Java one. With Java I have done the learning but I need to consolidate it with practice. With C++ I would be going back to square one and learning from scratch.


 
Bartender
Posts: 2407
36
Scala Python Oracle Postgres Database Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Sorry to hear about your difficulties. Have you looked around your local job market to identify marketable skills beyond Java or C? If it's OO that you're uncomfortable with, have you looked beyond OO at the growing interest in functional programming with languages like Scala, which seems to be taking off in Big Data and financial services, for example? I've seen ads for jobs with Erlang in telecoms/internet security, and even Haskell for finance. Of course, all of these are much smaller markets than Java (only Scala seems to feature regularly on JobServe), but there are also far fewer people with the skills to compete for these jobs. Alternatively, as you're used to working close to the metal in C, have you looked at the kind of devops/cloud admin roles that are also increasing in number and typically require a mix of skills that not all developers can offer? And do you have experience in particular application areas e.g. telecoms, where you could target relevant employers more specifically?

I've had a similar experience with Java, working on Java projects intermittently but never quite being able to gather enough solid experience to break into the mainstream Java market. As a veteran database application developer I'm now moving into Big Data and functional programming, areas where purely enterprise Java experience is less useful or relevant. In effect I'm aiming to jump out of the Java market altogether and into an area that offers more interesting opportunities for somebody with my skills.

So it may be that you can't break into a large and crowded market like Java, but there may be alternatives beyond Java and C. Good luck!
 
Bartender
Posts: 1155
20
Mac OS X IntelliJ IDE Oracle Spring VI Editor Tomcat Server Redhat Java Linux
  • Likes 1
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Don't give in - "keep going!".. I'll be more interested in a developer who has 20 years of experience (in C) than another who has a few years experience in the latest (Java) technologies.
Sadly agencies, do not see it this way. Mostly they seem to be staffed by sales personnel who cannot comprehend the technologies or qualify any level of competence - so they take an easy route and word match CV's to job specifications. I often wonder if Allan Turing was around today, some spotty agency consultant would tell him - "you don't have the right experience"

The truth (well to me) is that most development projects face issues that are not technical in nature, but technologies gets the blame (yes this is an idea from the Peopleware book!). Your experience tells me that you will have have seen these issues, and know how to deal with them.
After all well designed system is a well designed system; if it is written in C, C++, or Java. I've worked on a old legacy C system that was far better than its Java replacement. The C system had been well designed twenty years ago, while the Java one had been rushed....

My advise would be to concentrate on the latest Java certification (I'm starting it too soon!), also have at look at some of the free training videos from the Spring framework (https://www.youtube.com/playlist?list=PLD1178B9CCBB2A0AC) [Note these are a bit old, but still an introduction to dependency injection].
I've had a similar journey (was once a C / Informix developer), so you may need to get your head around concepts like - dependency injection, aspect orientated programming, design patterns - (etc).
 
Campbell Ritchie
Marshal
Posts: 79177
377
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator

Peter Rooke wrote:. . . Note these are a bit old, but . . .

What is wrong with the videos being old? Go for quality of teaching over newness any day.
 
Steven Melville
Greenhorn
Posts: 6
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Thanks for the responses guys.

Campbell, re your earlier post which I missed; I think my interviewing is ok, obviously one can always improve but feedback I've had is consistently about sharpening my tech java knowledge.

Chris, some good ideas for me to follow up on there. I feel comfortable with OO and I'm working with GOF / patterns in my own projects, but I should take a closer look at scala , haven't explored it in any depth.

Pete, thanks for the words of encouragement, and for the Spring framework link, I'll check that out.

 
reply
    Bookmark Topic Watch Topic
  • New Topic