Hi, I’m an EAE (entertainment arts and engineering) student(Senior). As a programmer, I hope finding a job working on the Unity3D (U3D engineer or relative) after I graduate from school.
I have done some projects using Unity in last two years. However I think I still need practice and improve my skills. Now I have an internship in a game company and I find everyone in the team is really really good at Unity. Their coding skills are so pro, and seems like they know everything.
Could you guys give me some suggestions about how to improve myself? What are game companies actually need? What do I need to do from now on so that I can find a good job in the future?
Thank you so much!
Learn all you can during the internship. Ask questions and network. You’re going to probably learn more, and learn faster, on the job than anything you do on your own*.
Most importantly, don’t sweat it. You’re an intern and a student, in a few years you’ll look back on code you wrote today and go “what on earth was I thinking?!”…and then 4 years from then you’ll look back at code you wrote then and think the same thing, and so on and so forth
*that’s not to say to not do side projects, you should
Thank you so much. Could you please give me more details on how to improve my skills?
Practice, practice practice!!! Create working apps! Get a portfolio going! It doesn’t have to be perfect, just prove to potential employers that you want to develop software/games professionally! You’re not just some guy with a piece of paper showing he made it through school!
So, you mean I need to create my own project by myself to practice skills, right?
Of course. In your spare time create some stuff to fill out a portfolio with. How else are you going to get experience? One does not learn how to do complex mathematics by reading a book without ever writing out an equation and solving! You gotta practice to get experience, and making your projects in to a portfolio gives you that, the skills to succeed, and something to show people that you know how to do this.
Go over to answers or the scripting section and start helping people out. Solving real world problems is a great way to build skills. And it’s hard to write your own exam.
What are real world problems?
as boredmormon said, go to the scripting forum ( Unity Engine - Unity Discussions) & see if you can help out. Even if you can’t, look at the questions then experiment on your own pc to see if you can work it out. I have extremely limited code knowledge & less experience but even i have managed to give an answer or two that actually helped the person (since i’d previously done a similar thing), & other topics pique my interest so i watch the thread to see what the answer is. I then have an extra thing to try next time i get an assignment for college.
Thank you!
Things that you least expect, and will usually only see when you’re trying to do something very specific. These are more common when working with other people, and there are more variables, constraints and shifting goals involved, but you can get a feel for dealing with them by setting yourself tasks based on what you think you might come up against in a job – remember, most jobs are task-specific, and part of a much bigger picture, not “build a prototype of a game”, which is what we get from many job hunters. Work to your skills and interests.
In general, if you want Unity to be a specific focus, spend some time writing tools and Editor extensions. We all love efficiency, and being able to extend the editor on tap is a great means to an end.
Learn as much as you can about how Unity works behind the scenes. I’ve worked with seasoned programmers who’ve never touched Unity before, and even after a long period of working with it they still struggle with some things because they’ve not had the chance to explore the finer points of Unity’s lower level functionality. This can be anything from automating file import settings, to manipulating mesh data, to utilities for scene management.
Once you’re in a fast-moving job, there’s often very little time to learn new things outside the scope of your given tasks, and it’s not uncommon for new (junior) hires to be put in tools or pipeline to start off with.
Games.
Punch above your weight. Make a project for your own edification that you know you can’t finish with your current level of knowledge but make it something you would get great satisfaction from when done and can act as a portfolio piece. Then do it. Forge ahead till you get stuck on a component part and research, write code and test till that is in place. No amount of book reading or acronym rote and versing can substitute for this approach. Unity’s compile in seconds and play paradigm is a great assistance to this iterative method of development and learning.
Yes. And really…this is games…you need to be an innovator regardless of your position on a team and certainly as an individual developer.
Your replies are so helpful to me. Thank you so much!!
Thank you so much! !