As a CS undergrad student in 2017, is it possible to get internships and hopefully eventually a job programming in C...

As a CS undergrad student in 2017, is it possible to get internships and hopefully eventually a job programming in C? Or am I doomed to Java, C#, etc.?

Other urls found in this thread:

youtube.com/watch?v=Wu-jfju5atI
twitter.com/NSFWRedditGif

Would like to know this also.

bump for interest

Yes, yes it is
However, you won't learn anything useful from your CS classes, so buckle up and study on your own

Defence contractors need systems engineers still, since that's their line of work. Other companies are unlikely to have internships for that, unfortunately.

Do people seriously not do anything outside of class?

no. start dealing drugs.

Java or C#. C is dying and the rate of popularity of C is decreasing in an alarming rate.

>get internships and hopefully eventually a job programming in C
I got my first internship working on DWT for image synthesis. I could've gone further and get more involved but I didn't since I am a bag of shit. Few year later the group publishes the thing we were working on in SIGGRAPH. So yeah you can do C, but you'll have to look for it by yourself.

any recommendations for studying C further? like books or anything
you'd be surprised how many CS students are the types of people who went into the field solely because they built a gaming PC and have basic knowledge of Windows but do nothing on their own
I realize that there are probably very few new C jobs popping up but surely there's legacy shit that still needs to be maintained?

>books

The C Programming Language by Brian Kernighan & Dennis Ritchie

C Programming: A Modern Approach by King

These are the only two you'll need to get started.

You'll probably be behind CE or EE students for the main field where C is not even close to end aka electronics. I suggest you try to learn about the lower level stuff doing some project such as a working amd64 kernel (32-bits is no longer impressive) or some other embedded thing.

Dude what

Considering embedded systems are becoming more and more frequent in tech (cars especially), then there's no way C is dying at "an alarming rate".

30 years ago they said C would be gone and obsolete by now.

Yet here we are.

Yes. I was that kind of dumb-ass once and had to bust my ass to get a job in the field

Books Sup Forums can get you lots. The important thing is to practice. Don't think you are above anything. If a place is willing to give you an internship, take it. You need every bit of programming experience you can get

Mostly all C programmer are EE or CE, microcontrolers.

Probably?

the vast majority of places that I interviewed at wrote software in Java, JavaScript (front and back-end development) and C#.

I should note that these were placements.

EE students don't know how to program C. CE students know it extremely well.

Literally, LITERALLY, every embedded systems engineer job posting I've seen asks for competency in C.

C has been deprecated. Learn Rust.

I've done it. Your best bet is embedded firmware development or getting on some company's open source team.

A follow up to this, if you have the opportunity, take an assembly class, an operating systems class (especially one that involves some kernel work,) a computer architecture and organization type class, and an intro to digital logic design type class. Don't be afraid to ask an advisor or CS professor what those classes are at your particular university.

just fucking kill yourself.

Don't listen to Sup Forums

No one here has any idea about the tech industry

For C, there's really two options where you end up.
1. Maintaining legacy code that is too massive and too valuable to throw away so they've been patching it with duct tape for 30 years
2. Embedded work

For #1, it'll largely be healthcare companies, financial institutions, older logistics companies (think trains).

There are companies in my area that still hire COBOL programmers. I'm sure there's work for C developers somewhere.

This. I have learned very little in class, but people who have a sincere interest already know about all of the resources on YouTube, etc.

I work with C in embedded systems, so let me warn you OP: you don't want to get into this.
>Colleagues are either old EE's too retarded to use version control properly, or fresh juniors that think a microcontroller has an infinite stack and don't know what a GPIO is.
>Horrible codebases full of duplicate code, fragile API's with potential to fuck with your memory for whatever obscure reason.
>Race conditions EVERYWHERE.
Not to mention that any C codebase which gets complex enough will start to implement C++-like objects, but badly and full of errors.

The Linux kernel begs to differ. It is by far the best large codebase I've ever seen, in terms of code quality.

As for all your other complaints, these problems are endemic to all commercial software development and there's no getting away from them unless you're extremely lucky.

I agree. However, most of my work experience has been in closed-source, bare metal/RTOS projects for consumer electronics, which are always a shit show.

Sure, and I agree with that as well. But, having seen both RTOS embedded stuff and big commercial C++ products, nothing is ever not a shit show in the commercial software world. This is not due to malice. Most of the people I work with know the code is bad. It's just that this is what commercial software dev is like, due to the combination of incentives.

You are right, again.
IRL I really like the job, (and my colleagues are not as bad) so I was mostly memeing for OP.
Our code still sucks thou.

Yes. Look for C++ internships and ask the recruiter if they work on any systems project.

OP asked about C. Not C++.
Eat your meds.

I got a starting job using C.
Be sure to take a systems course of some sort.

for my internship I was a javascript artisan

where did you work and what did you do (for the C job)?

Hear, hear.
You don't want to enter embedded system.
It takes a lot of skill for shit rewards.

