Desirable Coding Skills
Moderators: phlip, Moderators General, Prelates
- Mark_Cangila
- Posts: 37
- Joined: Fri Mar 16, 2018 4:34 pm UTC
Desirable Coding Skills
Ok. A bit of background about me. I am currently 13 and going into 9th grade next year. I want to start computer science. Right now I can code a tiny bit in unity, code a mild amount in C, and code a bit in JavaScript. I have 3 questions. First, are there any skills I should learn to get a good paying job. Secondly, What languages will help teach me OOP. And lastly, I heard from my mom's friend that a master's in computer science is useful only so I can get a PhD. Is that true?
- Xanthir
- My HERO!!!
- Posts: 5366
- Joined: Tue Feb 20, 2007 12:49 am UTC
- Location: The Googleplex
- Contact:
Re: Desirable Coding Skills
Useful skills for a job is: get decent at any programming language. "Popular" languages (Java, Python, JS) will give you a wide variety of places to go, less popular ones will restrict where you can work, but they'll appreciate you more. (Imo, C/C++ is a dead end, cut your losses and try anything else.)
You can learn OOP in any of the mainstream languages; they're all designed with at least some of that in mind. All three of the ones I mentioned above will do fine. (It's worthwhile to learn a few languages, particularly ones that are "far apart" evolutionarily, so you can learn what things are core to object-orientedness and what things are just part of how *one particular language* does OOP.)
Going above a bachelor's in CS is mostly useful if you're interested in actually doing research in CS. You can spin it into industry jobs on cutting-edge stuff; all the machine-learning that's hot right now is the result of PhDs working for for-profit companies (building on a lot of university research work originally). You're too young yet to have gotten into the kind of math that involves, so you won't know whether you like that sort of thing or not. (I didn't; I play around with higher math strictly as a hobby.) (In other words, comp sci is actually a field of applied math. That may or may not end up appealing to you.)
You don't even necessarily need a bachelor's; plenty of my friends have great coding jobs without one. It does help get your foot in the door in a lot of places, tho, and can help give you a good learning base that can be hard to get on your own.
You can learn OOP in any of the mainstream languages; they're all designed with at least some of that in mind. All three of the ones I mentioned above will do fine. (It's worthwhile to learn a few languages, particularly ones that are "far apart" evolutionarily, so you can learn what things are core to object-orientedness and what things are just part of how *one particular language* does OOP.)
Going above a bachelor's in CS is mostly useful if you're interested in actually doing research in CS. You can spin it into industry jobs on cutting-edge stuff; all the machine-learning that's hot right now is the result of PhDs working for for-profit companies (building on a lot of university research work originally). You're too young yet to have gotten into the kind of math that involves, so you won't know whether you like that sort of thing or not. (I didn't; I play around with higher math strictly as a hobby.) (In other words, comp sci is actually a field of applied math. That may or may not end up appealing to you.)
You don't even necessarily need a bachelor's; plenty of my friends have great coding jobs without one. It does help get your foot in the door in a lot of places, tho, and can help give you a good learning base that can be hard to get on your own.
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))
Re: Desirable Coding Skills
I don't think C or C++ needs to be a dead end per se, but otherwise I agree with everything Xanthir wrote.
Just being able to program at all already gets you pretty far if you want to get a well paid job as a programmer.
Using a version control system like Git will benefit you a lot, already before you have a job.
OOP is good to know, but keep an eye open for other paradigms, too. Functional programming, generic programming and modular programming are all cool and worth knowing, too. Maybe have a look at Scheme, Haskell or C++ template metaprogramming, just to give you a broader overview of what's possible in programming.
Just being able to program at all already gets you pretty far if you want to get a well paid job as a programmer.
Using a version control system like Git will benefit you a lot, already before you have a job.
OOP is good to know, but keep an eye open for other paradigms, too. Functional programming, generic programming and modular programming are all cool and worth knowing, too. Maybe have a look at Scheme, Haskell or C++ template metaprogramming, just to give you a broader overview of what's possible in programming.
"There are only two hard problems in computer science: cache coherence, naming things, and off-by-one errors." (Phil Karlton and Leon Bambrick)
coding and xkcd combined
(Julian/Julian's)
coding and xkcd combined
(Julian/Julian's)
Re: Desirable Coding Skills
I’d second learning a functional language in addition to OOP. It’s a pretty different paradigm that knowing, in my opinion, will help you as a programmer in general. Because you need to think about the problem from a different approach, it can be really helpful.
Learning how to use git — even on a basic level — will be immensely helpful. It’s incredibly useful, even for personal projects. With bigger projects (like when I implemented my own neural net framework), it’s a total lifesaver. It’s even nice for smaller stuff too. I’ve only dabbled with coding in groups, and found it helpful for that too. I certainly know that it can’t hurt for job prospects.
Learning how to use git — even on a basic level — will be immensely helpful. It’s incredibly useful, even for personal projects. With bigger projects (like when I implemented my own neural net framework), it’s a total lifesaver. It’s even nice for smaller stuff too. I’ve only dabbled with coding in groups, and found it helpful for that too. I certainly know that it can’t hurt for job prospects.
- Xanthir
- My HERO!!!
- Posts: 5366
- Joined: Tue Feb 20, 2007 12:49 am UTC
- Location: The Googleplex
- Contact:
Re: Desirable Coding Skills
On the Git note, I highly recommend A Plumber's Guide To Git for a solid introduction to what Git is "under the hood", which I've found immensely useful in using it (and unfucking my repos when I do something out of the ordinary).
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))
- Mark_Cangila
- Posts: 37
- Joined: Fri Mar 16, 2018 4:34 pm UTC
Re: Desirable Coding Skills
Sorry for the late response. I thought that all replies on this forum were notifications
I use git somewhat (I started using it for a unity project for a class.) I am learning some C, and I looked a bit into Haskell. I am also looking into Assembly. I LOVE math. I currently have done (in US education terms) Algebra 1, Algebra 2, and Geometry 1.

