How do i start my Software Developer path.

19    19 Feb 2016 16:14 by u/ConfusedVoater

Hey, i've been looking around and i'm pretty confused to be honest.I was hoping perhaps someone here could maybye clear this up a bit for me.

I've been doing some research and i'm fairly certain that i want to take the path of becoming a software developer.However while searching online about information/ resources i havent really found concrete information on what i have to do before that.

I've never been to college before so i've read around about programing/computer science before starting software development, however it all was very vague.

Anyway any help would be great.

Thanks.

Edit: Damn i was expecting to get shit on for asking dumb questions.I really appreciate all the info/help you guys took the time to give me.Im going to be looking into what i would like to start learning and what languages i can do it in.Once i do that i guess i'll see what i think about the college/uni route as i still believe that perhaps having a software engineering degree can help supplement online learning.

24 comments

4

The best way to learn is by doing. Create a small project and code something you're interested in. This might be a dynamic website, or something on an Arduino or a calculator.

3

The most important thing is to start doing it. What is interesting to you about software dev? Is it games, searching large data sets or social media?

whatever it is, do a search for open source for that, download load it and learn how to build it. There are free tools everywhere - v/nogarbagetrashonly pointed out the community version of visual studio. There's also free eclipse for java/python whatever.

If that doesn't resonate with you, then you can take a class at your local university - or there are plenty of online classes you can take.

But be prepared - you don't necessarily need a degree to do software development, but you will need to be able to show experience doing software development (like contributing to an open source project, creating your own application and maintaining it, etc). This isn't flipping burgers, so you'll need to invest time and effort to get in the door.

Once you get in the door, though, it can be a very rewarding career.

1

There are alot of things that interest me about it, however i'm not 100% done doing my research.I know a lot of good online resources, however i'm looking more into the college route and that is where i'm getting confused.

As someone who has never been to college before, i'm not sure if i can just jump into it or if i need to do 1/2 years of computer science/programming/etc.That's where im getting confused.

I've been looking at stuff from here http://blog.zenput.com/6-steps-to-becoming-a-software-developer aswell.

1

Yes, you can absolutely jump into it. Most (if not all) colleges provides a 101 intro level course. What I recommend to most folks today is to double major or make Computer Science (CS) a minor. The most successful folks I know generally have a passion in another area that is complemented by CS. For example, accounting major with CS minor and then go develop a QuickBooks killer.

3

A lot of people will tell you to start off with something easy, like python. While python is a great language and this is a valid way to start, I recommend learning the very basics of C or C++.

Once you understand C syntax, datatypes, and basic memory management picking up other languages will come a whole lot easier.

2

It all depends what you want to do, but I would say python is the language you should learn first. It is almost natural to write in python, and because it is interpreted you can try stuff out easily. To start i'd get the anaconda or miniconda setup, then you won't have (much) trouble installing packages that you'd like to use. There is also pycharm educational, which has modules to learn different things. once you have the grasp of the language you can decide what you want to do with it, machine learning, data analysis, games, web app, etc.

2

I'd say build a simple app that will take some variables from a simple list of items - maybe like a fruit basket and have it count all the apples, oranges, bananas ... Etc.

I'd do this in say: Java, C#, Python, JavaScript, php and Ruby.

Do this as a browser based challenge before considering an iOS, win, android app.

1 of those languages will make lots of sense to you. If they are all jibberish to you consider making a simple HTML page. If that doesn't work, consider another career choice.

Hello World examples are really simple too and will only provide just enough taste for the language that you really can only smell the coffee and not drink it.

But as others have said, build something. My take on this is build that same something in multiple languages and keep it simple enough that your time invested doesn't get you tied to a language you don't like.

Quick easy big money is Java -- lots and lots to learn before satisfaction actually feels good.

Hipster language is node.js which is basically JavaScript and isn't horribly hard to learn.

Python and Ruby are solid solid languages but emoyment mileage varies.

PHP is the crap on language of the group and has slightly lower pay but jobs are everywhere!

C# leads to .net and the world of MS but even as the dark side don't let that stop you.

1

Im a software developer who has programmed in C#, python, Javascript, ruby, and elixir. I started with ruby and learned some basics. Then I went to javascript and learned some basics. I picked up how to make simple games in canvas which let me visualize what I was coding and how it was working via the browser. When I was able to build a game, I felt better with the concepts (simple games). From that I went back to ruby and continued to learn more concepts and picked up some books.

Having gone through that, I would recommend starting with a very readable language like python or ruby.

Ruby was made in 1995 and has a large community of support. Figure out irb, figure out basics of concepts like data structures including arrays, hashes etc. Move on to learning about object oriented programming via classes. You'll spend less time on bullshit with ruby and more time on learning how to program.

If and when you get proficient, you can easily pick up some C by looking at ruby's Github repository to see how the language was written, since ruby is written in C.

1

Teamtreehouse.com is a really good first start. You pay a subscription of ~30 or so a month, and they have 'learning paths' that are video led courses with exercises that teach you development in your area of choice.

1

You dont actually want this.

Here is 100% of everything you need. Its all 100% free.

http://www.codeblocks.org/

http://www.cplusplus.com/doc/tutorial/

Thats everything you need. Thats more than Bill Gates, John Carmac, or Notch had starting out.

Youll give up within 20 minutes.

1

Thanks for all the well thought out messages you guys dropped me here i really appreciate it.

1

ya shut up and code!

0

First and most important step - understand what you like and can work with it without money, just for fun.

Web - JS (one of the best choice), PHP (not the best, but you never die without bread), Ruby. Mobile - Java, C# Enterprise - Java Gamedev - C++

And remember: without passion and love - no success. You never be a millionaire if you think about money.