I work at Google now

I think it depends on the person. When I was younger I only had interest in the mechanical side of things. I learnt to code because I wanted to be better at VEX, I had tried scratch and other things in the past and it just didn’t interest me. The drive to be competitive introduced me into the world of programming (and into my career as a software engineer, like you I am now at a big tech company). I’m not sure anyone can say one way of getting into coding or engineering is better than the other, we have different programs to get kids into it for this very reason.

But congrats on the job! Always great to hear success stories of alumni. Hope the on-boarding during COVID went well and I wish you the best of luck for your future there :slight_smile:

I’m with Jack on this one.

I think fancy theory like algorithms and data structures is all secondary to learning program flow. Once you understand how a program flows and how to make to flow how you want, the other stuff is just minor details.

And thats what I learned from vex, how to make a program do what I want.

Let’s decouple this. Does VEX inspire people to learn to code, get them started, etc. - yes.

Does it teach fundamental computer science topics - Absolutely not (in my not so humble opinion).

That’s OK though, VEX has it’s lane and that lane for CS goes from absolute beginner (as it should) to first year (maybe second) novice. Nothing wrong with that.

Regarding on-boarding with COVID-19, it’s been tough. I’ve had to do it entirely remote and a lot of the usual things that Nooglers do have had to be rapidly changed. I suspect I won’t really snap into gear until this is all over - although I am happy that my first code has been submitted into the belly of the beast. :slightly_smiling_face:

Let’s let the VEX / CS argument go and get back to Q&A…

Need to make a small correction, I said Rice above when I meant Purdue, sorry about that.

Just as a counter to “VEX does not teach algorithms, language semantics of C++, testing, memory”, while it is true that vex does not teach those things, I have learned those things by doing VEX.

Before I started VEX, I had never taken any programming class and had only somewhat been exposed to programming outside of VEX. Sure, I sought out plenty of books, tutorials, guides, but that was all after I was motivated by robotics. Not only did VEX make me passionate about learning new things, it has given me a ton of practical experience with hands on programming.

Due to my motivation from VEX, I now write unit tests for most of my code, I spend summers developing algorithms in simulations, and I find myself regularly in a position of teaching obscure c++ semantics. VEX is my outlet for programming, and I can be rewarded with competitive success. While I am probably not a typical VEX student, my point is I do owe my (somewhat) newfound passion of computer science to VEX.
I came into vex slightly experienced in programming (I read some C programming books when I was 10 and spent a lot of time working with lego robots), but it was VEX that has caused me to spend my after-school hours programming and seeking out new things to learn.

Finally, I associate programming with curiosity, innovation, focus, drive, and a ton of fun, which is something that YT and a notebook would not have done for me. That mindset of tackling problems while having fun will probably be useful for me in the future.

So not to clutter this thread, but here's another thought on this:

To add to this, even though Vex isn’t going to give you a degree in CS or engineering, the things I’ve seen accomplished by some of my fellow competitors is nothing short of amazing. I’ve seen teams (such as the Pilons and 7842f @theol0403, there are a few other notable ones but that’s not entirely relevant) employ high level control theory.

Though this is more of a branch of computer science (more-so electrical engineering), the programming schemes implemented on these robots is something many undergraduates really only learn in the latter part of their academic careers (or graduates even). This is because as an undergraduate you have to cover many many topics before honing into a particular branch of your career choice. For reference, most of what is used in terms of programming schemes in Vex can be found here (the holy grail for competitors):controls-engineering-in-frc.pdf (7.7 MB) The point I’m trying to make is Vex can be an outlet to very high-level forms of engineering even though most teams probably won’t take those measures to succeed.


TL;DR The vast majority of teams will never even encounter this level of programming let alone implement it into their robots. It’s really only the best of the best using high-level control theory, but, make no mistake, Vex is only limited by the mind of the student and that ceiling is very high (and hardware to an extent).

Edit:

Sorry, I just had to provide an argument on this because you’ve been “out of the loop” as a competitor. Also, Vex AI Competition was just released. Just a thought :slight_smile:

I feel like I need a coding project to do, but I’m not sure what to do. Any ideas?

What’s it like working at google?

What was college like?

Did you enjoy the robotics side of vex a lot?

How much do you think vex helped you get to Google?

What were some of the skills (grit, communication, dedication, etc.) that really helped you in your programming career (that would also be useful in vex)?

This is actually a really good point. Frame of reference is always important. When I did this, the hardware was the pre-Cortex microcontroller, you really couldn’t ask it to do anything fancy and no teams were doing crazy stuff. PID was as good as it got basically and in the later days that was a few clicks to configure in RobotC. With the Cortex in the later days - post me competing - things got spicy once the third party solutions started showing up, but it was too little too late for me.

