What do I need to know to apply (internship) to Gameloft in SEA - visual-c++

I currently live in Vietnam, studying game programming at VTC academy. The language I'm learning is C/C++, and most of the time I'm self-taught from online knowledge. From the beginning until now, there is so much to learn about Game Programming. Currently, I am really interested in finding internship opportunities and my goal is to get an internship at Gameloft SEA, I have researched the company's requirements before I want to ask for your advice because I don't know where to start. I really appreciate it if you guys help me answer the question (What do I need to know to apply (internship) to Gameloft in SEA). Thanks for giving me advice.
I spend a lot of time learning C/C++ because it is a requirement of the company. The problem here is that I don't know if I should choose and start with a game development tool because there are so many.

Related

Planned self-learning curriculum?

I'm currently taking a year off between high school and college. I'm working as a junior IT technician, so I'm getting plenty of experience on the hardware side of things. I want to use this year off to also get started on some programming; I have experience in Visual basic from high school courses, but want to further my learning before going to school. Now, obviously I will not be able to become overly proficient in all of these, but these are the languages that I plan on learning over the course of the next few years:
PHP
Ruby (on Rails)
Python
(Objective) C__ (I'll research my college program and see what C they use, and learn that)
Java
Lisp
Will being proficient in these languages give me a good base to work from? I tried to pick a selection of languages that seem to offer good employability, ability to develop on a number of platforms (desktop, web, mobile), and ones that are currently popular and sought-after.
Am I missing anything? Does anyone see anything important that I've missed, things I've picked that are a waste of time, or otherwise?
Thanks a lot guys.
I don't know if you've read the Pragmatic Programmer (a great read) But there's a section in there on expanding your knowledge portfolio, and they suggest learning one language a year, and I must confess I agree with them.
So I would work out what you want to write, and then pick the language that fulfills the requirements you want. And as you're going to college, I would also consider what language that the course you're attending is going to be teaching. I'd most certainly place my effort in to learning that language.
I'd also recommend (assuming they're going to let you use linux) learning a scripting language, such as BASH, and learn to create make or build files in your chosen environment, it's a heck of a lot easier than remembering compiler options.
Python is good to start with and then do Java. It would be enough for a starter on my opinion.
If you thought of learing php instead then learn mysql too. And more over you have overall missed the database. :(
Atleast learn my sql or ms sql of your choice.

I'm Getting Listless and Worried I'll Lose my Passion [closed]

Closed. This question is opinion-based. It is not currently accepting answers.
Want to improve this question? Update the question so it can be answered with facts and citations by editing this post.
Closed 9 years ago.
Improve this question
So, I'm almost 100% self taught in programming (save for a course in C after I had already taught myself C). This means that to keep myself programming, I have to be constantly finding materials (i.e. tutorials) on the web (I'm poor). Unfortunately, I've found myself stuck in a sort of limbo, where I understand the basics of programming (in theory, I'm able to grab a new language and get comfortable enough to solve a few Project Euler problems, as is evident by my time spent here) but I'm not able to get any deeper than that, like GUI programming or web interfacing.
I don't know if it's just me, but there seems to be a sort of great divide in terms of the level of difficulty in the tutorials on the internet. All I can find fall under either Maddeningly Easy or Maddeningly Difficult. Are there no intermediate tutorials out there? The kind that say, okay, you've seen this before, here's some code but we'll explain what's happening. But I digress.
Given my lack of ability to breach the practicality gap in terms of programming, I find myself stagnating. I can only teach myself the first six Project Euler problems in so many languages. I need to find something, some sort of project, before my spark dies out. I'm worried about it. I know this is such a broad question, but... can anyone help me out? Point me in some sort of direction?
You need to start making things. You can start out small, but find a project that you can contribute to or that you want to work on yourself.
If you can't think of anything "useful" to make, then start writing simple games: a tetris clone, a top-down shooter, something like that. It doesn't have to have AAA graphics but even a simple game like tetris will teach a lot about the more complex structure of a program, user interface, and that sort of thing. But at the same time there's nothing so complicated than you'll get completely stuck.
Passion is not something that will die out that easily. There are tons of local user groups/developer groups that you can join to learn from them (most of them are free) To get to some of what you defined as intermediate problem, getting a job is definitely the best solution. You could work on Dave Thomas's coding kata. For difficult ones, you can do some facebook puzzles (they get real hard at the second level and up, easily take hours to days to solve)
A couple of suggestions which I might offer, as they have worked for me in the past, when in the same situation:
1) Get involved in an Open Source Project.
One of the best ways to learn programming is to read/review/refactor code created by other programmers. You learn new tricks, as well as good style guides for formatting your code in later work, and start building a good understanding of a pile of packages which you can roll together to create solutions down the track.
2) (If you aren't already) Get a Job as a Programmer.
The single greatest kind of learning experience I have had when it comes to programming is when I need to extend my skillset to solve a particular problem. Being put in a role where you are given a problem, which, when you start, is beyond your skills and then creating a solution using experimentation, sourcing existing solutions online, referring to documentation, asking a learned colleague, etc. is great. It is almost like a trade apprenticeship - you learn as you go and sooner or later you can handle 95% of the solutions autonomously.
One thing I have seen said time and time again on various blogs and forums is that trying to be highly skilled in a wide range of languages is an almost impossible challenge - it is better to pick one (or maybe two) and then practice, practice, practice to develop it's associated skillset to a great degree.
Perhaps you should start working on REAL WORLD projects for either friends or family.
This will give you positive feedback for your efforts and a sense of "acheivement" when the job is finished.
Great programming theory is all very good, but without introducing some kind of "reward cycle" I can understand how frustrated you could become.
You need to start and finish a project that's a large enough to force you to learn different things, but small enough to actually finish. Here are some ideas:
Jabber client
RSS reader
Twitter client

How do you measure the level of improvements your website and dev team are doing?

I am looking for ways to measure and prove that our team is improving, but I can't just blankly state that, I need ways to prove it.
For example we are using coldfusion 8 and sql server 2005, and I can easily prove that the number of error's each day, week is getting less and less.
But what other figures, can i use to show what areas as a team, and programmer's of a site, that we need to either improve upon, or that we are making good progress on.
I am just a part time programmer, but I have far more programming experience, then my manager or the lead programmer.
So i want to help us identify and focus on areas we can improve upon, and ways to pay ourself on the back, for things we do good at.
Thank You...
First, a tip: Be careful with trying to improve you departments work if you are not one of the leaders. It's a good intention but be diplomatic.
Good ways to improve your output are code reviews. It worth much to have a group looking at code and share ideas to improve.
Another way is pair programming. In my opinion it doesn't have to be too often, but it is really helpful.
Third, do some occasional self education days where teams do some research on new technologies and stuff like this.
Hope this helps, Flo

How to be prepared for industry? [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 7 years ago.
Improve this question
The amount of available programming languages is both a bless and a curse, I think.
I know a lot of programming languages already, some at syntax-level only and some good enough to do actual coding (Python, C, C++, Haskell, Perl, BASH, PHP, and lots of others). I have been programming for almost as long as I've been intensivly using computers (6 years), in almost every paradigm (functional, imperative, object oriented), but I don't feel prepared for the software industry.
I've been writing a lot of bigger programs in a lot of different languages, mostly network based, including large multithreaded server/clients, and I still don't feel prepared!
Currently I'm obsessed with my "3-tier" plan, which includes a high level language like Haskell, an interpreted language like Python and a low level language like C, yet I don't feel good enough!
I know how to work in teams, and how to work along given guidelines, but I'm unsure.
Am I prepared?
Please, kind people of stackoverflow, help me out of this mess! :(
Thanks for all the answers, I wish I could chose more answers as THE answer :)
Sounds like you know an awful lot about programming, but you don't mention anything else. Being a software developer requires more than just programming as a technical skill. Brush up on topics such as source code control, unit testing/test-driven development, continuous integration, etc. Hopefully you'll land in a job where at least one of those is in use. Try and learn as many useful time-savers as you can with your tools; try to become as flexible and efficient with your IDE as possible.
Elsewhere, don't forget to develop the more personal skills; attitude and work ethic, and more related to your field, issues such as eliciting requirements, documenting issues and describing problems and solutions. Don't worry too much about these if you're going in afresh, because you're not expected to have a huge knowledge of them, but if you're at least aware of them and trying to improve, then you have a greater chance of doing so.
Try to appraise yourself of general software development issues that aren't directly coding, if you haven't already - general attitudes to security-oriented development (and testing), good design and similar best practices.
Don't sweat too much about being perfect right off the bat. If you've got no room for improvement, you aren't going to enjoy your career very long, and burning out as a programmer ain't much fun.
You know enough - there is a minimum threshold of knowledge required in the industry (which is above what some developers have), but it sounds like you are already there.
For anyone with the aptitude, new programming languages, techniques, etc, are easy to learn. A good company to work for will hire you based on your abilities, not knowledge (which can go stale very quickly).
If you want to stand out as a software developer, ensure you have rock solid communication skills for reports, e-mail, telephone, meetings, etc. That is a rarer gift in the software field, and although it is not necessary more valuable at the junior levels, it pays off in the long run.
The single most important thing I can think of to be successful in the industry is to be able to respond quickly and efficiently to change.
I recently took a programming test which I thought was a good and fair test. I passed it without a great deal of effort. I was told that 50% of the people (these are all people with programmer on the resume) don't even know where to start. Your earnestness and desire will most likely put you in the top third of most places to start with.
Knowning languages is not all you can do.
If you can, a placement/internship will do wonders. Anyone can program. Real world experience will teach you more than any tutorials, self learning or schooling will.
Naturally, gaining an internship requires some experience, so it's very much catch twenty two.
If going for an internship is not possible, get involved with an open source project. You'll find you'll learn loads by working with people smarter than you.
True knowledge exists in knowing that you know nothing.
Socrates some smart dude
I think this is pretty common among developers. Imo it´s a way better sign then if you would come to the conclusion that you were fully trained.
The only way to know for sure if you're prepared is to try. Sometimes being thrown in the deep end actually helps and you'll find you learn more in that first real world job than you did in all the books/etc that you read in the years before. Also, knowing multiple languages helps you understand underlying semantics of programming in general, but in a real job you'll likely be sticking to one or two languages day to day, so don't get hung up on knowing every language out there.
It's better to try & fail than to spend your life wondering if you're ready.
Go to dice or monster or whatever your favorite job site is and see what people are looking for. It's not Haskell, it's C++. Learn that well and you're ready to go. Once you're out in the real world, you'll learn quickly enough the things that are important. These are mostly the soft skills that school doesn't teach you. Things like how to get along with the clueless, how to present your ideas so they'll actually be considered, and how to see the forest even though you're stuck under a rock.

part time business for programmers [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
This question does not appear to be about programming within the scope defined in the help center.
Closed 8 years ago.
Improve this question
I would like to start a small part time business other than my full time programming job. Have you guys done that before? I know programmers who teach in evening schools after work. But then again, that is not business. What would you recommend to get another income stream going?
I have a full time programming day job, and I just started a small software enterprise this year.
My advice would be to start small, and make sure you have the time & energy to work on something after your day job is done. If possible, choose a business in which the code you write will be different from the code you write at work. A different language is a good start, but different types of problems would be a much better goal. If you end up working on the same thing 12 hours a day (8 at work, and 4 on the side-job), you will go absolutely crazy in less than two weeks.
As for what type of business to start, take a few things into consideration:
What kind of project would you enjoy working on?
What skills do you have, or can you learn in order to get this done?
How much time do you have available?
How much money is your time worth?
Once you have this figured out, you will know which projects make sense for you.
The only other piece of advice I can think of is to specialize. If you are a one-man operation, you can't compete with Microsoft. Choose a market in which you offer something really good to a small group of people. These little niche markets are the best place for small software companies to thrive.
Good luck and have fun!
I'm assuming you mean consulting when you say 'small business'. Network with people you know in real life. Communication skills are king. Find out exactly what your client needs and deliver promptly. Never promise something you can't deliver, it'll reflect poorly on you. Outline all of the requirements of the project and start drawing mocks/specs on a sheet of paper with your client. Outline their budget and see if their requirements are feasible for their budget. If you're developing software for a mid-sized business, talk to the staff who'll be using your product as an end user. If they currently have a solution, ask them what they don't like about it in terms of features and usability. See how it can be improved.
Be as genuinely helpful and knowledgeable as you can. If the project is out of your scope, lead them to someone who can help. You might not land that gig, but they'll probably tell three or four of their friends about you who might come back a year or two from now.
One relatively untapped market I've found is locating people who've recently outsourced. Not to make any generalizations but the "outsourcing boom" produced a bunch of sub-par software, leaving tons of code needing to be salvaged. I've found a bit of business by finding people with half-finished software and re-writing their code into something workable.
I would recommend having some sort of business plan. Don't just start writing some application or creating some web site and think it will sell. Do some research on the actual market for your product.
Also, having done it before, I would suggest having at least 1 other partner in the business. Doing it all yourself quickly becomes a waste of effort. You can do it, but it sure is a heck of a lot easier if you have someone to help with ideas, programming, accounting, web design, etc.
Also, think hard about whether you really want another job outside of your current job. I don't know what your life is like outside of your day job, but having another job (particularly one that requires daily attention like a website that has to be constantly updated) can be a real drain on your life.
If you do come up with a business plan and start a business, make it something you thoroughly enjoy! It can be very rewarding if you do.
I don't know why you reject teaching "out of hand". After working in industry for 10 years, I started teaching "Adult Education" night courses at a community college. I found it an excellent revenue stream that did not conflict with my day job (IT consulting). It was also and excellent way to remain "fresh" in my chosen languages (originally C).
Teaching keeps you on your toes, and lets you meet lots of interesting people (teachers and students) in a very fun atmosphere.
Also, when you are ready to seek another career down the road, teaching is an excellent choice. Teaching is also remarkably insulated from economic turmoil, as downturns often send people into training as a way forward.
Plus - you are giving something back.
Cheers,
-Richard
I did some work on an opensource project (DotNetNuke) as a developer and made some good contacts through that and became a consultant doing DNN work for various clients.
You obvisouly have to make the investment to learn whatever the OSS project is that you're working on, but on the other hand, there's a good chance you could carve out a pretty nice niche for yourself.

Resources