Advertisement

What path to take in programming?

Started by April 01, 2014 10:15 PM
9 comments, last by Bregma 10 years, 9 months ago

Hey guys,

So, I'll get right into it. I just talked to my college adviser, and I can complete my degree next semester (Community College). We talked for a good while, and it would be a brutal semester but I could do it. Or I could take two more semesters, and take a few extra classes here or there, and get to know more of what I want to do. Let me bold this for anyone who skims the biggest problem I'm having is that I do not know what niche in the programming world I want to fill. Do I want to be a game programmer? Maybe, it sounds like fun. Do I want to do mobile apps? Website? Back-end server? Data Analysis? Security? I don't know. And what I decide on, matters. If I decide of mobile apps, he suggested taking the extra semester, and taking a course with him in C# (The main language they teach in the college is Java, for 3 semesters, so that's the only language most of us know who come from there).

So if anyone has suggestions, or brief layouts of the different niches in the programming world, that would help a lot. I know you might be hesitant to try to suggest anything, because you don't want to push someone into doing something. It's a decision they need to make on their own. I'm just looking for information here, the ups and downs of certain fields, so I can try to plan accordingly.

**Edit** It's early and I have to leave for work right now, but it seems I failed to mention that I DO plan on pursuing a Bachelors, and hopefully even a Masters degree in Computer Science. I'm just trying to decide if I should get my Associates a semester early, or take the extra semester, and an extra class or two, before going on to a four year school.**Edit**

Thanks!

By not knowing any Java myself, before deciding to extend any more time in school, I would pick up a book at the library or bookstore covering the recommended language to see if I could make the transition from 1 to the other on my own. ( Chances are you probably could !!). If I felt I could, then I would shorten my stay, finish my studies and pursue something with that obtained knowledge. If I then find that I would want to continue my studies at a later date ( within a year or 2 ) then I could always return to school, even if only part time to pick up the extra knowledge.

Your Brain contains the Best Program Ever Written : Manage Your Data Wisely !!

Advertisement

Hi,

Since you do not yet have information direct from game development companies about what skills they seek, seeking that would be the most helpful to you at this point. While you are researching that issue, if deadline comes to schedule classes, then I recommend taking the C# course, continue Java, and extending into more network (such as cloud based) oriented classes. Any web development course will benefit you, too. I do not know if you have anything at your school which focuses on mobile development, but if so then that would be prudent as well. Take as many classes as you can in a couple semesters before you graduate because you really must make the most of the opportunity you have there.

Do NOT wait too long between graduation and landing in a company. The more time that passes after graduation then the less probability of getting hired. The sooner you make contact with prospective employers, even while in school, the better.

Personal life and your private thoughts always effect your career. Research is the intellectual backbone of game development and the first order. Version Control is crucial for full management of applications and software. The better the workflow pipeline, then the greater the potential output for a quality game. Completing projects is the last but finest order.

by Clinton, 3Ddreamer


I do not know what niche in the programming world I want to fill
What do you enjoy doing?
If you honestly don't know, I'd go to a library and get a book called "What Color is your Parachute?", and look up the chapters on the flower diagram. The exercise takes about a week if you intend to give it an honest effort, but the results are profoundly personal.
You might be saying "I want to program". But what do you want to program? Obviously you have an interest in games or you would have chosen a different forum. Do you have an interest in other fields? Law industry software programmer, insurance industry software programmer, financial industry software programmer, every industry has a different type of environment, different customs, different jargon, different requirements, different ideas. What do you enjoy?
Go read the Parachute book and do the exercise. Right now you have written that you cannot find your passions. Hopefully working through those exercises will help you discover what you are passionate about, where your personal path to happiness leads.


if anyone has suggestions, or brief layouts of the different niches in the programming world ... It's a decision they need to make on their own.
All programmers rely on similar tools to develop software. At the core is algorithms and data structures, and these are common in all languages. Secondary to that is languages. After that is tools and other technologies.

The basics of algorithms and data structures should be pounded into your head in school. The concepts are portable for every field and every language. Various topics within algorithms and structures should be taught every year of your education, and even after four years it is still just a basic introduction.

You mention a community college. Depending on your desired industry and desired role within the industry, it may not be enough; a bachelors degree in computer science is usually the HR requirement for programmers. An associates degree is usually too short to cover the necessary topics in the field.