I would dearly hope that things have improved for the better as a result of the hard work people like James have put in to improve things.

Hard to say, what do you know? What do you want to learn from the project? Is there any burning desire you have to make a particular thing? Is that idea scoped reasonably well, if not will it be worth it anyway if you fail?

I can’t give blind advice to someone I don’t know, so context helps.

Hard to say, I have only about 6 weeks of tenure and all of that has been out of the office due to COVID-19. In general from what I have gathered, I absolutely love it. The culture is very nerdy, everyone I’ve worked with is extremely professional and kind, and the company actively encourages kindness in a field that can be otherwise very cut throat.

I have it on good authority that our food is out of this world, that we have a “coffee lab” and that there are a number of makerspaces available to FTEs for both work and personal use which I am stocked for.

During my interview they had a few of the servers from AlphaGo just on display outside the food location my guide took me to. I geeked out hard. The fact that stuff like that is just “around” at Google is part of the draw. Being close to the action has a major appeal to me.

Difficult and the last time I talked about it here it got my then 10 year old forum account with multiple thousands of posts banned, so maybe I’ll not talk about that.

It took 9.5 years, at five institutions ranging from community college to very prestigious graduate school. In general as the years went on things got better and my chances of success increased fairly exponentially, which as we all know has all the momentum towards the end.

Absolutely. VEX, FTC, FRC, it was all amazing both as a mentor and a student. Even doing the animations for VEX was awesome while I had that privilege.

I don’t hate VEX, but I do disagree with a lot of the ways it’s been run over the years. I’ve always wanted the best for the program, but sadly the people running the program clearly didn’t reciprocate those feelings. It is what it is, I have my success and they have theirs and the world keeps turning. Nothing wrong with that. Although I will probably steer my future children towards FIRST when the time comes and encourage them to exit robotics immediately post HS.

Humm… More than you might think. My portfolio has a lot of VEX content from over the years. All the CAD, 3D printing, animation stuff, it adds up. You can just thumb through that and see a ton of VEX related stuff. However I will warn, you really have to pull back and start doing real-world stuff at some point. It’s important that you grow to that level for many reasons.

Beyond the content in that portfolio and a few mentions on the resume, I would say that the mentoring helped a bit. You will be asked questions that are about leadership and I always talk about robotics mentoring related things when those tricky questions come up.

The exact impact is difficult, prepping for Google takes a lot and most of that prep has absolutely nothing to do with robotics. I haven’t even worked with VEX hardware in probably 3-4 years now.

Ooph this is a hard question. I want to dive into the “what it takes” question but I don’t think that’s what you are asking.

I would learn to communicate with people in all forms. Talking, writing, emojii, meme, whatever. Effective communication is essential. I used to be very bad at writing, made a lot of spelling and grammatical mistakes. I think it came from being legally blind, just not seeing most of the things on the board, etc. but who knows. The point is I started writing stuff like this post and eventually got pretty decent at communicating complex ideas, even when tons of people disagree with my position.

Complex thinking is another. Hard to phrase this. Most people seem to follow? I guess. Stuff goes in their head and they kind of repeat it. I’ve seen even very professional people not really think for themselves. You have to really really develop your intuition and sharpen your mind. I recommend debate, I recommend trying to emulate other people, see how they could think or feel the way they do when you find yourself at odds with them. It’s a good skill for relationships too.

Passion and dedication are fine, but it needs to be directed. Set a big goal and make sure it’s a worthy one. Do that and just promise yourself that you’ll get there one way or another. I distinctly told my behavioral interviewer that regardless of the outcome of that second onsite interview, that I would be back one way or another. The interviewer took three attempts to get in, and by his third time was pretty indifferent about the company. When I looked him in the eye and nonchalantly planted my flag in the ground it had a strong impact on him.

In the end I got 5 of my 5 rounds with recommends and 3 strong. I’m sure he was one of the strong ones, esp. considering he shook my hand and genuinely told me he hoped I made it. I look forward to the day I can find him again and let me know things worked out.

Beyond communication, thinking critically, setting long term goals and driving towards them, I would say that self control is really important. Your mind is pulling you in all kinds of stupid directions at any given time. Esp. at the teenage age range. Mastering your own mind is really important. I understand myself a lot more than I did when this all started, and knowing my own tendencies and managing those has helped in all aspects of life.

I would also say that being socially attractive is good too. I don’t mean attractive, that helps too, but socially attractiveness is being the kind of person others want to be friends with, want to respect, wants to date, etc. When people hear me talk, they tend to listen and tend to think. I like that quite a bit. A co-worker once described me, to another co-worker unbeknownst to me as “the guy who has the [redacted] to say what others are thinking.” That second co-worker was a security guard I was friends with at GoPro. He thought it was so funny he had to tell me. I’m glad he did, because that was my last day at the company and when I shared that news with him he was so happy for me.

