I currently have an offer from a networking based product company where the work is mostly done in C. Considering C to be almost an obsolete technology now, how will that impact my career? Will I be able to later shift if I join this company?

The other offer in my hand is of a service based company with it's CTC much lower than the above company. Moreover, I have always wanted to work in a product based company and the work culture in the above company is also good with decent work-life balance. I know this because I had been working as an intern here and recently been offered.

What should be my keythoughts to make the correct choice now?

  • 14
    C is by no means getting obsolete. It is a great skill to have depending on what you want to achieve in development. As you state you are joining a networking product company, it is not abnormal for such products to be written in C. What exactly do you want to achieve in your career? – Odyssee May 16 '19 at 9:47
  • 3
    What should be my correct choice now? is off topic here, we cannot make your choice for you. – Sourav Ghosh May 16 '19 at 9:53
  • Questions asking for advice on a specific choice, such as what job to take or what skills to learn, are difficult to answer objectively and are rarely useful for anyone else. Instead of asking which decision to make, try asking how to make the decision, or for more specific details about one element of the decision. – Sourav Ghosh May 16 '19 at 9:54
  • Thanks a lot everyone for giving me a positive outlook. As asked by @Odyssee, being a fresher I don't exactly have any fixed goal, I'm just eager to do a job that will give me the opportunity to learn skills that is relevant to the industry. Learning curve is all that matters to me right now so that I have an exciting career growth later on. – Goutam Bose May 16 '19 at 10:12
  • C is outdated... Really, go back a few years and there was a huge demand for programmers capable with Cobol... So, it depends on the needs around at the time. – Solar Mike May 16 '19 at 10:17

You asked a few questions:


Considering C to be almost an obsolete technology now, how will that impact my career?

As has been pointed out in comments, we need to challenge the assumption that C is "almost obsolete" - certainly, there's a large body of work already developed in C, and that work is being maintained and expanded constantly. In addition, C and C++ have advantages that many "newer" languages don't have, and organizations are continuing to use these "older" languages for new development. In other words, there is absolutely no shortage of work in C.

Secondly, you asked,

Will I be later able to shift if I join this company?

Yes - As mentioned above, there is no shortage of work in C. Further, and perhaps more importantly, learning a fundamental low level language like C is a great way to develop skills that will be easily transferable to just about any development job, even if you decide you don't want to actually develop in the language you've learned. Keep in mind: often, employers are looking for fundamental skills and the ability to learn and solve problems versus expertise in a specific product or language.

Finally, you asked,

What should be my correct choice now?

We can't really answer that, because you need to decide for yourself what the most important factors are.

All that said, I think it's very important to focus on some slightly incorrect assumptions you've made. There seems to be a common thought among new developers that anything old in tech is inherently bad and no one wants it. While it can seem exciting to always work in the most recent language or with the most bleeding edge platform, focusing too much on the newest thing will seriously restrict your applicability to many programming jobs. There will always be a churn of new languages and technologies, but the majority of our technology infrastructure is built on "old" ideas and languages - which, from an employment perspective, means that there will just about always be demand for things many newcomers would label as outdated.

  • Thank you. Clearly explains my concerns. – Goutam Bose May 16 '19 at 14:59

C experience will be a BIG plus for any future job applications. As stated by 520 it is most certainly not obsolete and along with C++ is the main path for low level programming.

Even if you decide to go to higher level languages in the future, C/C++ will make your comp science and programming fundamentals incredibly strong.

Lower Level -> Higher Level is a much smoother and more beneficial transition than the other way around.

Don't let C be a negative factor in your decision when it's realistically quite a big positive.

  • @Abigail > This is actually stated in the comments to the question, and these are always above. But comments can be lost indeed. – Laurent S. May 16 '19 at 11:08

Considering C to be almost an obsolete technology now

No it is most certainly not! C and it's younger brother C++ are the cornerstone of low-level software development. Pretty much anything that is seriously performance-sensitive is made in C/C++. The two are very similar languages, and there is nothing out there that can realistically replace C++ (which is C's successor but is basically C plus some extensions) for those purposes without some serious drawbacks.

You should have no problems getting jobs in other places that deal with low-level or performance sensitive technologies. It certainly wouldn't be a hindrance if you decided to go for a higher-level role either.

  • I don't have enough rep to do minor edits yet, but as a minor point of spelling: it should actually be "its" (possessive) rather than "it's" (contraction of "it is") in this case. – EJoshuaS - Reinstate Monica May 16 '19 at 20:26
  • I'd remove the part about C and C++ similarities. C++ is NOT the C successor, they're not very similar languages and C++ is not basically C plus some extensions. Without that I pretty agree with the rest. – Adriano Repetti May 17 '19 at 6:33
  • @AdrianoRepetti from the first line of the C++ Wikipedia article: 'C++ is a general-purpose programming language that was developed by Bjarne Stroustrup as an extension of the C language, or "C with Classes" and has since been vastly modernized.' – 520 says Reinstate Monica May 17 '19 at 9:59
  • Which part of that sentence makes you think that C++ is NOW "C plus some extensions"? Sorry but they're simply different languages (and any non trivial C program won't even compile with a C++ compiler). There isn't even a successor/predecessor relationship because they're both widely used for different purposes and use-cases (the fact the you can write SOME Cish code in C++ does not make it less true, C++ standard tries to incorporate the C standard as much as possible, not completely). – Adriano Repetti May 17 '19 at 10:49

Wish I had had an opportunity to work with C a few years ago. Of course it is not all the rage right now like React or some other JS framework, but it is still very much in high demand. Basically everything we have in a lower level, as well as embedded systems, are C. So, if you are a good (or even average) C programmer, I don't see you having trouble finding a job in the next decades.

I have recently seem job ads for C programmers to work in airport systems and also on train-related stuff.

Moreover, I highly recommend any new (or old) developer to delve deep into C. It will give you insights on stuff that is done automatically by other languages but, in my opinion, are very good to know.

It is a skill you won't regret having.

Not the answer you're looking for? Browse other questions tagged .