• Announcements

    • khawk

      Download the Game Design and Indie Game Marketing Freebook   07/19/17

      GameDev.net and CRC Press have teamed up to bring a free ebook of content curated from top titles published by CRC Press. The freebook, Practices of Game Design & Indie Game Marketing, includes chapters from The Art of Game Design: A Book of Lenses, A Practical Guide to Indie Game Marketing, and An Architectural Approach to Level Design. The GameDev.net FreeBook is relevant to game designers, developers, and those interested in learning more about the challenges in game development. We know game development can be a tough discipline and business, so we picked several chapters from CRC Press titles that we thought would be of interest to you, the GameDev.net audience, in your journey to design, develop, and market your next game. The free ebook is available through CRC Press by clicking here. The Curated Books The Art of Game Design: A Book of Lenses, Second Edition, by Jesse Schell Presents 100+ sets of questions, or different lenses, for viewing a game’s design, encompassing diverse fields such as psychology, architecture, music, film, software engineering, theme park design, mathematics, anthropology, and more. Written by one of the world's top game designers, this book describes the deepest and most fundamental principles of game design, demonstrating how tactics used in board, card, and athletic games also work in video games. It provides practical instruction on creating world-class games that will be played again and again. View it here. A Practical Guide to Indie Game Marketing, by Joel Dreskin Marketing is an essential but too frequently overlooked or minimized component of the release plan for indie games. A Practical Guide to Indie Game Marketing provides you with the tools needed to build visibility and sell your indie games. With special focus on those developers with small budgets and limited staff and resources, this book is packed with tangible recommendations and techniques that you can put to use immediately. As a seasoned professional of the indie game arena, author Joel Dreskin gives you insight into practical, real-world experiences of marketing numerous successful games and also provides stories of the failures. View it here. An Architectural Approach to Level Design This is one of the first books to integrate architectural and spatial design theory with the field of level design. The book presents architectural techniques and theories for level designers to use in their own work. It connects architecture and level design in different ways that address the practical elements of how designers construct space and the experiential elements of how and why humans interact with this space. Throughout the text, readers learn skills for spatial layout, evoking emotion through gamespaces, and creating better levels through architectural theory. View it here. Learn more and download the ebook by clicking here. Did you know? GameDev.net and CRC Press also recently teamed up to bring GDNet+ Members up to a 20% discount on all CRC Press books. Learn more about this and other benefits here.
Sign in to follow this  
Followers 0
AhmedCoeia

Advice on Getting better on General Programming

12 posts in this topic

For the 5 years I worked for various companies, I worked in large software like computer vision kits, embedded, games. I found myself very good at debuggins skills, I've even found and fixed bugs in frameworks and I solved them. The problem is that I'm very weak at problem solving. I got interview with Qualcomm, and they said you're fine at software, but you have a limited problem solving, I also had the same results with Google.

I'm very bad at solving puzzles and brain teasers. During the interviews I solve all of the software related problems on the blackboard, but when I went to the GM and face math problems and probabilities, I struggle.

How can I improve my problem solving skills?

 
Some of the problems:

  1. A cake that is cut from anywhere and needs just one cut to halved in equal. I told him cut it horizontally, he said No, consider it as a 2D Problem!.

  2. Consider a concenteric 3 circles, each one can get a color, but not matched with the other circle, how many blobs you can make out of those circles ? this was with the GM ( Augmented Reality SDK)

  3. Consider a train, an infinite one, and you looked at the window, and there are two cars, one big, and one small, what is the probability of having only a big car, I said 50%, he said, what if that two cars you dont know their length, and you want to get the probability of getting the biggest one, I struggled, didn't solve it... I was really exahusted after long day of interviews

  4. prob of having a number divisible by 5 in numbers from 1 to 100.. struggled!!

All coding questions I solved them like reverse a string, detect a cycle in a linked list,..etc.

0

Share this post


Link to post
Share on other sites

@Jbadams, I crossed post it, because got the same results last week and I did practice too ! sad.png I'm getting depressed

@Frob, Thanks so much for pointing out a lot of things.

Edited by AhmedCoeia
0

Share this post


Link to post
Share on other sites

Practicesmile.png

 

Have you been attempting those problems from Project Euler?  Have you been trying to solve other puzzles?

 

Yes, practice. A lot.

 

I'll also add my $0.02. YMMV.

 

Fresh out of university (ca. 2002), my programming skill was decent but my problem-solving skill was really, really bad. As time passed, I realized it was because I had not worked hard enough on my education, and lacked solid fundamentals. I then set out to learn on my own what I had not learned at school. As it turned out, what I really lacked was not programming (which I kept on practicing anyway, of course), but science - math, logic, and physics.

 

Books that I read and helped me ENORMOUSLY, and I can wholeheartedly recommend:

- How to Prove It: A Structured Approach, by Daniel J. Velleman

This book will do more than teach you proof techniques, it will teach you logic.

- No bullshit guide to math and physics, by Ivan Savov

This book will teach math fundamentals, vectors, calculus and physics.

 

Books that I've heard good things about, but have yet to read (shame on me, they're freely available!):

- How to Solve It, by George Polya (Wikipedia article here)

- Think Stats - Probability and Statistics for Programmers, by Allen B. Downey

 

I also learned this while getting my MSc: it's less about how smart you are, and more about hard work. There's NO FAST TRACK. Study, practice, work hard, UNDERSTAND. This way, when a new problem shows up, you'll have the TOOLS that you need in order to BUILD A SOLUTION.

2

Share this post


Link to post
Share on other sites

geroger, you have the typical situation as me. same lacking skills, logic, maths,..etc. but programming is not a problem. I also lacked solid fundamentals!.

 