- Weeks
- Hey Baby, wanna make a fortnight?
- Posts: 2023
- Joined: Sat Aug 23, 2008 12:41 am UTC
- Location: Ciudad de Panamá, Panamá
Re: Desirable Coding Skills
Have you spoken with any teachers about this? If so, what did they say?
It only notifies you if you are quoted, like so.Mark_Cangila wrote:Sorry for the late response. I thought that all replies on this forum were notifications
TaintedDeity wrote:Tainted Deity
suffer-cait wrote:One day I'm gun a go visit weeks and discover they're just a computer in a trashcan at an ice cream shop.
Dthen wrote:FUCK CHRISTMAS FUCK EVERYTHING FUCK YOU TOO FUCK OFF
- Mark_Cangila
- Posts: 37
- Joined: Fri Mar 16, 2018 4:34 pm UTC
Re: Desirable Coding Skills
Weeks wrote:Have you spoken with any teachers about this? If so, what did they say?It only notifies you if you are quoted, like so.Mark_Cangila wrote:Sorry for the late response. I thought that all replies on this forum were notifications
I haven't talked to any teachers. I don't have a computer science teacher at school. I will next year though, so I probably will ask then.
- Weeks
- Hey Baby, wanna make a fortnight?
- Posts: 2023
- Joined: Sat Aug 23, 2008 12:41 am UTC
- Location: Ciudad de Panamá, Panamá
Re: Desirable Coding Skills
What about math teachers? You said you love math.Mark_Cangila wrote:I haven't talked to any teachers. I don't have a computer science teacher at school. I will next year though, so I probably will ask then.
Have you looked into what comes next, like Calculus?
TaintedDeity wrote:Tainted Deity
suffer-cait wrote:One day I'm gun a go visit weeks and discover they're just a computer in a trashcan at an ice cream shop.
Dthen wrote:FUCK CHRISTMAS FUCK EVERYTHING FUCK YOU TOO FUCK OFF
- Mark_Cangila
- Posts: 37
- Joined: Fri Mar 16, 2018 4:34 pm UTC
Re: Desirable Coding Skills
Weeks wrote:What about math teachers? You said you love math.Mark_Cangila wrote:I haven't talked to any teachers. I don't have a computer science teacher at school. I will next year though, so I probably will ask then.
Have you looked into what comes next, like Calculus?
I've not really looked into Calculus yet. The plan is to do AP Stat then Pre-Calc then AP calc. I now a small amount about calc. I understand that derivatives calculate an equation that gives the slope of a curve at a point, while integration is the opposite. On an unrelated note, what happens if you integrate the original equation?
- Xanthir
- My HERO!!!
- Posts: 5366
- Joined: Tue Feb 20, 2007 12:49 am UTC
- Location: The Googleplex
- Contact:
Re: Desirable Coding Skills
You get its integral. ^_^
I can highly recommend 3Blue1Brown's Essence of Calculus series. Each video is short and approachable, and the whole series is only about 4 hours total. It'll give you a really nice intuitive appreciation of what calculus is, what it does, and how and why it's used. (Try their other videos too - the Linear Algebra series is particularly good, too.)
I can highly recommend 3Blue1Brown's Essence of Calculus series. Each video is short and approachable, and the whole series is only about 4 hours total. It'll give you a really nice intuitive appreciation of what calculus is, what it does, and how and why it's used. (Try their other videos too - the Linear Algebra series is particularly good, too.)
(defun fibs (n &optional (a 1) (b 1)) (take n (unfold '+ a b)))
Re: Desirable Coding Skills
In addition to the video series xanthir recommended (which I also recommend, 3Blue1Brown is really good in general), I also recommend paul's math notes, a site that contains a lot of fairly in-depth explanations and examples for calculus(I believe there's there algebra too).
iirc it also has problem sets if you wish to practice, and proofs for some Calc 1 theorems.
iirc it also has problem sets if you wish to practice, and proofs for some Calc 1 theorems.
- Mark_Cangila
- Posts: 37
- Joined: Fri Mar 16, 2018 4:34 pm UTC
Re: Desirable Coding Skills
Thanks everyone! I'll check out 3Blue1Brown. I saw his bitcoin one a while ago.
Re: Desirable Coding Skills
Mark_Cangila wrote:On an unrelated note, what happens if you integrate the original equation?
If you integrate between two points on a curve, you get the area beneath the curve between those two points. That’s a definite integral. An indefinite integral gives you an equation whose derivative is the original curve (aka the antiderivative).
Who is online
Users browsing this forum: No registered users and 4 guests