Ricochet is the best place on the internet to discuss the issues of the day, either through commenting on posts or writing your own for our active and dynamic community in a fully moderated environment. In addition, the Ricochet Audio Network offers over 50 original podcasts with new episodes released every day.
Back to School
How many people here have been to college more than once? By that, I mean that years passed between a first and second degree, perhaps even in unrelated fields. When did you go back? Why did you go back? How was it different the second time?
I didn’t make the most of my first college experience. Since I decided to focus my career on my writing skills, an English major seemed appropriate. One doesn’t need a degree to learn to write. But employers expect a degree. So there I was, grudgingly. That grudging attitude wasn’t helpful. Nor were the frivolous elective courses. And if any degree would do, I was stupid to pursue a degree in the Liberal Arts.
So now, a decade later, I’m looking into programming degree plans. Any advice? Is an Associate’s degree sufficient for many decent jobs? I’m considering an AAS (Associate of Applied Science) with advanced certificates in C++ and Visual Basic. Programming experience would be useful in many fields, both for corporate and entrepreneurial efforts. But I’m particularly interested in game design, of which I’m fairly familiar and have connections.
Published in Education
I find that some of the best students are adults that are going back to school with a purpose in mind. I know I’m much more serious now than I was when I was 20. Most of us are, I think.
On the topic of left-wing crockery, when I did my master of education, I had two openly left-wing profs. Education is probably one of the more left-wing departments, but the school is in Texas so those things probably cancel out. One of the profs was a social science teacher, and he was actually quite liberal (in the good sense of the word) in that we felt comfortable expressing conservative opinions. The other left-wing prof was a science teacher, and he was not very tolerant. The subject matter made it fairly easy to avoid too much political discussion, and while I didn’t lie, I didn’t go out of my way to make conservative political comments.
One incident in particular was very memorable. We were reading Steven Jay Gould’s Mismeasure of Man, which discussed scientific racism in the 19th century, among other things. I mentioned Gould’s point that the scientific racists of the time were arguing that the different races had different origins (polygenism), and that Christians opposed them on this point. As it turns out, modern science agrees with Christians on a monogenic origin of humans. When he tried to relay my point to the class, he completely reversed what Gould had said, and said that Christians support polygenism. I don’t think he was being deliberately deceptive. I think he just had the maxim in his head: “Christians are wrong and dumb on everything, especially science.” It’s really funny how left-wingers think they are the unbiased ones.
I had the same reaction looking at returning to a traditional college. I was inline to get my SBL (school building leader) certificate and then I crashed. So much of education is non-education. I wanted to learn something real and useful and found my way into one of the coding bootcamps.
How much programming knowledge might be necessary to develop a simple app for Android or Microsoft platforms?
How did you practice your programming knowledge in creative ways? How does one experiment with it in the course of early learning?
I am an Aerospace Engineer by degree. Unfortunately, I was locked in to my degree 2 months prior to hearing from another Aerospace Engineer who was working at Lockheed that he “Had been working on the same plane for 17 years”. I am just sorry I wasn’t looking in a mirror when he said that because I am sure I turned white as the blood drained from my face.
Fortunately, I was able to take the logic training I received from the engineering degree and moved into high tech sales (technology being a passion of mine) and it is working out just fine.
Well, I spent the last year in C++ learning game programming through the various online resources. I never got “good enough”. However, I got a really good handle on the ins and outs of object oriented programming.
Programming for Android and Microsoft are two different beasts and depending on what you want the program to do can require a wide range of skills. For instance, I attempted to program a game in C++ for windows. If you’re familiar with Zelda, that was basically my game. I attempted something I thought was super simple and ended up being fairly complicated.
Java, Javascript, C#, and python appear to be the languages that are currently in highest demand. Focus on learning one and you’ll basically learn them all.
I’m currently working in Javascript for basic web app development and the majority of what I learned in c++ is transferable. Javascript is only easier.
A friend of mine who was also an Aerospace Engineer went back for his Master’s in Philosophy. He had some extenuating circumstances (What the Army wanted, the Army got) but I always thought that was one of the most divergent pair of studies one could do.
Also, programming is like any skill. Before you get creative you need to master the basics.
Try to build things that are interesting to you. There’s lots of sites that have coding challenges.
coderbyte is a great one. It will challenge you to manipulate numbers, strings, and objects in ways that you wouldn’t necessarily do on your own.
LOL, thank you. It wasn’t so much I figured it out than it just fell that way. As an undergrad I did double major in both engineering and literature, which is very unusual. I did have the sense to get that first degree in engineering and so get a decent job. The literature degree was to fulfill a hole created by never bringing the literature part of my education to a conclusion. I did it at night, slowly, after I was married, and justified it as being better entertainment than watching television.
So you’re basically an epidemiologist, specializing in viruses? ;)
When I went back to school after the Army, I really wanted to study philosophy, so I took enough credits to get a minor in philosophy, but the engineering school did not let you have a minor, so I still don’t officially have a minor in philosophy.
Because the field of electrical engineering was so diverse, there wasn’t a set course of study so you had to get your curriculum approved by the engineering school to get the degree. During my Junior year, I had to meet with some muckety muck about the courses I selected, and he asked me specifically why I had so many philosophy courses. By then, I was planning on going to business school, so once I explained that was my plan, he replied, “Ah, that makes sense now” and signed off on my course of study.
The oddest fork in education I ever encountered was a guy who went through medical school and soon returned to college to study film directing.
Then again, Bioware was founded by two physicians and has become a powerhouse in the game industry.
My father once worked for a guy who, at the age of 45, quit his job as an electrical engineer and went to med school.
My own experience is a million years old, so probably not relevant now.
But, I have a much younger friend whose experience is interesting. He washed out of college (history and education major) after a year and a half (just couldn’t pay attention). He loved cars, so he became a mechanic (trained by a major car manufacturer, worked in a dealership for that brand). Very much enjoyed the work, but realized that he dreaded the idea of still doing that for the rest of his career, and decided that engineering interested him.
First couple of years of engineering school (as a 27 year old) were really hard for him (all the boring foundational math and science). A couple of us who went to engineering school 30 – 60 years earlier kept telling him that differential equations drove us batty, too. But, once he got to the real engineering classes, he took off! He got more and more excited with each class. But I really wasn’t sure if he was going to make it through the first couple of semesters.
He now works as an engineer for a steel manufacturer. His combination of theoretical knowledge from school and practical experience as an auto mechanic means he has capabilities his coworkers can’t match.
Most apps are simple, but sometimes even a simple idea is extremely complex to actually pull off, (relevant XKCD), because computers are very fast and strong, but they aren’t smart; they do what they’re told. The best you can get from a program in terms of reasoning is an emphatic “No!” with a clear, helpful reason why not. (Hopefully this reason isn’t null pointer exception, that one isn’t so helpful).
You practice every day when you make stuff. I learn a thing or two each day. The best way to do it is to just do it honestly. Have any idea, and just make it, then make it better, or add a feature. We all start with printf(“hello world!”); for good reason.
I think my first iOS app made pictures of random dogs appear on the screen, and then my first fix was making sure the same dog didn’t appear twice in a row. That fix took me 2 hours to figure out. Then I rewrote my solution to use a recursive function because I thought it was neat (and it was!).
So basically, just make something and find out how much knowledge you need, because you’ll gain it that way.
I am out of my element on programming, but when I see job postings they seem more interested in knowledge of, or “certificates” in, specific programming languages than in a degree. Since you have a BA already, that gets you past the resume filters that mandate a degree, so then it’s a matter of getting past the filters on the languages the employer is looking for. Perhaps getting a couple of programming language certifications is easier (and maybe even more productive) than another college degree.
I don’t know what it is, but once you get the hang of recursion that’s all you want to do. Memory management is also interesting. Code for a while and see if you actually enjoy it.
I originally thought I’d like to do game programming, but really I’d like to do any programming. It’s just fun to make things do things.
I have an M. Ed., worth every penny for *one* reason: In pursuing said degree I unknowingly inoculated myself against those who would otherwise make themselves free to criticize the fact that I educate my kids at home.
(If the critics only knew that I learned *absolutely nothing* meaningful about teaching in the course of my degree program….)
So–add that to the list of positive, unintended consequences of pursuing advanced education: People think you know stuff, may speak with authority, and should act with impunity, all because of your degree. So fab!
I’ve had false starts at both undergrad, then grad school.
I partied way too much in my first stint at college, and my parents wouldn’t let me back in the house if I were unemployed or a dropout. So I worked at McDonald’s, worked my way up to store manager, then went back to university. Class was a whole lot easier than washing fry baskets and grease traps.
My first foray into grad school was in a PhD history program. I wasn’t really cut out for the academic life. When my brother came to me over winter break with his idea for a SW company, I spent my last semester at UVa researching game content. I’m been tech or consulting since.
You can learn to code well enough on your own, but the differentiator I’ve seen in developers is strong command of some combination of math, logic, and plotting/narrative. The best combine all three and love their work, the worst have none of the three and are clueless victims of outsourcing.
My wife is a contract programmer. Although she is a specialist in a very narrow field, she might have some advice that could be useful – or not! We’ll see you in Nashville . . .
For the record, she doesn’t know I’m volunteering her help, so maybe I’ll be too injured to come on the trip. Hehe . . .
I’m particularly interested in AI design for games. By that, I don’t mean attempting to replicate or surpass human intelligence. Rather, I like the challenge (in theory) of designing compelling characters by simulating animal-type decision webs and personalities by focusing on individual perceptions, priorities, and dynamics.
The Halo franchise is a great example of endowing characters with “personality” through clever and dynamic AI.
Half of programming is logic. Half is language. I sometimes wrote about the logic on my game design blog years ago.
Aaron: it all depends where you want to work. Meaning, which company. There’s a big difference in the skills and the people the top companies are looking for, and the rest.
If you’re aiming for the top, then an associate degree isn’t going to be enough. Those places get a billion resumes a year, from everyone. And the people who apply there are really really good.
Other companies, yes probably an associates is good enough. But keep in mind the difference in pay will be substantial.
The top companies outsource some of their work to the “lower” level companies, which is why there’s a separation in what skills and people they are looking for. You’re not likely to do the same kind of work in both cases. And, at the “lower” level companies, you’re really competing with the Indian outsourcing market (which is pretty poor quality, but it’s so cheap, that companies are willing to put in the extra effort of hiring some more project managers for it).
Either way, it will pay more than an English Lit degree. Yes. But it’s all relative. If you think you can handle the work at a top CS BS program, then there’s no reason not to go for it.
And of course there’s wide differences in starting salaries even within BS programs. Top schools can have starting salaries in the 70-80k range, and “lower” level schools in the 50-60 range. But with associate degree’s the average is closer to $40k. It’s all relative.
And yes, people will say “well you COULD make just as much” etc etc. Of course you could. It’s just going to be a lot harder. So it all depends on how confident you are that you can handle the work.
I’m one of those people who went back to school for a second…and third….time. BS in engineering, then MBA about 3 years later, then PhD about 3 years after that. Certainly, it was much better the second and third times around.
Don’t be evil. Say no to JavaScript.
Fullstack refers having knowledge of the technologies required for each level of app development.
I’m not familiar with lua. However, my advice to you would be to dive deep into one language. Really get a handle on it. The basics of every language are basically identical so if you learn one you learn them all. Furthermore, get into the programming scene. Go to some meet ups. Sure they will be a bunch of left wing nuts, but there’s not much you can do about that.
By the way, are any of you familiar with Microsoft’s Kodu or the subsequent Project Spark? What do you think of visual programming and toolsets which automate common commands?
Are such toolsets becoming normal in industries aside from game development?
On a related note, I have often read of coding teams beginning with a previous team or company’s code and rewriting much of it. It’s common enough in the game industry that it must be considered a time-saver overall. What experiences do y’all have with rewriting another person’s code — to change its functions, rather than to correct its errors?
Any advice for beginning programmers in regard to collaborating with other programmers on a shared project?
Just that Java is infamous for all the viruses that piggyback on. As Wikipedia puts it, “JavaScript is frequently turned off in browsers because of security concerns.” But I suspect that’s simply because it’s easy to convince non-techies to click on a web game or Facebook app, which are often run by JavaScript.
Is Java used exclusively in web applications?
No all apps are not in java. Also Java and JavaScript are two completely different things.
Shows what I know! Thanks.
What about Lua? I seem to remember someone recommending that to me years ago.
Also, what exactly is Full-stack? Does it refer to an familiarity with many applications? Is it a general method of instruction or something more specific?
Sorry I think I edited one of my responses and provided an answer to your fullstack questions above. Whoops.
So what have you tried so far, Aaron?
I haven’t started yet. I’m trying to determine where to begin. I’ve got only a rudimentary knowledge of HTML and familiarity with formal logic and instructional writing.
I’m leaning toward trying to learn some stuff independently in preparation for the AAS program at the local community college. That course includes study of two programming languages of my choosing. Then they offer advanced certificates in C++ and Visual Basic.
I’m also going to reach out to some potential employers to see what they are looking for.
http://www.eweek.com/developer/slideshows/top-10-programming-languages-for-job-seekers-in-2014.html
Be warned Aaron. I took C++ classes at community college level and graduate level and the information was basically the same. The classes were decidedly unrigorous.