Page 1 of 1 [ 13 posts ] 

equestriatola
Veteran
Veteran

User avatar

Joined: 13 Aug 2012
Gender: Male
Posts: 106,620
Location: Half of me is in the Washington state, the other Los Angeles.

14 Mar 2015, 7:55 pm

Alright, I think after some long years, I think I may take up computer programming. Because, partly, my uncle and dad are prodding me to do it.

This thread is for advice on how I can help myself educate myself in this field, and other advices on this career field I may pursue. Any advice, guys? Thanks. :D


_________________
LIONS-STAMPEDERS-ESKIMOS-ROUGHRIDERS-BLUE BOMBERS-TIGER-CATS-ARGONAUTS-REDBLACKS-ALOUETTES

The Canadian Football League - What We're Made Of

Feel free to talk to me, if you wish. :)

Every day is a gift- cherish it!

"A true, true friend helps a friend in need."


Aerith
Blue Jay
Blue Jay

User avatar

Joined: 19 Feb 2008
Gender: Male
Posts: 77
Location: New York

15 Mar 2015, 12:07 pm

Um, well, it helps to know what kind of programming you'd LIKE to do in the first place. For example, would you prefer to do back-endy sort of stuff, make iOS/Android apps, be a web dev, or something completely different? From there, pick a language or two and work on learning them. There are oodles of sites out there (free and paid) that offer some structure for the learning.

Personally, though, I learn best by doing. I'd just pick some particular field/language and jump right in. For example, for some time, I thought I wanted to be a web dev, so I did an unpaid stint where I found a non-profit running a huge site (over 1K articles) on HTML and essentially told them that there are better ways and I can PROBABLY do better (although I only had a very vague idea of how to at the time). From there, I eventually learned some PHP, SQL, and CSS to build 'em a pretty Drupal-based site.

Basically, learn stuff and figure out some sorts of projects for yourself to apply the stuff you learn. Getting a degree in Comp Sci or Information Systems would probably help, though. Learning to code on my own was/is really hard and requires a bloody hell of a lot of willpower.



cberg
Veteran
Veteran

User avatar

Joined: 31 Dec 2011
Gender: Male
Posts: 10,494
Location: Boulder CO

15 Mar 2015, 12:14 pm

Basically no matter what you feel like coding, it's a safe bet you'll benefit from learning BASH.


_________________
"Standing on a well-chilled cinder, we see the fading of the suns, and try to recall the vanished brilliance of the origin of the worlds."
-Georges Lemaitre
"I fly through hyperspace, in my green computer interface"
-Gem Tos :mrgreen:


unknownfactor
Raven
Raven

User avatar

Joined: 8 Apr 2013
Gender: Male
Posts: 107

15 Mar 2015, 1:25 pm

1. Make small simple things for yourself. Make it to satisfy your curiosity or solve a problem you have.

2. Set yourself up for fast feedback. The quicker you see the result of what you typed up, the better. Get feedback from the computer. Get feedback from humans. You'll be a happier programmer that way.

3. Pick a programming language that works for YOU. Python works for me for the problems I tackle. It matches my needs and sensibilities. You will have needs and tastes that differ from mine. That might lead you to Ruby or Javascript or even Java.(ick)

Best of luck.



Orangez
Deinonychus
Deinonychus

User avatar

Joined: 15 Nov 2014
Age: 26
Gender: Male
Posts: 320
Location: British Columbia

15 Mar 2015, 2:23 pm

It matters what you want to due in programming as different fields used different languages. I find the best way to learn is just to do it and just grind away until you find a solution.



SocOfAutism
Veteran
Veteran

Joined: 2 Mar 2015
Gender: Female
Posts: 2,552

18 Mar 2015, 2:28 pm

