Follow the link below to watch the whole session on the XR Bootcamp youtube channel!
Short on time? Check out some of the highlights from the talk below:
First, a little about Tyler Lindell:
I started the augmented and virtual reality group over at Tesla while I was working there. Before that, though, I was just like a normal software engineer. Like a lot of people here, I was just programming and trying to figure out my way through my career and get better as I go. That’s actually how Tesla ended up hiring me, I started off as a software engineer! Before that, I had experience working with a project called rLoop (https://www.rloop.org/) which is essentially a community of people from all over the world that met together on Reddit and came together, built a Hyperloop pod, competed at SpaceX, and even won the pod innovation award from SpaceX!
Lessons he learnt along the way:
I – Develop your own passion.
A friend of mine and I were like, let’s learn this technology. Let’s try it out. And so he knew a lot more about it. And he was like, well, let’s try using Unity. And let’s try to put together something that just works on our mobile device, that way we can see a view from the past through camera and some things like that.
II – Network and try to find a support group for your passion.
We wanted to see who we can help for free just to get started so we called up a bunch of different organizations, and one of them happened to be the Hyperloop company, rLoop. And we’re like, hey, we would love to build this for you guys. And, like, yeah, that’d be so cool. And just being on that project, I learned so much. And then when I was interviewing with Tesla, they were also impressed with the experience of Working with rLoop. So they hired me as a software engineer. While I was there, I started realizing that Tesla is the kind of a place where you can create your own career path. You get in there, and that’s great… Then, what you do from there is you network and you meet people and you forge your own direction in which you want to go and help the company along!
III – Find out what your group has problems with and how to solve them.
While at Tesla, I noticed I didn’t see anybody really working on augmented virtual reality in terms of the bigger picture. There were teams at the time that were doing projects that were very specific. But I asked the question: what if I could bring together people from all over the company and look at some of the biggest problems that Tesla, GigaFactory, and Tesla Solar are facing? How can we identify an overarching problem and how do we figure out how to use what I’m going to call spatial computing? It’s the same thing as AR/VR. The term spatial computing kind of encompasses all of it, so how can I use this new technology to try to solve some of these big problems that this company is facing?
Within a couple of months, we had a little over 90 people on our team, and we were talking with people from across most departments at Tesla; Sales, service, construction, manufacturing, ergonomics, engineering, robotics, safety, and training. We were trying to figure out what the big, company-wide problems were.
That’s kind of how I got into running and founding the AR/VR Group over at Tesla. I started from just a software engineer and wanting to solve big problems!
Tech Career Basics:
What level of experience do you have? What are the negotiable experience ranges?
So when we’re out there and we’re looking at job requisites, we see maybe it requires two or three years of experience doing X, Y, and Z, or requires ten years plus of doing whatever.
I know that a lot of times it’s placed under requirements, but one of the things that I’ve learned through applying to a number of places and being rejected a ton of times is that those requirements are normally really important to the company, but they’re not set in stone. Like, you must have this many years of experience, there’s limits but it’s kind of a flexible requirement.
So if they’re asking for ten years of experience and maybe you have zero years of experience, or maybe two or three, it’s probably not worth your time to apply to something like that. But if you have five to seven years of experience, it might be reasonable to apply for something that’s asking for ten years. Or if it’s asking for two or three years, maybe they can handle somebody with a little bit less experience. Or maybe when they meet you, they think that you’d be such a great fit for their team that they’ll put you into maybe a different role that they have on their team where they can mentor and guide and train. But just know that it’s kind of like a flexible range, probably within, like, two to three year range.
So don’t feel scared applying for jobs that ask for more years of experience than what you have. When I applied to Tesla, I applied consistently for weeks, and I think eventually ended up being like three or four months of applying to different jobs at Tesla until I got a phone call from one team. So don’t give up when you’re applying somewhere.
Looking at augmented and virtual reality, more specifically, the whole spatial computing team – If a company is going to put together a team of people, it’s not just engineers, it’s not just designers.
Building technology in this realm requires a huge number of people of different experiences and different skill sets. So what I have listed here is kind of a basic list of people that if I were to build out an augmented virtual reality team, these are some of the roles that I would want to fill to make an incredible experience. An incredible application. Developers, software engineer, user experience designer. Somebody who understands locomotion. Locomotion is just moving around in a virtual environment. A VOC specialist or somebody who understands the customer is always like working together with the customer to understand what they need.
Sometimes that can tie together with a user experience designer. Having somebody who can do user interface design, somebody who can manage the project, a different person who can manage the product, who’s out there figuring out what kind of product do we need to build? What is going to create the most value for our customers and our end users? Even if you’re not a developer or designer and you want to get into augmented or virtual reality or more broadly, spatial computing, there’s a number of opportunities that you can come in as depending on whatever your background is or whichever your interest is.
“My method of interviewing people is probably different from other people. But I’ll walk you through it.”
Question 1: What do you like to do outside of work?
I’m going to be spending potentially years with this individual. And so I want to make sure that there’s a good fit, personality wise, and we can talk about things other than programming and relate on things other than programming. I like to work with people I enjoy working with, and I think that’s probably similar for a lot of people.
Basics: The Coding Interview
And then the next question, well, as we start getting into the questions, I’ll say, make sure that when we’re going through these you can say your answer. But if you want to go back and say where you feel uncertain about some of your answers or different points about your answer, that maybe you’re uncertain about, that’s highly encouraged, because if while I’m interviewing somebody and they can specifically point to things in their logic on how something works, it gives them the ability and me the confidence that they have the ability to go on to Google or stack overflow and research the answer specific to where they’re uncertain about something like developers, like, we spend a ton of time Googling and stack overflowing and all kinds of stuff that we’ve never worked on before.
Or maybe we don’t work on every single day. And so it’s useful to be able to understand where we’re unclear on things. Another thing I’ll ask is somebody to like not to actually create a custom file type. But I’ll say if you were to have this three engine and you needed to create a custom file type to capture the data about a Cube in a space, what types of data? And how would you structure that in a file? Like a custom file type? So then when we put it back into the engine, it could re render that Cube.
And I’ve heard lots of super great answers. The thing that I’m looking for here is that people understand or try to understand, like the properties that make up a Cube and the things that might be important to hold on to between saving the file and then Loading the file back in. So it’s more of like a data structure type of question, but it’s fun to think about.
Question 2: I’ll give somebody an example of a problem that’s happening, and I’ll say, what are the first steps that you might take in trying to troubleshoot this?
One issue that sometimes I’ll ask is like, if you have a chorus error and maybe you’re building a web based VR experience and you get a course error, what are some of the first steps that you would do to find out what’s causing that error? And sometimes people will know what a core error is. Sometimes they’ll not know what a core error is. It’s cross origin resource sharing. It’s a security feature in browsers. So then if you are using your client on a local host and you’re trying to access example.com, if example.com doesn’t specifically allow cross origin resource sharing, then the browser will throw an error saying, We’re not going to allow you to grab stuff from this API over here.
So I ask people, how would you look at that? And how would you try to solve it? And then we do have, like, a short coding session where we want people to be able to code against nested lists. So like an array of an array, we want to see how people think through the code. We want to see how people ask questions while they’re coding. We want to see people like, see how people collaborate when they’re programming. If we give suggestions, how do they process suggestions or questions that we have?
Some of the coolest things that I’ve seen is like, we might ask a question, and the person that we’re interviewing in the coding interview will make a comment inside the code with the questions, so then they can think about it a little bit more, which is pretty unique. It’s nice when we see developers be able to stop for a minute, think about something, process it. Maybe they’re not sure initially, and that’s okay. We just want to see how people work together with us in a situation like that.
I mean, it can be stressful for sure, but it’s more about being able to ask questions and work together than actually being able to completely solve the problem.
Question 3 Prototypes and git repositories.
Do I look for them? Are they helpful? Are they not? I don’t ever necessarily ask for prototypes. I don’t ask to get repositories but when they are available I like looking at them because if one person has the same skill set as another, how does one stand out against the opposite? And sometimes that can be really clean and get a repository where they’re doing clean coding. Like maybe Uncle Bob might suggest. Obviously not. Like Uncle Bob is suggesting. Uncle Bob is a guy on YouTube that he’s also got a book called Clean and Coding.
You can search him, but I like a lot of his stuff. And then for prototypes, if somebody has prototypes, maybe available on the web or something or for download, I do like looking at those, and that can definitely separate one candidate from the other. It could be for the better. It could be for the worse. It just kind of depends on how well stuff is done, so it can be helpful for sure. I don’t ask for them, but it’s Super, super nice to see. I think it’s cool to see that people have stuff to be proud of.
General Final Advice: Stand for something! Develop your brand!
So one of the things that I’ve done over my career is tried to ensure that I create a personal brand and something that I learned in College where I can be good at something. And I could be known for something, which helps me stand out in the resume filtering process as well as the interview process. And some things that I would encourage you guys to do is if you’re wanting to learn something, it can be really helpful if you create a podcast or a YouTube or write a book or start a blog about something.
Even if you’re still in the learning stage, you don’t have to be an expert to do any of those things. You’re going to learn so much more about the stuff you’re working on. If you are trying to teach other people what you’re learning, because you have to think deeper and learn deeper about the content that you’re working through in a way that you can explain it to other people. With that being said, figure out ways to help people make sure that you stay focused on what you’re working on and take risks.
Like the risk that I took when I was at Tesla asking, how do I start this ARVR group over here? Figure out how to take risks? Like, I was so nervous, I was like, Gee, this isn’t me. Like, I’ve never done this before, just a developer here at this big company who’s going to listen to me, but taking risks definitely pays off when you take the right ones!
Rian founded META after a very successful stint in agency recruitment, he is a management simulation pro making him uniquely suited to take on the reshaping of recruitment head on. Rian understands that finding the right person is often like finding that rare drop item in a game, you don’t always get it the first time but you can’t give up on it, you’ll get it one day soon, and when you do it will be magic!
What is your advice to a student about to finish a bachelor’s degree in media technology and seeking to specialize in the EXO industry as a developer?
I would say that the best thing I can tell anyone who’s coming out of University doing a degree is to keep making stuff outside of your University projects. Look at what companies are out there, the kind of projects they’re hiring for, and have a play around and make your own projects, because everyone who’s finishing a bachelor’s degree would have made the same project you’ve made in University. So make more projects and have a really strong portfolio to back it up. And if there’s a certain company you want to work for, have a look at what they’re doing and make stuff! You want to match up with their expectations. And then you can say, hey, I’ve made something similar to what you’re working on. I really want to work here, and it shows them in that sense. So build your portfolio by doing that little bit extra outside of the University projects to really step ahead.
What would be the best thing to understand during the interview to understand the interviewer better, so you can actually respond and answer the interviewers questions better? Is there any trick, or is there any question that will help us to understand the recruiters perspective?
There’s one question that I really believe people should ask more often! Ask them why they joined the company they’re at, what made them initially interested in working at that company? Because if you can find out they’ve got a similar path to you or there’s something to relate there. You’ve instantly got a topic of conversation to break the ice between the two of you. And the thing with an interview is a lot of people treat interviews where it’s a one sided conversation is actually as much as you finding out about the company as it is them finding out about you and they need to also sell themselves to you as you are selling yourself to them and that’s so important. So I tend to tell people to ask why did the person they’re interviewing join the team and also find out what interests them about that project or the team, because that’s where you can find that common ground.
It’s such a way of looking engaged and even if you have no questions and the interviewers answered every single question that you could think of, just try and come up with something because it shows that you’re invested in them. And it really shows that you have a keen interest in them as a company and you want to find out more!