Help. Trying to become excellent at programming.

thatrandomguy

Junior Member
Feb 28, 2014
1
0
0
I didn't know where else to turn so I thought I would try a forum full of tech guys.

Basically, I'm a college student majoring in Computer Science. I'm in my third year right and it looks like I'm going to need two more years to get my BA. I just transferred from one university to another because this one is supposed to be more suited towards my major. I was a bit of a fuck up my first two years which is why I'll be in school for an extra year. Anyway, I like video games, alot. I mostly play AAA titles but I've been giving indies a chance lately. My plan was to transfer to this school and get a degree in game development. After talking to my parents I made the decision of switching to Computer Science because I don't think the gaming industry job market is very strong right now. Development teams are getting laid off left and right and I'm not creative enough to start my own. So I thought make a plan B, get a degree in computer science and be a programmer. Its practical because if I ever do decide to try the gaming industry, I have programming to back me up. Its what I wanted to do in the game industry anyway, program.

The problem is my parents say I'm not passionate enough about programming and that I'm going to fail in life because of it. I partially agree, but only because I have no idea how to get better at this stuff. Yes, I know I should practice outside of school and the courses they teach are not enough, but where do I go to learn more?

I knew some C++ but I need to refresh my brain on that. Right now I'm taking a into to web programming class that focuses on HTML CSS and java and another intro programming class that uses python. But that's all I know.

My dad tells me to get involved with stuff but I don't know where to begin. He showed me codeacademy, the website. I'm trying to get in activity groups at my school. But where do I go to learn more languages?


Are my parents overreacting or am I doing something wrong? Am I on the right track? What I'm really asking here is do you guys know any websites, forums, blogs, anything that would help me? I'm just trying to become good at this stuff and I can't turn back now. I can't switch majors or anything.

any help at all would be a big help.
 

mikegg

Golden Member
Jan 30, 2010
1,980
578
136
Game development? If you want a job, a stable high paying job, go for app or web development. It's easier and you won't get fired after every game.

Depending on where you live, you can go to meetups.com and join clubs that specialize in programming. Buy a book and start studying.

If you want to make lots of money quick, learn Ruby, Ruby on Rails, Python, Django, iOS/Android development, front-end development.
 

boomhower

Diamond Member
Sep 13, 2007
7,228
19
81
Dang, C++ is still the thing? Thought that was dying out when I took it as an elective ten years ago. Game development in and of itself isn't something I'd stake my career on. Make yourself as well rounded as possible.
 
Last edited:
Mar 16, 2005
13,856
109
106
set your bar at what it takes to make a flappy bird type of app.

if you can rise above it, you've succeeded.
 

slugg

Diamond Member
Feb 17, 2002
4,723
80
91
The biggest tip I can give you is to do more than the minimum. If you got straight As in school, but nothing else, then you're in for a rough time in the real world. 90% of my applied knowledge and skill did not come from school.

Also, if your degree is in computer science, then you should be getting a BS. If the school is calling it a BA, then the school itself is BS.
 

Mai72

Lifer
Sep 12, 2012
11,562
1,741
126
Just curious.

1. Can someone who is going to be 40 years old start a career as a programmer? Or, is it geared towards young people.

2. Can someone learn programming from sites like code academy and land a job? Or, is code academy a joke?

Sorry Op. I didn't mean to derail your thread.
 

holden j caufield

Diamond Member
Dec 30, 1999
6,324
10
81
if you don't enjoy it and don't enjoy the learning process you won't become good at or you won't last. Doesn't seem like you enjoy it, maybe get something in MIS?
 

lxskllr

No Lifer
Nov 30, 2004
60,211
10,666
126
1. Can someone who is going to be 40 years old start a career as a programmer? Or, is it geared towards young people.

I think someone old would be at a disadvantage. I can't think as well as I used to. I've picked up hacking on HP48s again, and the stuff isn't coming to me as it once did. Everyone's different, but I wouldn't want to plan a career of coding at 40. Hack around for fun sure, but not bet my life on it.
 

foghorn67

Lifer
Jan 3, 2006
11,883
63
91
Stay out of game development. There are other jobs in game development since the top titles are so production heavy with movies, voice acting, CGI, screen art, motion capture, etc.

There are so many avenues for developers, games aren't worth it.
 

Red Squirrel

