Software Engineering Intern • Former Employee
Pros: - There are really smart and nice people at TripAdvisor (not all of them, obviously).
But it's nice to be able to work with and discuss ideas with your interesting co-workers, which has made my internship a bit more tolerable.
- Cool perks, including free lunches, snacks, fruit and drinks, extravagant company outings, and free shuttles to Cambridge.
- Hackathon for interns, where you get to work on your own idea for a week.
- Get to experience firsthand what "All that glitters is not gold" really means. It does seem cool to have a line on your CV saying that you have worked on the world's largest travel site, but if you believe there is more to an internship than fat paychecks and a big name, you might be very disappointed.
- Get an extra $5 on your wage when you get the return offer for the next term (but seriously, think twice about the cons before accepting it!).
Cons: HR and/or management is really poor. They left me waiting in the lobby on my first day for 3 hours because no one, except myself, knew it was my first day. They then gave me one extra hour waiting at my workstation, which had no chair or machines, because these would come in the next hour. My demographic and personal information got messed up on tax and official documents by HR.
The tasks are boring, dreary, and poorly defined. There is nothing challenging or really interesting about the work. If you think the interview questions were a sample of the real work, you are wrong! This is by far the most boring and intellectually useless internship I have ever done.
The full-stack development style is pretty annoying and it apparently makes the codebase a mess! If you think this style would help you learn a bit of everything, which is exactly what I told myself into taking the offer, be assured that you would be better off picking up a tutorial from the web and teaching yourself whatever it is that you want to learn. This is because all you would learn is mostly likely hacky and unmaintainable code, which you wouldn't even know was bad unless you have seen better code! This is also not a place for you if you are, like myself, not interested in spending hours tweaking some convoluted CSS/JavaScript files to get things to render the way the managers want, as they keep changing their minds!
What is worse is that managers always seem busy doing *something else* rather than providing feedback or expectations on your projects. They at times do not even seem to know what they are looking for in a project! It often seems to me that my manager does not care if the projects are finished on time, or finished at all for that matter! Imagine you wrote a piece of code, posted it up for review, and waited up to a month without receiving any feedback! It even feels like these tasks were merely made up just to keep me entertained!
Most engineering practices (which I cannot get into details without talking about the internal infrastructures, but think about automated builds, version control, and other related areas) are poor, which really puzzled me because they had very smart people responsible for that.