A lot of companies do wait 9 months for a student come back. Large corporations can cycle the students through summer jobs (in my case 30 years ago I had 2 summers with same company in different locations)… and then full time offer)… then hire for the next year. I think they try to keep those “pipelines” flowing but reduced to a smaller scale during lean years.
DS internedthe summer before junior year. Then he interned at a different, smaller company the summer before senior year. He continued to work a few hours per week (mostly remotely) during the senior year. He started full time in June, a few weeks after graduation. It certainly made housing logistics easier knowing that it was a permanent gig.
Correct. That’s the point of an internship at bigger companies. Smaller ones sometimes use interns as temp labor.
The goal tends to be to take about 70% of those that do want to come back. About 70% of those who have internships do want to come back, if the company is a good one. So in the end it’s about a 50% hire rate, which is pretty solid. Among those who do not come back by choice (maybe they wanted to get a Masters, maybe they didn’t like the company or the job or what was offered to them) or by not being invited to return (either they sucked or the economic situation of the company doesn’t allow for them to be hired), that’s cheaper than eliminating them through standard means of firing people. Severance alone costs more than the entire internship (2-3 months’ salary of a full-time employee, which is higher than an intern salary), plus the cost of having a less productive employee for however long it takes to remove them.
Any graduate who has a choice (i.e. any graduate who is good enough to have more than one company interested in him) will choose the full-time offer over the trial run in a heartbeat. If you do that, you’re going to have a sort of adverse selection process in which the students who don’t have much of a choice will make up the majority of your trial employees. People want to start having stability when they graduate, instead of being in some kind of trial job limbo, so you will REALLY discourage students from applying if there is a feeling of impermanence in their employment. Internships don’t have this kind of adverse selection associated with them, so they’re a great way for a company to try out a potential hire on the cheap.
Thanks for the explanation @NeoDymium . My son missed doing a Jr/Sr summer internship as he did a study abroad in New Zealand and the semester there did not end until Jun 30. So he is currently looking for work but open to summer internships to give him some of the experience he missed. He is also applying to New Grad jobs but I would estimate that less than half of companies that offer internships also have New Grad jobs.
Only about 10-20 percent of internships say they are open to new grad who have graduated less than a year ago but since some are, it isn’t clear why they are. It is not because of company size. Both big and small companies have some of those ads. .
@Lakemom
A lot of companies have internships as their new grad programs, so if you missed the boat on that then you won’t be working there straight out of undergrad. But on the other hand, only maybe 20% of companies actually offer internships, so there are plenty of job openings anyways.
It is beneficial to the company for sure to have internships like that. A lot of them are for the kind of people who seem like they might be skilled but don’t have a solid enough resume to justify being hired as a a full-time employee. Or the company needs some temp grunts to do tedious grunt work, some of which may stay on later on as full-timers. Keep in mind that 10-20% of the 20% of companies that actually offer internships is a pretty small overall number.
Other factoids that might be helpful to you:
Most new grads don’t actually have an internship at all. Or significant research work. If you had at least one it’s a very huge plus in the job search. But most new grads who get hired do get hired without an internship.
There is a definite diminishing returns in what you can learn from an internship. The first one is an introduction to the workplace, how things are done at that company, etc. The second one is pretty much just more of the same, and where you’d really learn more is from actually developing a project over the course of years. So while two internships are better than one, it’s not by much.
A lot of people without internships get good jobs without them. An internship makes your life a LOT easier, but it’s not the end of the world if you don’t manage to find one.
I didn’t get any bites from my resume until I put my programming languages right after graduation date and gpa (which were right at the top in education).
This answers important questions from most of the engineering employers I’ve found:
When are you available?
Do you have your shit together/are you “smart”?
Can you code? (if you can’t, learn a scripting language like Python, better still, learn it while using a unix environment)
Related engineering work/internships (up to past 5 years)
Any engineering work/internships (if section not full from 1, going back 5 years)
Any work experience (if section not full from 1 or 2, going back 5 years)
“Full” is subjective, basically I cut off anything that made me look older (non-traditional student), so engineering internships are a god send :-p
Engineering projects (present to past)
Only extracurricular (i.e built xyz outside class) or unique class ones (i.e. only one in the class who did xyz)
Filler (leadership positions, prestigious awards, maybe volunteer work)
If anyone is looking for this stuff they can find it at the bottom. Nobody ever reads that far though.
I went from getting nothing to getting some form of positive feedback–email “you are being considered for”, phone interviews, and in person interviews-- from Orbital/ATK, JPL, SpaceX, Sierra Nevada, ULA, Boeing, The Aerospace Corporation, APL and a few small labs/local companies. Some of these were through contacts I had made/been introduced to (aka networking), so your mileage may vary.
This is the way that Google and friends go about recruiting. I find it to generally be an inefficient way of recruiting because it misses a few key factors about what makes a good employee, but it doesn’t hurt Google or Apple or Microsoft because frankly, every single person that comes into their interviews is already more than qualified. The “5 hour pop quiz” style of testing people is popular among young male programmers but also deficient in a lot of ways. Here’s an interesting way to look at it: http://www.unlimitednovelty.com/2011/12/can-you-solve-this-problem-for-me-on.html
The real set of questions that a good employer will ask are as follows:
Are you capable of doing the work? (Proven by experience)
Do you want to do the work? (Proven by not being overqualified, companies don’t want a flight risk)
Can I work with you? (Proven by the interview)
A lot of companies de-emphasize (3) and get a lot of talented jerks among their ranks, which is really bad for morale.
Most important factors for employers in order:
Prior internships/co-ops
Student jobs/research
GPA/schoolwork
Related skills (e.g. programming languages)
Other/filler
A working knowledge of software is always very nice to have for engineers. Knowing how to actually use software to do more than make websites and biz dev junk is better.
@da6onet and @NeoDymium, and any others out there who want to chime in, how important is programming language for an ME if they’re already decent at AutoCAD, Solidworks and Matlab? If important, what language and why?
Back in the Stone Age, I was required to learn fortran (punch cards baby!) and then took basic. I’m not an engineer though.
It’s moderately important, and becoming more so by virtue of the fact that software is at the core of what is actually being advanced in engineering. While they may or may not actually work as software engineers, the ability to be comfortable in that role at times is a huge boost.
As for what languages: I’d recommend Python and its numerical add-ons (Numpy, Scipy) for doing numerical calculations on a piece of software that isn’t proprietary like Matlab, and for being able to understand the basics of programming. C++ (often along with C) is another important one, albeit much more difficult to learn well, that teaches the fundamentals of machines, systems-levels code, and high-performance computing. In that regard, I suppose you could say the two are respectively a more modern version of Fortran and Basic (even though both of them are still used and updated even today).
They’re probably not required in most ME curricula, but often you need more than just the base requirements to graduate in order to be productive with a degree.
@eyemgh your son will have to take a programming class as an ME student. Depending on his other classes, he might also have the opportunity to apply what he has learned in his programming class to other projects. I would not say it is imperative that he go beyond what he is taught as an undergrad unless he wants to go in that direction (software development for mechanical applications, working in an analytical environment where UNIX scripting is useful.). There are times when programming knowledge will come in handy. However, I would not make a hiring decision based on one’s experience with Python or C++. There are jobs where that could matter, but not all of them. If he finds he likes programming, then he can pursue it through electives or over the summer via online courses.
I think Matlab can be picked up pretty easily on his own. My daughter is a freshman, and learned it as part of her calculus ‘lab’ class. I am guessing you mean C or Python maybe? He will learn how to program in the Unix environment. A lot of colleges use Python as a first language because it is easy to learn. Either one is fine. And picking up other languages gets easier once you learn one.
My original point was just that being able to state you are familiar with a language is good, and there is an assumption he will get that along the way. And he should put that on his resume. However, I don’t think the specifics of which language he knows is critical for most internship and entry level positions. Just my opinion.
As with all programmable languages for math, MATLAB isn’t hard to start writing code in and it doesn’t take any special effort to do it. What’s difficult is to be able to use it for useful purposes - numerical analysis, controls, matrix algebra, etc. Same goes for Numpy and Scipy - there’s nothing to them, you just have to know the math behind your manipulations.
Python itself is a pretty straightforward programming language with wide applications. It has a lot of interesting features that can be difficult to master, but it does come pretty easily to anyone with even the slightest bit of programming intuition.
C++ is a much more complicated general purpose language which can be used in simple applications in the same vein as Python, but in comparison looks like a bloated mess. It was originally meant as an extension of C (which works very much like how computers actually go about doing things), and it has a lot of C’s performance power but with a lot of clever and highly useful features that makes it easier to go about doing things that make a right mess in pure C. The good thing is that at a visceral level, picking up C after C++ is straightforward - they both operate in similar ways. I’d recommend starting with C++ rather than C, because the learning progression seems to be more natural that way.
Assembler is nice to learn and important, but let’s just say that compilers are better at writing good assembler than humans are. Most code that looks like it should be done in assembler is done using C, and somewhat less often C++ (which is more powerful and just as efficient but much harder to write a compiler for).
Unix is not hard to learn; it’s just another set of operating systems with a few quirks. The biggest issue you have to get over is that when you google a trivial problem, you will find about a dozen complicated and obscure solutions that don’t work, before someone gives you the trivial solution to the trivial issue.
Indeed. It’s a useful side-skill but it’s much easier to learn Python than it is to learn engineering. Hiring decisions are structured accordingly.
So, with a good working knowledge of AutoCAD, Solidworks, Matlab, 3ds Max, Excel, and a photometric program I can’t remember the name of, does cursory knowledge of Python or C really add anything or is it a resume algorithm litmus test that is necessary anyway? He’s done some Python on code academy, but not to the point where he’d put it on a resume.
Surface level knowledge isn’t really very helpful or worth putting on a resume. If he knew Python or C well, it would be a small but not insignificant plus. Basically if he wants to learn them he should, but if he wants to learn some other skill then he should do that instead.
I agree with post #28, having some programming experience makes you much more valuable as an ME major so some universities are including it as part of the ME curriculum. My DD, while proficient in AutoCAD, Solidworks and Mathlab, is on her third CS class and she is a second year ME major. The big ME competition class required for all second year ME majors at my DD’s college requires them to design, build and program their project so it moves all over the place (please excuse my non-engineering way of describing it).
As you mentioned trying to fit everything into their schedule does present a problem so most ME students at my DD’s college do their degree in 4.5 to 5 years. One thing your DS might do is an online class this summer when he is interning. He also could look into courses at MakerPlace if there is one in his area.