Thanks so much for the books mentioned, I really appreciated your efforts!.

0

Share this post


Link to post
Share on other sites

geroger, you have the typical situation as me. same lacking skills, logic, maths,..etc. but programming is not a problem. I also lacked solid fundamentals!.

 

Thanks so much for the books mentioned, I really appreciated your efforts!.

Keep practicing the fundamentals: keep making more programs that test your programming solving abilities. This will guide you and give you more context. Once you have an solid understanding of it, make a simple game. Making a simple game will also give you even more perspective on programning.

0

Share this post


Link to post
Share on other sites

During the interviews I solve all of the software related problems on the blackboard, but when I went to the GM and face math problems and probabilities, I struggle.

 

technically, programming is a linguistic type skill ( learning languages and APIs, and how to say and do things with them ).

 

its math, science, and engineering that tell you WHAT to program  (what things you want to do with a language you "speak"). 

 

well... unless you're writing something like "learn a foreign language" software or something like that.  <g>

 

and its software engineering that tells you HOW to program ( how to do and build things with a language you "speak" ) .

 

even for something like "learn a foreign language" software you need the software engineering skills to write a database driven multimedia app.

 

so, first you need the math, science, and engineering skills to know what to do.

 

then you need the programming skills so you're fluent in your programming language and APIs of choice.

 

then you need the software engineering skills so you actually know how to build software.

 

and yes, its an engineering exercise, just like building a bridge, skyscraper, space shuttle, car, fighter plane, MRI scanner, or any other complex machine / system.

 

in fact, it may be some of the most complex stuff you can build. every bleeding character of source code is a single "part" of the entire "software machine" you're building.

 

right now, my current project just passed 90,000+ lines of C++ code. can you imagine how many characters there must be in the file? probably around 1 million.

 

as i recall, the space shuttle only has (had) about 3 million components, and the typical car something like 20-30 thousand.  someone may want to double check those numbers...

Edited by Norman Barrows
0

Share this post


Link to post
Share on other sites

My advice is something totally different. While many would of course suggest to train your "puzzling" skills directly (like the previous posts) by solving puzzles, I am doing something else and had a lot of success.

Train by solving puzzles is pretty hardcore because when your untrained brain tries to solve them it will fail; you get then depressed and your brain is learning "puzzles = depressing" and you will hurt yourself instead of helping.

 

It's like when you are trying to gain muscles - or to make it more precise you want to stem a barbel with 20kg/44lbs but can't lift it at all. Would you try to stem it until you succeed? No of course not!

You would try smaller, simple to stem but still heavy on the long run weights to gain muscles more and more and increase the weight over time until you reached your goal.

 

Same goes for your brain. Try solving simple things to train the brain to do so.

Assessment Centers are often doing such things to test peoples logic thinking by asking a lot of pretty simple questions.

I have a book (sadly only in my language and not in english) filled with such tasks. Easily solvable and repeating with the goal to solve them faster and faster and faster (all of them have a given time limit to reach)

Such simple puzzles are like

"In which direction is gear 11 roating in the given picture"

or "When folding this paper at the marked edges, which of the given Objects would be created"

 

So you can train your 'optical cognition', 'short-/long term memory', 'mathematic solving skills' (not only mental calculations but also mentaly logicaly getting the answer without brute force calculations), 'visual thinking', 'multi tasking skills', 'logical thinking', 'stress test' and many more brain regions all of them helping you to solve hard puzzles (normal in life) which are needing all such skills all together.

 

I did this 2 weeks in holiday because I had to learn for an intern intelligence test and my wife told me to do this. At first I thougt (because the tasks are so easy to solve) that it is a waste of time but I noticed when I was back at work and had to solve the big problem again our team was instructed to solve but didn't went any step further after weeks of development, I suddenly had an idea and solved it in 10 minutes. Also I succeded in the intelligence test (with similar logical tests) at best.

And I also had a lot of success in later upcoming problems. It felt like my brain was totally rebooted or like when you are resetting your OS on your computer everything works again pretty fluent and all this data-garbage is out of your computer/brain.

I also noticed when not doing those training once a week, after a while you are falling back in old shape.

 

Well, those are only my experiences of course. Maybe you want to try something similar.

I think it is called "brain jogging" but never used one of those books or exercise titled with that but used directly the exercises of an/our Assessment Center which is pretty known for in my country that it is hard to succeed (still the tasks themselfes are easy but 5 days of them 8 hours) and they where made by brain scientists. I guess "brain jogging" is the same.

 

Good luck

- Icca

Edited by IceCave
2

Share this post


Link to post
Share on other sites

@IceCave

Thanks a lot for your input. Can I know where do you live ?  What are the books ? names? I'm really interested in taking your approach.

0

Share this post


Link to post
Share on other sites

Germany. And a German book containing such exercises is "Hesse und Schrader: Testtraining" (they are taken from Assessment Centers and also contain our exercises) and every other book of them.

I guess this is not the language you are looking for.

 

This is an example of an optical logical recognition test. You have to choose the right picture which could continue the picture row on top at best. The faster you are the better. This is a simple task but you need time at first thinking through the possibilities (Btw you have 10seconds for this).

Normaly you are doing ten or twenty of them in a row but with different geometries and of course logic, trying to reach the given timelimit about a few seconds. This gives you an idea about such IQ exercises I meant.

 

I searched the internet for similar papers/exercises/tasks in other languages about this theme but found nothing valuable yet.

1

Share this post


Link to post
Share on other sites

@IceCave,

 

I live in Austria, I just immigrated 2 years ago, German is not my first language, neither not proficient in it. I hope that you can tell me where do I search, may be I can find similar places here in Vienna?  

 

Thanks so much!

0

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0