It'll help you later in your working career if you go to a school that gives you some classes in both back end and front end developing, with some web as well. Most companies do all three and make you work on teams with people who do all three. So say, if you want to do front end (the interface), it'll help to have some idea of what actions your interface is hooking into. And if the company has web services integrated with whatever they're making, you'll want to know a little bit of that.

Otherwise, if you just know one kind of coding and nothing about the rest, it'll make it hard to write the code to begin with and then to troubleshoot any bugs. And it looks great on a resume. ;)

(I'm a sociologist now, but I used to be the manager of a technical writing team, and I took C+, .NET, HTML (in the 90s!), BASIC, and god knows what else just to be able to understand people)



LifUlfur
Veteran
Veteran

User avatar

Joined: 2 Nov 2013
Gender: Male
Posts: 546
Location: London

18 Mar 2015, 2:32 pm

Sorry, someone else may have said this but I didn't see it because I really wanted to say it :P.
CodeAccademy! It's amazing! Simple exercises which build up into more complicated ones!
Ok, no more exclamation marks. It teaches 3 different kinds of code I believe, walks you through it and then tests you, it's truly amazing and for once on the internet, FREEEEEEEEEEEEEEEEEEEEEEEEE.
I hope you use it, it helped me. Good luck, I love programming and I hope you will too.


_________________
Welcome to the inside of your head. It's kind of empty in here.
Ma-Ma is not the law. I am the law.


physicsnut42
Deinonychus
Deinonychus

User avatar

Joined: 17 Jun 2012
Age: 19
Gender: Female
Posts: 348

18 Mar 2015, 3:21 pm

CodeAcademy is great! So is Khan Academy. Another good one is Learn Python the Hard Way, which is great because it teaches a lot of basic skills, and is a really great way to learn Python, which was invented to teach people how to program but now has a large following of experienced programmers, and is in many people's opinions the best language to learn programming in.


_________________
Feel free to PM me. I don't bite!


MissDorkness
Veteran
Veteran

User avatar

Joined: 15 Aug 2011
Age: 43
Gender: Female
Posts: 903
Location: Missouri

18 Mar 2015, 9:51 pm

I like the replies of the others. Good stuff.

I ended up falling into programming.

I started by supporting engineers with basic drafting knowledge. Managing that stuff was a big job, so, I picked up some automation to make the drudgery go faster. Macros, scripts, lisp, vba, etc. and folks on the drafting are great

I figured out that I liked computers, so, when I couldn't complete my engineering degree at night, I turned to CS.
Now I'm a System Administrator. Probably most days it's less stressful than full time software development, but, I do sometimes have people issues to deal with. XML, SQL, HTML are the easier parts... I need to learn much more about JavaScript, but, I just haven't had the energy at the end of the day.



0_equals_true
Veteran
Veteran

User avatar

Joined: 5 Apr 2007
Age: 37
Gender: Male
Posts: 12,262
Location: London

22 Mar 2015, 6:09 pm

I'm a programmer. Most for what I know, I've taught myself (you need to be good at re-learning as it is constantly changing), and I was interested in it and related subjects from an early age.

You don't mention that you want to do this. You said your uncle and dad are prodding you into it.

I'm not saying you won't like it, but you need to try it to see if is for you.



0_equals_true
Veteran
Veteran

User avatar

Joined: 5 Apr 2007
Age: 37
Gender: Male
Posts: 12,262
Location: London

22 Mar 2015, 6:26 pm

MissDorkness wrote:
I figured out that I liked computers, so, when I couldn't complete my engineering degree at night, I turned to CS.
Now I'm a System Administrator. Probably most days it's less stressful than full time software development, but, I do sometimes have people issues to deal with. XML, SQL, HTML are the easier parts... I need to learn much more about JavaScript, but, I just haven't had the energy at the end of the day.


It can be stressful dealing with clients sometimes. Not all software developers are dealing with clients directly, but they are still going to feel some of the heat. However I would be most stressed in open plan office working with other people. So really it is not that, bad in comparison, I can afford to be choosy what jobs I take on.

The good thing with custom automation for yourself, is you only have to get it working on you platform(s) for yourself or colleagues. Once you delve into a broader scope, there is a lot more at stake.

Having said that sys admin, customer/clients are relying on you not to mess up. So that is similar.



MissDorkness
Veteran
Veteran

User avatar

Joined: 15 Aug 2011
Age: 43
Gender: Female
Posts: 903
Location: Missouri

23 Mar 2015, 11:24 pm

0_equals_true wrote:
MissDorkness wrote:
I figured out that I liked computers, so, when I couldn't complete my engineering degree at night, I turned to CS.
Now I'm a System Administrator. Probably most days it's less stressful than full time software development, but, I do sometimes have people issues to deal with. XML, SQL, HTML are the easier parts... I need to learn much more about JavaScript, but, I just haven't had the energy at the end of the day.


It can be stressful dealing with clients sometimes. Not all software developers are dealing with clients directly, but they are still going to feel some of the heat. However I would be most stressed in open plan office working with other people. So really it is not that, bad in comparison, I can afford to be choosy what jobs I take on.

The good thing with custom automation for yourself, is you only have to get it working on you platform(s) for yourself or colleagues. Once you delve into a broader scope, there is a lot more at stake.

Having said that sys admin, customer/clients are relying on you not to mess up. So that is similar.


True. I sometimes resent my working environment, but, I put up with it for the sake of stability for my kids. When they're older, I hope to transition into a better environment for me.

Lol, and yes, it was easy when it was just custom automation for me. Now, I have to consider the needs and preferences of all of my users.



Zanion
Emu Egg
Emu Egg

User avatar

Joined: 29 Dec 2013
Age: 31
Gender: Male
Posts: 3
Location: Oregon

29 Mar 2015, 3:54 pm

First think I'd like to mention is that it takes years to master any craft. Don't be discouraged that you are a beginner and be realistic about your capability. Every year I look back at my work and feel like 1 year ago version me was incompetent. Now I understand this is just the nature of how it works. You will constantly be learning if you want to become a quality engineer. There is always the option to just stop at the "Advanced Beginner"/barely competent stage and skid by with a shadow of a working knowledge where one of a small list of things happen:
- Your colleagues will have to clean up after you
- You get trivial use cases to tackle/never do anything of any real importance
- You end up employed somewhere where you make a mid-grade salary, nobody cares that your architecture is a steaming pile, nobody takes pride in their craft (ugh <- it is phenomenal how many shops are like this).
Please don't do this :(

I personally advise building from the ground up in the beginning and start hacking away. For me this was designing games and building them in a game making engine with access to scripting. After that I moved to a more advanced framework. Then I realized the gaming industry is terrible to work in and jumped tracks entirely to work in tech sector.

Just pick a language and get to the point of intermediate mastery (Can build a medium sized database backed application that serves a pragmatic purpose). This will very likely take you 1-2 years assuming a collegiate study habit. Learn some design patterns and then learn another language. Python/C# are great to introduce a beginner to programming, C++ is better if you have guidance and want to deeply understand whats going on at the heart of computer science. (Data structures/operating systems/embedded/real-time control/networking). I deeply feel that commanding 2+ languages is critical to growing as a programmer. This is because you learn to think about a problem abstractly instead of syntactically and can think about a problem as an algorithm instead of as how you would write the specific code. This is all subjective of course and just my rose-colored view of the software engineering landscape.

Other posters linked great educational sites. Code/Khan Academy, The LearnPythonTheHardWay series is also excellent as mentioned previously. Keep at it and I wish you the best of luck. I encourage everyone to have a basic understanding of programming languages. I think it is a great tool to teach people/children to think algorithmically. Most importantly, when it comes to the point of dedication to the craft you should do this for you because it is what you want to add to your skills and your character. My father wanted me to be a construction worker, it is OK to find and carve your own path :D