I used to be a mad, loner, misunderstood jerk. Sure I was smart for my age, but I was miserable, missing out, falling through the cracks, etc. I now make good money at my dream company, people like me, I’m happy, I have no problem finding partners, etc. In general fixing the internal problems tends to also fix the external ones.

Finally I would say, try not to be the dumbest or smartest person in the room. If you are the dumbest, the room is too difficult for you. If you are the smartest than you need to move up to a more difficult room. Always try to be in a situation where you are being challenged but not so badly that you get discouraged. From there take consistent steps forward, don’t try to leapfrog unless you know what you’re doing. Bootstrapping works for experts, but will absolutely crush novices.

Unrelated, I got into CMU’s Tepper School of Business MBA program a few days ago. It’s a three year online thing costing $143,000, which I can probably widdle down to $80,000 ish. Pretty sure I’m going to pass on it though.

Outside of Vex even, this is all really great advice (I even added this thread to my bookmarks). I really appreciate you taking the time to share your experiences.

I’m going into college this coming year and my dream job is to work at Boston Dynamics. That being said, did you have Google as your main goal from the getgo or did it just naturally come with time? At what point did you know you were ready to work for Google? Any advice for freshman going into the STEM field (specifically engineering) –– managing workload, internships, etc?

I’ve interviewed with them over the phone. They’re looking for specialists, mostly in computer vision. At least that’s the opinion I got.

I’ve always been a fan. Got a little discouraged for a while there when they started killing off projects and got all corperate-y but I held strong. I never considered it within reach until I graduated from my undergrad. Certainly by the time I got into CMU I knew it was firmly on the table but even then I was 2.5 years of work away from actually landing it.

Go to a real school, state is fine for undergrad but avoid the sub-state level schools. UCF ok, USF no. UF, FSU great, Georgia Tech even better. Just using FL schools as an example. Albeit UCF sucks, can say that from experience.

CC’s are snake oil, only do them if you are dual enrolling in HS and plan to get an AS or AA before you graduate.

In general I would plan your entire four years before starting classes. Summer classes are great, I recommend doing them. Every semester shaved off your program is at a minimum $40,000 in income gained post school so realize that taking a “gap” semester or year is really burning money.

As far as classes go, grades are mildly important. Showing a good GPA helps get a job, and of course it matters for graduate school but other than that - meh. There were classes I decided not to care about and didn’t shoot for the A just because the professor was a pain in the butt or whatever. Honestly every class is going to be wildly different based on whose teaching it.

Figure out what classes are hard and balance them with fluffy liberal arts gen. eds. That will make your life a lot easier.

Sit as close to the front center or professor as possible. Ask a lot of questions, don’t take notes in class. Listen in class, take notes later (unless it’s med school, then you scorch the earth with notes).

Stuff like that. If you’re at a state school in STEM you’re pretty much already gucci. You’ll outperform 90% of the country in terms of income.

Hey thanks a lot for your advice and its really helping me out.

I will be going into Uni, in 1.5 years and I was told by many that getting internships is really important and the more you have the better. What are your views on this, do you also recommend people getting internships during the summer? Also i am planning on going into Mechanical Engineering later on, do you have a suggestions, advice for me?

In tech 1-2 internships are useful. I never did an internship and I regret it. No idea about ME.

congrtas on making it to google!

For mechanical engineering internships are critical, especially if you want to go into robotics. After graduating with my masters degree with a robotics specialty, I had a lot of trouble getting my first job because outside of vexU I had no experience within the robotics field. I kept getting replies from companies saying that they ultimately decided to hire someone with more experience. 90% of the robotics jobs specifically list at least 5-10 years experience as a requirement. I eventually settled on a non robotics ME job, and I really enjoy it. Don’t be afraid to explore opportunities that are slightly outside of what you are looking for.

As for Community Colleges, I would actually disagree with Cody, Community Colleges are perfectly fine to start at. I started at a community college to get the basic level courses out of the way, and after 2 years transferred to NJIT. I saved a lot of money in the process and even qualified for a full tuition scholarship at NJIT because of it. Additionally it was a lot easier to adjust into college. A lot of people struggle with the transition from high school to college when going directly into a 4 year college and suffer academically because of it. You just have to make sure you know in advance which college you plan to transfer to and what courses they will transfer, there’s online tools that will help with this.

