Subscribe now and choose from over 30 free gifts worth up to £49 - Plus get £25 to spend in our shop
At the company I work, we're trying to find some good C programmers.
They just don't seem to exist anymore.
There are a fair few candidates from India on visas - some of these are quite good, some not.
But where are the people born in this country with good C programming skills?
Or did they all end up working in London for a bank.
In their bedrooms, with the lights off and curtains closed, eating Pot Noodle and writing Objective-C apps for the iPhone... (and making a few quid too, probably)
Rachel
Or some of us have got fed up with trying to work out where we left that chunk of memory and buggered off into Project Management where we are now trying to find some missing finance!
(Got fed of of trying to write the smallest program to do something useful!)
In their bedrooms, with the lights off and curtains closed, eating Pot Noodle and writing Objective-C apps for the iPhone... (and making a few quid too, probably)
Do you know my mate Tristan??? Exactly as described - just to finish the picture, he looks like Harry Potter, never had a girlfriend (despite his best efforts)..... but is absolutely loaded.......
errrmm ever heard of outsourcing = no jobs in uk = no skills
Never done 'C' programming but was a good COBOL programmer once, he says showing his age 😆
I come from a C-programming background and certainly in my current role as a research / scientific programmer the demand for C has reduced dramatically. These days I work mostly in Python and only dip down to C or C++ when we want to speed up some low-level library routines (usually maths functions).
I think the universities are also moving away from the mid-level languages like C. I taught C and C++ for a number of years and the uni I was working for was just about to scrap those components in favour of Java and Perl when I left.
-j
We are still around... I'm mostly doing managed c++ and c# .net stuff now; but we still have c knocking around in legacy systems so I keep my hand in.
I have worked with a lot of Indian devs over here on working visas; I don't like it.. the problem is not their skill level, but a cultural issue with asking for help. All the ones I have worked with have been too keen to tell you they understand, but then to go away and do something different/wrong for want of admitting that they didn't quite get it. That is not to say there aren't plenty of devs born and bred in blighty who are just as shite!
Dave
Lots of C experience here, learnt it in 1985-ish but haven't used it for at least 5 years now.
didn't all their palm crystals turn black and they had to go to some sleep conference or something?
C programmer here.
The company I work for specialises in firmware for real time and embedded systems, so C is frequently the de facto choice and all our engineers must pass a C test before they are hired.
We write code for other companies, so you can email if that would be of interest luked2.
We're expensive though!
luked2 - MemberAt the company I work, we're trying to find some good C programmers.
They just don't seem to exist anymore.
There are a fair few candidates from India on visas - some of these are quite good, some not.
But where are the people born in this country with good C programming skills?
Or did they all end up working in London for a bank.
Personally, when i came out of uni I couldn't find a job at entry to mid level doing C so I took up Java/PHP/.net/DB development job to pay the bills. 3 years later, still doing it.
Despite doing a fair amount of linux kernel hacking in C at work, I wouldn't feel confident to take on a full-time C role any more.
I think this probably happens to a fair amount of C programmers.
they all work in the Games Industry good luck in prising them away.
they all work in the Games Industry good luck in prising them away.
Actually I'm currently curing cancer
(though admittedly I'm using C++ for most of this one)
I didn't think there was much money/demand for C these days; people I knew moved into java and .net type things.
he did say "good C Programmers" 😉
Now machines are so fast, just hack it all in Python - way quicker.
I didn't think there was much money/demand for C these days; people I knew moved into java and .net type things.
Actually [url= http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html ]C is currently at number 2 in the TIOBE charts.[/URL]
he did say "good C Programmers"
Going on for fourteen years experience. I know my way around a void*.
DSP/comms software engineer here. I still use C...
...mostly for developing and maintaining our build tools for assembly code...
...which is what I spend the rest of my time writing.
The old skills aren't dead yet 😉
Visual Basic is at number 6, that's quite disturbing!
Currently write most of our stuff in C for an embedded firmware design consultancy.
If the OP is still looking and is based in an office next to Whinlatter for the same money as Cambridge.. do let me know.
/* Confidently raised hand from the back of STW forum */
I program in C full time, well mix in a bit of product design, but mostly program. Just off the back of 10 clear years in Z80 assembler, plus other niche bits and bobs. C for the last couple of years.
Looking forward to the exciting days of C++ sometime in the next 18 months. Our company is so behind the times, but fun if you love programming/hardware/gambling. Its an odd mix.
luked2, where are you hiring? I'm looking!
I'm a C programmer too. Mostly C, occasionally C++, recently forced to actually start learning Perl. There's still lots of C programming to be done for embedded systems, which is what I do. I'm not curing cancer but I am helping the Internet to work. 🙂
The company I work for specialises in firmware for real time and embedded systems, so C is frequently the de facto choice and all our engineers must pass a C test before they are hired.We write code for other companies, so you can email if that would be of interest luked2.
Same for my employers and I'm sure they're always happy to speak to new potential customers too!
We're expensive though!
We're remarkably good value for money but still full of experience.
We're hiring. We need solid C/C++ skills and preferably experience with embedded systems.
Minimum five years industrial experience. Based near Edinburgh.
Email in profile if anyone wants details.
Near Edinburgh? You don't mean Livingston, do you? Aargh!
Nope, not Livi.
Fife way, but I'd rather not be anymore specific than that here.
they all work in the Games Industry good luck in prising them away.
Yeah, that's what I'm doing, 7ish years of making games for consoles in C/C++. Doing a bit of dabbling in mobile platforms in my spare time but I think the markets are rapidly getting a bit too crammed to be honest.
Very eager to find a company in Scotland actually, there seems to be lots going on up there and the idea of biking on my back door excites me greatly. Lots of demand for C/C++ coders about at the minute? I might have to broaden my career choices slightly 🙂
@UrbanHiker - Cambridge; email me if serious.
errrmm ever heard of outsourcing = no jobs in uk = no skills
+1. My job was sent of to Delhi a few years back, although shortly afterwards they closed that office because it was too expensive. It's weird though that we're now seeing so many people from India. It all seems very mixed up.
It's hard to tell your kids to get a job in an industry that is so prone to this.
I think the way schools teach "ICT" doesn't help either. My eldest son started on the ICT GCSE course, aiming to do it a year early (had a broken arm so couldn't do PE). But we just gave up, it was such an utterly soul destroying course. It seemed to be designed to suck you dry of any kind of enthusiasm or interest in the subject, unless writing bogus user requirements documents and developing excel spreadsheets was the kind of thing that turned you on. I don't think C was even mentioned. Utterly pointless.
They've gone to sit with all the Cobol and Fortran programmers.
C.. tch!
utterly soul destroying... designed to suck you dry of any kind of enthusiasm.. writing bogus user requirements documents and developing excel spreadsheets.. don't think C was even mentioned.
Well at least the course seems to reflect industry experience then 😀
VB is ahead of C#? Ugh.
Pleased to see PHP and JavaScript on the way down though!
molgrips - Member
They've gone to sit with all the Cobol and Fortran programmers.C.. tch!
I'm programming in fortran right now. 🙁 What a waste of my life.
I'm programming in fortran right now. What a waste of my life.
I've done my fair share of Fortran (F77 with a bit of F66). I feel your pain.
Just out of a sad sick curiousity, is that Fortran66, Fortran77 or Fortran90 (or whatever it was called)?
I refused to use Fortran at uni. They were on F77 - I mean computer science changes really quickly, right.. so let's use a TWENTY FIVE year old programming language should we? 🙄
Fortran 77. I'm using gfortran compiler though which has allowed me to use a few features from f90. Inherited a massive load of code so have not been able to introduce any modulus so I have loads of common blocks. It's a right mess.
I'm not a trained programmer just picked stuff up as I've needed so have been trying hard over the last year or so to improve my practices which of course were really bad when I started. Do ok now with my new code but old stuff is awful!
I need to learn a useful language somehow.
molgrips - Member
I refused to use Fortran at uni. They were on F77 - I mean computer science changes really quickly, right.. so let's use a TWENTY FIVE year old programming language should we?
Inherited code, a lot of the metoffice runs on FORTRAN. In it's defence it is very quick for number crunching and supports complex numbers without any libraries.
People in our Physics dept were writing loads of code that'd take days to execute, using up valuable computing time. Mostly they were taking days because they had no idea how to optimise code, not being programmers.
Someone's code was going to take three weeks to run - the sys admin optimised it down to about 10 minutes 🙂
Complex numbers, whoop de doo!
I's rather install a library than put up with ancient langauges 🙂
This is the problem. I have no programming training and I have improved a lot but I'm sure improvements could be made but I have no idea! My code is such a mess what with having to bolt on new stuff to an already pretty ugly code and it would be hard to work out were to start, I've improved it on what it was though considering the additions I've made.
molgrips - Member
Complex numbers, whoop de doo!I's rather install a library than put up with ancient langauges
But do you want to rewrite a huge and complex code?
Sure. I'll send you the invoice later 🙂
My code is such a mess what with having to bolt on new stuff to an already pretty ugly code
That's why Object Orientation was invented 🙂 Not too popular in 1977 tho 🙂
Ha! Re. I'll pay you when you have finished 🙂
I've played with C++ and so much of my stuff would be much easier, I just wish I could use it for what I'm doing!
I've played with C++ and so much of my stuff would be much easier, I just wish I could use it for what I'm doing!
Rewrite bits of what you've got, one small piece at a time.
Don't use C++, it's the Devil's language. It will lead you step by delightful step to destruction.
Use C for stuff that needs to be fast, and Python/Lua/Perl/... for anything that's just doing management/text mangling/setup.
The internal politics may well be the hardest part.
[i]Never done 'C' programming but was a good COBOL programmer once, he says showing his age [/i]
But mine was done on coding sheets, and then typed up by the Ladies - only later did we get terminals.
C for stuff that needs to be fast, Java for everything else. Mmm, Java 🙂
Java. Bleurgh. I actually prefer C# these days!
When I did my compsci degree about 10 years ago (OUCH!) there weren't that many candidates who were really into programming. Most were mixing it with business or math.
No doubt some of them 'got it' eventually, but we spent most our time doing Java with a bit of CPP, zero C.
It seemed like the only good programming chaps (and a couple of girls!) either programmed as a hobby previously, or had past experience dabbling in languages like C (some at A-Level). The degree did very little to improve their programming skills.
Not sure what they teach these days. Many of the candidates were into web development, so they've probably went down the PHP/Perl route back then.
I myself don't really like C/C++ these days. Fairly happy using Python and designing our systems 🙂
That TIOBE index, are there really that many lisp programmers out there?
When I was at uni, comp sci courses were a mixed bag. Some were about teaching you practical job skills, some were about teaching you academic stuff like AI.
And the students were also mixed - some hardcore geeks who wanted the sciencey stuff, and some business minded people who were in it to get a job because they thought they could make lots of money.
So everyone was disappointed to some extent 🙂
mogrim - Member
That TIOBE index, are there really that many lisp programmers out there?
Or even ADA programmers? Is it still used for real-time suff? Could be I suppose...
[quiz question]After whom is the ADA language named[/quiz question] No Googling!
Either Babbage's sister,or a patroness.
Ian
Googled it now,close.but no cigar.
Ian
I did C, C++ and cobol at college and university, seems very few jobs out there when i left uni and tbh i after failing to land a proper job as my mates call it, i ended up leaving my Computing skills behind. Pity as i loved tinkering around and when you compile that code for it to just work. Many times it failed to work.
Graduated in 1997 from Strathclyde Uni (Comp Sci BSc Hons).
We did all sorts. Off the top of my head: C, Scheme (LISP), x86 assembly, Eiffel, Prolog, and I did my final year project in Java 1.1 and upgraded it to the heady heights of Java 2 mid-project 😀
The languages we did were really secondary to teaching us the principles tho.
C and assembler taught us low level systems. Prolog taught us logic, deduction and inference. Scheme taught us algorithms, recursion, data structures. Eiffel taught us contracts and assertions etc etc
Many graduates these days seem to just get taught a language to use in industry and that's about it. Many would give you a blank look if you asked them the difference between the heap and the stack, or what O-notation was, or how to convert an iterative algorithm to a recursive one.
Ada Lovelace was a countess and Babbage's friend. She discussed ideas with him and came up with the idea of programming languages.
How would folks here do on these phone screen questions?
http://www.codinghorror.com/blog/2008/01/getting-the-interview-phone-screen-right.html
(oh and ADA is named after Ada Lovelace, who was someone posh, possibly a Lady/Countess? who had something or other to do with Babbage)
Edit: typed that before I saw molgrips reply. Close enough with googling 😉
I just interviewed a guy to replace me today. He didn't know much about the language we were using, so I asked him about how he'd worked in the past, how he'd picked up new stuff and how he thought it fitted into a project.
He got the thumbs up from me.
I think I'd do OK with those questions. I ask our candidates to reverse a string - I'm always amazed by how hard that can be.
For goodness sake, if you're in an interview and you write down some code, TEST IT BY HAND!
I've lost count of the number of people who insist on going one past the end of the array.
And as for that phone number question, that looks like a two line perl script.
Yeah but the phone number thing would only work in the USA would it not, or other countries with standardised phone number formats..
Experienced application developer me, I think of these things 🙂
Yeah but the phone number thing would only work in the USA would it not, or other countries with standardised phone number formats..
Didn't it say something like "identify the pages having probable U.S. phone numbers in them" and "our team is on a short (2-day) timeline." ?
But I'd still rather have candidates thinking about it too much than just staring blankly at me.
I think Ada Lovelace was related to Lord Byron. Smart chick.
"Don't use C++, it's the Devil's language"
Personally I quite like its many traps an idiosyncrasies on which there are many books written, at least from a masochists PoV since I was once an expert. C++ in the hands of a novice programmer is like a shotgun in the hands of a child. But it does offer most of the compactness and performance of C with the big benefit of object oriented design. So if you want a high performance server, have a load of C to refactor or need an embedded application, it's probably still the language of choice. Unless you want it to be very reliable and will write your own utility libraries, in which case use Ada95.
Mind you Java is getting fast these days, if rather bloaty and unsuitable for small platforms (Micro Java any good?). No Real-time standard yet though.
Problem with C++ for me is bloat. Loads of libraries for every platform, even to do the same thing (we had three string classes in one environment, you needed different ones for different stuff), makes it all a right nightmare.
There two best things about Java for me are a) the standardised documentation format, makes it brilliantly easy to find what you need and b) standardised libraries for most things [i]even on different platforms[/i]
While I have all of the STW geeks here. I'm a Maths / engineering guy, most of the other Sci / maths jobs I look at seem to want C++ which is why I have been dabbling in that, trying to become more familiar with it but now this thread makes me thing I shouldn't bother.
Well if you doing algorithmic work and number crunching then speed and compactness is probably important which rules out a lot of the friendly contemporary languages. But C++ is really bare-to-the-metal C with possibility of a more flexible design that you get from being OO. So yeah I can see C++ doing maths work.
But I totally agree with molgrips - it's minefield language. In fact some interviews churn out examples from the "C++ gotchas" book just see if you spot them; the gits. Don't get me started on C++ exceptions (because I can't remember all the gotchas now)! Then there are heaps of books about good style because its so easy to have bad style: Meyers, Sutter and many others. That tells you all you needs to know about the language: it's Bjarne Stroustrup's post-grad research project.
But through all that it's possible to write fast, compact, maintainable, re-usable code. So it's kinda bad-ass cool too.
Languages are heavily industry dependent as you are finding out Brick. If you end up in realtime stuff or some similar area, then it's C or C++ all the way. If you are into enterprise apps or server-side then Java or C#.
You have to be really committed to write good C++ and developers of that calibre are few and far between 🙂 So most C++ code is dodgy and hard to maintain. Why d'you think Windows is so buggy? 🙂
I've spent some time working in C for real-time linux, primarily on embedded/back end stuff. UI's are a confusion to me. I need nothing more than a CLI to be happy. Wouldn't consider myself a programmer though, I just can do some. And some assembly, as and when it's needed, primarily on PIC's.
10 PRINT "STW GEEKS";
20 GOTO 10
Right, who wants to give me a job? 😀
buzz-lightyear - exactly. You can end up writing code that is simply unreadable, let alone maintainable.
TheBrick - the important thing is to understand what's actually going on underneath, and to do something you enjoy. Just be aware that C++ is a bit of a minefield.
You haven't lived until you've experienced a quality core dump 😀
Comp Sci cryptography bore here who wrote embedded and real-time C code for seismic surveying, mainly crypto and compression with a bit of 3d graphical processing. I knew it was time to do something else when i wrote a cheque in hexadecimal (true story)...
[edit] and I'm still cursed with using Vi for everything, documents particularly that i then get pasted into Word 8)
Thanks for the points.
Don't use C++, it's the Devil's language
[code]numNegativeOpinions++;[/code]
I'm using it at the moment and I have to say there are lots of incredibly complicated bits to it, especially when you get into heavy template programming with binding and functors - the error messages from the compiler become completely unreadable by human beings. 🙂
I used to be a C Programmer, but somehow I now find myself as an Environmental Engineer.
Studied Geology and Computer Science with the idea of working in Geophysics, but finishing my degree in the middle of the early 90's recession put paid to that.
Last bit of C I did was converting a load of 'NATURAL' database programs. Considering the NATURAL code ran like a three legged dog and the company was charged by the second for CPU time, in the first month they went live I think I saved the company £20K. Didn't get any thanks for it though and was made redundant (for the third time in 5 years I might add).
I still try to keep my hand in, playing with Linux on an old laptop; and I sometimes miss the creative elements of the work, but these feelings soon go away when I think back to the 18 hour days trying to get a system to go live and being made redundant again because the company is sending all the development work 'off shore'.
I think the problem for the OP is that universities aren't teaching C any more.
All the young graduates I know have learn't mostly Java, C# and web related stuff. If they have learnt C, then they've tried to forget about it asap!
I've coded in C, C++ and C# over the years, but that's all off the back of learning to program for science, so my code was never likely to be particularly optimised!
These days I work full time as a scientist and write stuff mostly using Matlab, which is terribly slow to execute, but fast to code.
All the young graduates I know have learn't mostly Java, C# and web related stuff. If they have learnt C, then they've tried to forget about it asap!
Yep. Shame because an understanding of C helps you pick up higher level languages. Such graduates have no idea what a pointer, stack, or heap is. Which means they misunderstand concepts in their own language (e.g. why creating lots of objects is costly, why passing objects by value hurts performance etc).
Yep. Shame because an understanding of C helps you pick up higher level languages
Couldn't agree more. I believe you don't need 'A' Level maths now to study computing at Uni. They call it Computer Studies too, to take the science part out. I still remember my first year course in Algorithmics with Pascal. Now there was a highly typed language! Never got on with Pascal, but found C relatively straight forward.
Memories, memories 🙂
They bloody well should understand what a pointer is in Java - fundamental to the language. The rest of it should be part of any foundation course in programming, not just C.
Not sure about needing A level maths to study computing either.
IMO what's most important for a developer is to understand how your choices in the work you do are going to affect the application, the end product, the project and your team both now and in the future. I bet they don't teach that.
They bloody well should understand what a pointer is in Java - fundamental to the language.
reference != pointer
glenh - MemberI think the problem for the OP is that universities aren't teaching C any more.
[url= http://courses.uwe.ac.uk/g402/2011 ]Decent ones do :)[/url]
molgrips - Member
IMO what's most important for a developer is to understand how your choices in the work you do are going to affect the application, the end product, the project and your team both now and in the future. I bet they don't teach that.
See above. 🙂