As for languages, you will end up learning multiple languages. A programmer who doesn't learn many languages is not very valuable. While the school may teach you the basics of programming in Java, you will discover they aren't really teaching all of Java. They are teaching the bits and pieces they use and the parts that help them communicate the goals of the course.

I recommend that game programmers become fluent in c++, c#, Java, python, and perl, (with perl being useful less for its own abilities but for the mental processes involved), and you will likely also pick up some degree of both programming and markup languages including html, javascript, sql, xml, json, shader languages, shell scripts, and more.

If you decide to go into business programming, there is a good chance SQL will be a major language instead of a minor one, so probably Java, C++, SQL, and whatever others interest you.

After you are done with school, try to learn at least one language or technology every year. It doesn't have to be fully mastered, just conversant. This will help you in your career as things change, you can have a feel for the new technologies instead of suddenly realizing at age 40 that your skills are 20 years out of date.

Finally, college is generally for learning, not for job training. When people finish their education they will generally know enough that they can be trained in the workplace without too much difficulty. Generally the years of education give enough background that graduates can understand the discussions and muddle their way through the job, but they are still beginners in the field. It takes years to advance from entry level developer to mastery.

Yes, get a feel for the big picture first. You might not want to specialize too early ... but do try to go for hands on experience with different technologies.

I wrote something for my cousin a while ago ... maybe something there is interesting for you ...

http://izitforyou.blogspot.de/

Given enough eyeballs, all mysteries are shallow.

MeAndVR


If you honestly don't know, I'd go to a library and get a book called "What Color is your Parachute?", and look up the chapters on the flower diagram. The exercise takes about a week if you intend to give it an honest effort, but the results are profoundly personal.

If you are using Windows you could download the free Kindle program and for $9.99 buy the book to read and do those chapters. If you are using Linux, get Chrome and install the Kindle Reader then buy the book. I got it so I could read through it just a few minutes ago.

Advertisement

Thank you all for you responses. I've looked into it a little bit and I've found Algorithm Design, Scientific Computing, and Game Programming to be the things that interest me the most. Now I just have to talk with my adviser about either finishing my associates in the Fall, or Spring, and then where to go for my Bachelor+. Thanks!


**Edit** It's early and I have to leave for work right now, but it seems I failed to mention that I DO plan on pursuing a Bachelors, and hopefully even a Masters degree in Computer Science. I'm just trying to decide if I should get my Associates a semester early, or take the extra semester, and an extra class or two, before going on to a four year school.**Edit**

If your community college is accredited (some are, some aren't) and the credits will transfer, stay in community college the extra semester and get as many 'basic' courses out of the way as you can. You'll be studying the same stuff at a four year school, but it will cost you a lot more for the same information.

If you plan on going forward in Computer Science - mathematics is going to be the most important things for you to study at the start. Once you cross the 'discrete mathematics' line and move into areas which are much more about 'proofs' than they are about computation you'll really push your logical knowledge. Topology is an obvious one, but there are others as well. Higher computational math will help you as well, particularly if you want to go into 3D game design. Differential Geometry, for example, is what's used to map a skin to a mesh.

For the computer programming part: learn to code. It doesn't matter whether you're designing a game, a spreadsheet app, the back end for a database client, or a OS Kernel - algorithms are universal. Read as many of the 'classic' texts as you can get your hands on (Knuth, Gang of Four, etc...), and code as much as you can.

"The multitudes see death as tragic. If this were true, so then would be birth"

- Pisha, Vampire the Maquerade: Bloodlines

Take the extra semester, but no more courses than you have to. Use your increased free time to dig into game programming on your own. A community college won't be able to teach you near as much about what you're after as hands-on experience making a game.

Take the extra semester, but no more courses than you have to. Use your increased free time to dig into game programming on your own. A community college won't be able to teach you near as much about what you're after as hands-on experience making a game.

But a community college can teach him history, and a foreign language, and a lot of other courses that he'll have to take at some point to get a degree. If the course credits transfer, it's much better to take them at community college prices than wait until you're in a big name university and pay their tuition fees for the same courses.

"The multitudes see death as tragic. If this were true, so then would be birth"

- Pisha, Vampire the Maquerade: Bloodlines

This topic is closed to new replies.

Advertisement