I just finished my third year in the mechanical engineering program at Washington State University, going into my fourth and final year. My internship plans were ruined by COVID-19, so in the next several months, I will start having to look for an entry-level position without any internship experience, but pretty much everyone I know is in the same boat. A friend of mine was weeks away from starting his internship and it got cancelled. You should definitely try to get an internship if you can, and regardless of internships, get involved in STEM related extracurriculars. I have stayed busy the past two years working on a CubeSat project at WSU. Unfortunately, our launch got delayed from this October (SpaceX CRS-21) to next May (SpaceX CRS-23). This club has given me a lot of great experience working on a real-world project. Lots of opportunities to learn and grow. Highly, highly recommend joining STEM clubs in college even if you are just a freshman and don’t have a lot of experience.

And Cody, it is great to hear about all of your successes!

Forget my success, tell us more about the CubeSat!

We are working on a 1U CubeSat that will study plant germination in microgravity. It’s a group effort of probably 70-100 people (there are only like 20-30 people though that actually get stuff done, including myself). Our club is split into several different teams that work on different parts of the satellite (Attitude, Communications, Computing Systems, Electrical, Environmental Control, Payload, and Structures). As an ME, I am part of the structures team. Some of the things that I have contributed in the past two years include creating the engineering drawings for the manufacturing shops to make the aluminum satellite panels, tensile testing the bolts and nuts that hold the satellite together, creating customized and portable testing containers for the computing systems team to test and troubleshoot electrical components. I also worked on random vibration testing and simulation in SolidWorks. This January, I got a nice, large 3D printer donated to our club and set that up and created a training program for club members to use it (we do a lot of 3D printing and were using our own printers and whatever ones we could find around campus). Additionally, I have worked on the communication antenna and rotator that will communicate with the satellite while in orbit, as well as creating a 3-axis Helmholtz coil for our club that allows us to calibrate the navigation magnetometers carried by the CubeSat. Overall, I have learned quite a bit and had a great experience working with this club. Our deadline is Jan 30th, 2021 as of now, with a launch on May 1st to the ISS, but things are very fluid at the moment. Hopefully by next summer our CubeSat will be launched from the ISS and we can finally see our hard work pay off. Now that our club is about to move on to our next project, I have also been working on prototypes for a 3U CubeSat.

Since we are also on the topic, the technical stuff I learned from VEX did not help me as much as I thought it would in college. Honestly the most I got out of VEX was learning how to communicate and how to be a leader and work hard. Obviously VEX was what got me interested in ME, but I agree with Cody, it didn’t teach me much of anything that I have learned while in college. Best to move on from robotics after HS. Let me know if you have any questions for me.

Here is a render of our CubeSat that I did about a year back.

I cannot overstate my agreement with these two posts. I only started programming in VEX to make the robot that I actually wanted to build move and score effectively. It’s not about data structures and algorithms, although you can start to do a little more advanced stuff in VEX. It’s about learning how programming fundamentally works, how to find issues and debug, how to stay organized from the start, etc. I’m pursuing a bachelor’s degree in mechanical engineering now, because I want more balance than spending my whole day at the computer programming (okay, at my last job I was spending the whole day at my desk programming or looking at Excel spreadsheets sometimes, so not too much better… but there was some more interesting hands-on). And you can definitely be a programmer with a MechE degree but you can’t do a mechanical engineer’s job with a computer science degree, so this makes more sense to me.

At my mechanical engineering internship, everyone was very impressed by my ability to program. I’ve unfortunately lost that due to across-the-board layoffs because of COVID, but I actually just accepted a job offer to work as a programmer on an educational project at my university. And right now, I actually see myself potentially writing engineering simulations/software in my future, which is a good way to harness my affinity for mechanical engineering and also for programming. None of that would have happened for me if it weren’t for VEX encouraging me to program, I don’t think. And the level of programming that VEX teaches may not seem useful to you, @Cody which makes a lot of sense, but for a lot of other engineering fields, it means your intro to programming classes will be a breeze, and you will be on the right track to write whatever code you will be expected to write for any non-CS degrees. I think it may have been long enough since you faced your first stumbling blocks to understanding what is programming?!? that you’ve forgotten that it’s actually a big leap, and I think VEX helps kids make that.

But I’ve written at enough length now. Congrats on the nice job, and I wish you good health in this trying time!

I say this about a billion times a year. VEX ( and FIRST) isn’t about the robot. It’s about all the other things that hang off the robot:

  • problem solve (thanks mvas8037)
  • communications
  • design skills
    – how to iterate
    – how to toss designs away and not cry
    – how to convince people that your design is good
  • teamwork
  • communications (ya, here twice cause it’s important)
  • working hard
  • working smart
    – helping others work smart
    – listening to others that want to make you work smart
  • how to create priorities
  • schedules
    – how to stick to them
    – how to alter them for success

and other skills. All of this will be with you forever, the robot will be long gone.

It’s never been about the robot, it’s always been about you.