No Lifer
May 24, 2003
70,667
13,835
126
www.anyf.ca
Programming is way to math oriented for my skillset

Not really true. Well yeah there is some math, but you're just telling the computer to do the math, you don't actually have to be good at doing it. Game programming will have more math (LOS checks and stuff can be pretty crazy) but once you have the formulas down path you're just plugging in variables.

I suck at math but I worked on a game server for 5ish years. Exponential artifact drop rate formulas can get interesting too. Throw in random modifiers in there too. Lots of formulas, but not a lot of calculating (that you have to do).

Computers are great, they do all the dirty work so you don't have to!

Mobile game development is huge right now. I've been thinking of learning it myself. Some people are coding simple games like flappy bird and making thousands, if millions. It's insane. Just need to have a 1 hit wonder and you're set for life.

Now if you're trying to get a job in programming, yeah they'll probably want you to be good at math, but if you're getting into programming you have a better chance at doing your own gig than finding a job. Companies tend to outsource that nowdays. Usually to companies like CGI, and it turns into a disaster, but they still insist on doing it.
 

Aikouka

Lifer
Nov 27, 2001
30,383
912
126
First of all, I think you need to be aware that Computer Science may involve a lot of programming classes, but the language is just the medium in which you learn the actual skills. Computer Science is about solving a problem through designing a solution. Hell, sometimes, part of the initial design is to determine which language is most effective based upon their strengths and weaknesses. I've always been of the opinion that a good developer is capable of "working" on a program without even using a language. Of course, you need one to actually get an end product. :p

So, really what I'm trying to say is stop worrying so much about languages! It never hurts to dabble a bit in them, but I'll let you in on another secret... most companies don't expect a ton out of fledgling developers. Of course, they would love to see that you have experience in the language, but if you don't know it, you just learn it when you need to. For example, at work, there's some old software written in Ada, and I have only ever seen Ada once before that. Do you think I threw my hands up, and said, "Well, I don't know Ada, so I'm done here!" Nope. I just did a little Googling to get the differences in syntax down, and went to town on that source code.

The best advice that I can give you... write something fun for yourself. For example, way back when, I needed an easier way to rename a lot of files, so I wrote a file renaming tool. The best part is that a friend of mine still uses it today! :p

1. Can someone who is going to be 40 years old start a career as a programmer? Or, is it geared towards young people.