Get a normal programming job and contribute to FOSS, where a lot are written in C.

>It takes a lot of skill for shit rewards.
This so much.

>tfw even entry level embedded jobs ask for 5 years experience
>tfw python rockstar ninja gurus fresh out of college get paid 2.5x as much as me

C using a C++ compiler is the future so you can use the useful C++ shit

C is not declining. That is just a myth created by the shills.

Embedded devices are becoming more common, not less, and for embedded programming you will always need C. Java, C#, Rust, these high-level languages cannot do what C can do. Writing C is the next best thing to directly manipulating the silicon.

Just a reminder to everyone, a lot of embedded programming is done in C++ nowadays.

embedded systems

like bare metal MCU firmware programming? or systems programming?

I don't know about a lot. I've been doing embedded and systems programming off and on for about 5 years over the past 10 years. I rarely see embedded applications written in C++. I've noticed a small uptick in C++ embedded recently though it could be just a blip, we need to wait and see. The ARM mbed platform makes use of C++, or at least some kind of subset or related language, I haven't looked into the details.

Anyway, OP, if you really want to C you can find your way into that part of the industry if that's what you want. There is opportunity there still.

This. You'll spend more time learning in your first six months on the job than all four years of uni.

>C is dying
>C makes up the Linux kernel and infrastructure projects like Varnish, nginx, and Apache httpd which are used EVERYWHERE

kys

K&R is not an intro text.

And it's not even a good text once you're acquainted with C since it's so oldschool. I don't get why it gets recommended so often. King's book or Gustedt's are much better modern introductions.

1. kenneth reek pointers on c
2. linden expert c programming

yea, i fell into radar work of all things and all the embedded systems ran C. it's more of an oddity than a career path

Depends a lot on the university. Most CE and EE programs overlap significantly. and plenty of EE programs do a significant amount C.

life-critical systems programming

That's only because the lead maintainer doesn't give a single flying fuck about your feelings and will suggest retroactive abortion if you send in fucked up code.

No other project can do that, and so they're shit.

That's true of any major desu

>programming in C as an intern in 2017
Maybe you'll land a position at fizzbuzz inc and write fizzbuzz all day for high profile fizzbuzz clients across the world.

Ice Cube, is that you?
youtube.com/watch?v=Wu-jfju5atI

>any recommendations for studying C further? like books or anything
Pointers on C is super good! It doesn't waste your time at all.

Finishing it right now, great book. I switched maybe 4-5 C books before I found this one.

Seconding King's book, was the textbook for a class I took, way better than K&R C which is outdated and very unsafe.

C is always the first or second most desired language by employers according to the IEEE

>K&R is not an intro text.
What? It's literally meant as a C intro text for people familiar to programming. It has solid exercises and explanations, and a logical progression. Any non-retard should be able to work through K&R C and get a grasp on the fundamentals of the language.

Opinions on this book? It's required for comp Sci I in my uni

>I was that kind of dumb-ass once and had to bust my ass to get a job in the field

and here I am with a solid gpa, grad level classes under my belt and being lazy outside of class....now I have to bust ass to find a job. thanks laziness/depression you son of a bitch

No serious programmer would stick with only one language. It would severely limit your market value.

I'm really struggling to choose between CS and CE

I want to get into security but I really like the idea of learning how hardware and very low level stuff works.

The entry requirements in Australia for BA in IT (CS) is fucking awfully high, something like 55% of students qualify while BA of Engineering (Computers) is at least only open to 43%

What if the entire course is fucking dumbed down garbage? It's not even a bachelor of science, it's bachelor of IT.

t h i s

>2017
>actually landing a programming job

wew lad you are in for a surprise. I have been NEET since I graduated.

This.

Also OP C will still be relevant the coming 10+ years and if you know how to do C you can switch in a months time to other languages.

I got a 6-figure offer before I had even graduated.

I went to a university with a good CS program, but I'd estimate that only 1/3 of my classmates could actually code, even in the higher-level classes. So you're probably just in the other 2/3.

It's alright. Pretty basic, but that is probably why they are using it.

>Java C#
Well yeah of course.
>Rust
Bullshit. Rust exists precisely to do what C can do.

>Writing C is the next best thing to directly manipulating the silicon.
What is Verilog/VHDL? What is Assembly? What are any other low level language?

>bait or retarded, beware

Embedded systems is all C.

Network protocols (ietf specs), kernel development.

Just expect to be doing that stuff for 'free' in your free time and doing Python/ruby/java/JavaScript web dev to pay the bills while you make a name for yourself.

Most of it is you gotta network , make a name in the opensource community work on important stuff (hence ietf stuff) contribute to projects in c ( all network stuff is c)

But yeah expect webdev to pay the bills.

> What is transistor

Assembly and FPGA is not fun it's just a reality if you need ultra fast performance which you don't need often outside the FPGA space.

>Assembly is not fun
>Opinions

>Falling for the C meme in 2k17

Ironic funposting is still funposting.