Sure. There's absolutely no age restriction on being a software engineer. The only thing that's usually taken into account is knowledge/experience. Experience can actually be a negative factor, because some jobs may be looking for less-experienced workers (i.e. they get paid less so there's more room in the budget).

2. Can someone learn programming from sites like code academy and land a job? Or, is code academy a joke?

I've never heard of code academy, but keep in mind that degrees are practically becoming the new diploma. So, the idea of getting a development position without one should be rather... difficult. Although, there is a lot to be shown for visible experience (i.e. projects where you can show off your skill). So, I think it's certainly possible to get a job without a degree, but you're going to have a harder time getting past the initial resume phase where they sometimes filter based on quick criteria.

Programming is way to math oriented for my skillset

Honestly, it's pretty rare for me to use any math more difficult than your basic addition, subtraction, multiplication and division. The only "odd" stuff that you need to be able to understand that's sort of math-like would be bit manipulation (masks, shifting, etc.), which I do tend to do that often enough.

Also, if you do end up dealing with more complex equations, it usually isn't anything that you have to develop. Most of the crazy algorithms that I've had to work with were standard equations that I turned into code. Examples of that are things like conversions between coordinate systems. There's a few steps to go from something simple like Cartesian coordinates (x, y, z) to Latitude/Longitude/Altitude (LLA) and a lot of weird constants that are rather awkward to make good variable names for. :p
 
Last edited:

NuclearNed

Raconteur
May 18, 2001
7,882
380
126
100% of all programmer wanna-bes start out wanting to develop games, which frankly is a dead end.

It would be much better for you long term to learn developing against SQL Server or some other highly used db.
 

Markbnj

Elite Member <br>Moderator Emeritus
Moderator
Sep 16, 2005
15,682
14
81
www.markbetz.net
The problem is my parents say I'm not passionate enough about programming and that I'm going to fail in life because of it. I partially agree, but only because I have no idea how to get better at this stuff. Yes, I know I should practice outside of school and the courses they teach are not enough, but where do I go to learn more?

Your parents sound like their own self-fulfilling prophecy.

"I knew my kid was going to fail. I've been telling him that for twenty years, and look, he failed!"

If you want to program, just program, and then get a job programming, and then get tired of programming, and go into management, like everyone else.
 
Feb 25, 2011
16,994
1,622
126
Computer science is a good start, but you learn marketable skills by doing.

Goals:

You should have at least one app in the android/iOS store by the end of this semester.

(As an aside, I would pay a couple bucks for a really good to-do list app that interfaced with Siri.)

Write two or three more apps by the end of next school year. They don't have to be original ideas as long as you build them from the ground up.

Git. Learn it, live it, love it. Git pull a couple FOSS projects and take them apart. Figure out how they tick.

When you have a task around the house (scheduling backups, etc.), make it a point to brew your own solution in python or something, rather than just use an off the shelf solution. It may be less efficient, but it's always a learning experience.

Start using Linux now and never look back.
 

radtechtips

Senior member
Feb 12, 2013
640
1
76
Computer science is a good start, but you learn marketable skills by doing.

Goals:

You should have at least one app in the android/iOS store by the end of this semester.

(As an aside, I would pay a couple bucks for a really good to-do list app that interfaced with Siri.)

Write two or three more apps by the end of next school year, and join an open source project, even if it's just to read the code.

Read the code.

When you have a task around the house (scheduling backups, etc.), make it a point to brew your own solution in python or something, rather than just use an off the shelf solution. It may be less efficient, but it's always a learning experience.

Start using Linux now and never look back.

^this

Whenever my mom needs a simple app I write her one instead of finding it on the interwebs. I get experience and she gets the app she needs.
 

purbeast0

No Lifer
Sep 13, 2001
53,660
6,536
126
your parents are overreacting. i am a comp sci major and it took me 5 years to graduate. my 2nd semester i nearly dropped out after having a 0.8gpa after the 2nd semester. i literally only earned 6 credits my 2nd semester, another reason it took me 5 years to graduate. so glad i did not drop out now...

i wanted to program too because i loved video games. but after taking a gaming course in school i quickly learned it was different than i thought. i also realized that gaming programming was a very niche sector of the industry once i started to learn more, and realized that money also wasn't as good in it.

so after graduating i never seeked out a gaming job or anything. i am right now however making my very first ios game on the side and i gotta say, it's a lot of fun. the flappy bird craze peaked my interest in mobile game development and in about 2-3 weeks of my free time i have a game that i'm going to submit to the ios store this weekend. i had never done any game programming in over a decade so this was a fun and learning process.

my suggestion to you is to try and learn how to do web applications. there is a lot of technologies that come together to make a full web application. it's a technology stack for the most part that requires a bunch of things working in unison to get working. on the flipside of that, my first job out of school was c++ for a commercial product, and it was just c++. since then, all of my jobs have been using backends and front ends with many layers between.

i just like seeing all of the pieces of the puzzle come together. also once you know how to do that stuff, it helps understand what all is going on and how things come together. and you learn a ton while doing it, which is what you need in this field because it's constantly evolving. i'm at the point now that i can pick up on basically anything and start working in it.
 

purbeast0

No Lifer
Sep 13, 2001
53,660
6,536
126
Not really true. Well yeah there is some math, but you're just telling the computer to do the math, you don't actually have to be good at doing it. Game programming will have more math (LOS checks and stuff can be pretty crazy) but once you have the formulas down path you're just plugging in variables.

I suck at math but I worked on a game server for 5ish years. Exponential artifact drop rate formulas can get interesting too. Throw in random modifiers in there too. Lots of formulas, but not a lot of calculating (that you have to do).

Computers are great, they do all the dirty work so you don't have to!

Mobile game development is huge right now. I've been thinking of learning it myself. Some people are coding simple games like flappy bird and making thousands, if millions. It's insane. Just need to have a 1 hit wonder and you're set for life.

Now if you're trying to get a job in programming, yeah they'll probably want you to be good at math, but if you're getting into programming you have a better chance at doing your own gig than finding a job. Companies tend to outsource that nowdays. Usually to companies like CGI, and it turns into a disaster, but they still insist on doing it.

i disagree with programming not being math oriented. there is a lot of math skills involved. i mean you aren't necessarily doing calculus or high level math, but the basic idea behind programming is basic algebra where you learned variables. and then you have functions which have multiple variables and a whole lot of other things going on. then you have for loops, iterators, etc, where they are very basic math concepts but still very math oriented. i think it's just more of thinking in a mathematical way than anything.

i remember taking discrete math in college and it being the "weed out" course for my major. back then i had no clue how the hell this pertained to comp sci, but now i clearly see the benefit of it. it gets you thinking in a different way and is more logical than anything. that kind of math is huge in programming.

and game programming is A TON of math. you are constantly doing things in a plane (2d or 3d) with vector math going on as well as just moving things around a coordinate system. a lot of vector/matrix transformations going on. there are a lot of libraries and engines out there that help make that a lot easier for you, but someone who actually understands what is going on under the scene and knows why things are doing what they do will definitely have a step up from someone who does not.
 

Fritzo

Lifer
Jan 3, 2001
41,920
2,161
126
All the great programmers that I've met seem to have became good at what they do from one thing: creating something big by themselves....usually some type of game.

One of my good friends is a XML and ASP wizard because he used to spend hours writing maps for Neverwinter Nights (a multiplayer D&D game from years back).

One guy in our office use to hand code Doom .wad files.

Another created his own space sim and now works in IBM's development dept.

Short story- you need to make your own ambitious project from the ground up. All of the unique experiences you have during the creation go into your unique tool chest, giving you your applied skill set.
 

lupi

Lifer
Apr 8, 2001
32,539
260
126
What is the dominant programming language now, can't really get a feel for it from this thread.
 

apac

Diamond Member
Apr 12, 2003
6,212
0
71
I wish people more easily understood that playing games != developing games. From everything I've heard, developing games is grueling work. Long hours, high stress, publishers breathing down your neck.

Software is software. As long as you're doing something interesting and challenging it's usually fun and rewarding, so you might as well do it somewhere that doesn't suck to work.

I also tell people that it takes a special kind of crazy to do what I do. You have to really like the designing and the problem solving and working with computers. A programmer can write code, a software engineer can write well designed, maintainable, well tested code. Everyone starts out as a programmer, those that are actually cut out for the field will turn into software engineers.

edit: Regarding programming languages, I think Java, C/C++, and C# are the most popular for "traditional" software, with Java taking the lead. there are a ton of options for web development that I'm not very familiar with.
 
Last edited:

purbeast0

No Lifer
Sep 13, 2001
53,660
6,536
126
What is the dominant programming language now, can't really get a feel for it from this thread.

completely depends what you are doing.

you aren't going to be using objective-c to write webapps, and you aren't going to be using grails to write apps/games for iphone.
 

BikeJunkie

Golden Member
Oct 21, 2013
1,390
0
0
Your parents sound like their own self-fulfilling prophecy.

"I knew my kid was going to fail. I've been telling him that for twenty years, and look, he failed!"

If you want to program, just program, and then get a job programming, and then get tired of programming, and go into management, like everyone else.

But in all seriousness, THIS. Just code. Code your ass off. Start by thinking of simple problems and then solving them. Who cares if it's been done before (most have, after all). Make a small stupid social networking site that allows for user registration and collecting friends. Or go even smaller than that... calculator apps are good early steps.

But don't listen to your parents. If you like it and don't have any permanent head injuries, you'll be fine. But you have to like it (and not have serious head injuries). If you don't like it (A LOT) you will burn out on it.
 

Fayd

Diamond Member
Jun 28, 2001
7,970
2
76
www.manwhoring.com
First of all, I think you need to be aware that Computer Science may involve a lot of programming classes, but the language is just the medium in which you learn the actual skills. Computer Science is about solving a problem through designing a solution. Hell, sometimes, part of the initial design is to determine which language is most effective based upon their strengths and weaknesses. I've always been of the opinion that a good developer is capable of "working" on a program without even using a language. Of course, you need one to actually get an end product. :p
there's a reason why CS classes don't actually teach languages (aside from your first CS class.) you design the algorithm, then implement it in any language you choose. hell, the book 'The Art of Computer Programming' explains the algorithms using a fake programming language.

Honestly, it's pretty rare for me to use any math more difficult than your basic addition, subtraction, multiplication and division. The only "odd" stuff that you need to be able to understand that's sort of math-like would be bit manipulation (masks, shifting, etc.), which I do tend to do that often enough.
I tend to use matrix algebra quite a bit, but i'm a statistical programmer, so that's to be expected.