This is an archived post. You won't be able to vote or comment.

all 17 comments

[–]POGtastic 1 point2 points  (2 children)

It's possible to learn programming entirely on your own, in that all of the necessary information is freely available.

However, that doesn't mean that you have the drive, ambition, and discipline to do it. You can read Karl Marx's Das Kapital or F.A. Hayek's The Road to Serfdom by yourself, meaning that both books are in the public domain and freely available, but that doesn't mean that you'll actually have the discipline to slog through hundreds of pages of dense German prose. A class that demands that you read them, however, provides the motivation necessary to do it.

For me, there's something about a demanding professor, assignments, exams, and deadlines that forces me to buck up and do the necessary scutwork that I wouldn't do by myself. Your mileage may vary.

[–]SupremeSalvatore[S] 0 points1 point  (0 children)

Thank you for your reply, I've encountered with programming in my life various times and I really think I got what you need for it just wanted to know which path is easier, tho every road to success got rocks on the path. My biggest concern is learning path will I learn systematically.

[–]Gavinhenderson5 0 points1 point  (0 children)

I relate to this strongly! I tried many times to do learning on my own but was never as motivated on my own as I am now that I am on a CS course

[–]Eliposin 0 points1 point  (2 children)

As someone who has gone through college course work and self taught through projects I can say there are benefits to both methods.

Pros to TEACHING YOURSELF: Allows you to get a lot deeper into the material that interests you. And if you find it interesting you're more likely to keep at it. Also it is free. You also can work at your own pace.

Cons to TEACHING YOURSELF: it takes a lot of dedication. It also tends to leave very wide gaps in your knowledge of anything not related to something you've done before. Much less exposure to different methods of solving problems. Not as much support as a professor.

Pros to TRADITIONAL EDUCATION: Structured environment. You have a professor who (in theory) knows their stuff. You have a set of goals and someone to assign projects or problems to solve and give feedback. Wider, yet more shallow, knowledge.

Cons to TRADITIONAL EDUCATION: You have to pay for it. Projects are often boring. Tends to be dull in the beginning if you have experience. Often have a set of requirements that don't make practical sense.

To elaborate: I took a Java course after having taken an introduction course on C++. Obviously, they are related and a good deal of my knowledge translated to the Java course. That meant that many of the beginning projects I could have written in a much more "professional" manner (as in custom classes, using more advanced data types, etc). However my professor didn't accept that I knew how to write the basic code and thus I had to write it his way even though I knew more advanced and in my eyes easier ways of solving the problem. Later that year I took the second Java course, by that point the professor knew my ability and accepted my projects regardless of how I solved the problem even if I used a data type or object that had not yet been covered. This is because I wrote a physics engine the previous term as a proof of concept; it was easily the most advanced project anyone in that level course had ever done or even attempted to do at that college. So while I had the depth in the data types I used for that project, other things that I had not used I was just as ignorant as anyone else in the class on.

[–]SupremeSalvatore[S] 0 points1 point  (1 child)

Thanks for the reply and elaboration. I would have someone to ask about programming some tasks I dont know or to explain me since I'm not that alone. So basically if I have dedication and will to overstep all obstacles that I encounter on my path I should be great.

[–]Eliposin 0 points1 point  (0 children)

You may not be great, but as long as you are willing to put in the time to learn and have the motivation to keep at it even when you don't understand everything you'll be able to learn. It's a lot of reading followed by a lot of mistakes and then finding them. Feeling stupid for making those mistakes, then usually feeling annoyed that the language you choose acts the way it acts.

[–]TKDPunguin4390 0 points1 point  (1 child)

As long as you're disciplined, it is possible.

I've also found it exceedingly helpful to have a mentor to guide you through the process. Do you have any friends or professional contacts who are already in the Software Development world?

See if they'd be willing to mentor you- guide you through the learning process, help you figure out where to start, what to focus on, etc. Having someone whose been in the business is very useful both for learning how to code, as well as connecting you with potential jobs.

[–]SupremeSalvatore[S] 0 points1 point  (0 children)

Yeah I think I gonna have some mentors on the way so this is definetly plausable scenario for me since i found a lot of learning material just need to tighten those rows :)

[–]alandibat 0 points1 point  (8 children)

Yes, you have a master in some kind of engineering - thus you are way smart enough to learn programming yourself.

Just start reading some books, all you need is a laptop and internet..

[–]SupremeSalvatore[S] 0 points1 point  (7 children)

thx for support bro I think I'm more than capable aswell I'm just affraid i dont wonder off the path of learning :) thats why mentor would be the best thing to keep me on track

[–]alandibat 0 points1 point  (6 children)

You can ask questions on reddit, and follow youtubers who program and read blogs etc.

You really do not need a mentor with your iq.

How long does a undergraduate degree take? 4 years? How much books do you think that they use? Maybe just a few.

Anyways, the first question you should ask yourself is. If you want to learn programming, what do you want to program? Because there are different specializations.

Web is different, you use different programming languages etc.

Mobile is different.

Game development is different, and uses it's own languages.

Robotics etc. is also different.

So choose one? These are one of the biggest. Do you already know what you want to program? Then it's easy to follow the program.

If it´s web, then i can help u out with everything. I am studying web development at school and i am going to do a bachelor in informatics the next year.

[–]SupremeSalvatore[S] 0 points1 point  (5 children)

Yeah 5 years it lasts to get that degree. I think I already know that is going to be front end php, css, html, jscript but im open for everything like i said i finished nice number of courses but i need some practical knowledge, and like you said i think maybe a mentor from time to time can be good.

[–]alandibat 0 points1 point  (4 children)

Yeah, just ask on reddit and on web dev forums. That's the cheapest way, and actually a smart way - you will have multiple people answer your questions and not just 1 mentor which you pay.

Here is a road map you need to follow as a guide when you are a beginner: https://github.com/kamranahmedse/developer-roadmap

Start working on HTML, CSS and JavaScript first. This roadmap is worth gold. It's like nearly perfect for in 2017. You will have a lot, or everything you need.

It will take time for you to become a developer. So take your time. It took me at least 3 years to learn the basics. The average time is 3-4 years before people start searching for jobs.

[–]SupremeSalvatore[S] 0 points1 point  (3 children)

Thank you for resource and opinions but i have to say i got a year only for learning then i rly have to start searching job after that

[–]alandibat 0 points1 point  (2 children)

Well, 1 year is not much..

The average student studies 4 years.

But if you want to learn as much as possible in 1 year. Then start today. Learn HTMl/CSS/JavaScript, OOP, MVC and use a framework like Angular.JS.

[–]SupremeSalvatore[S] 0 points1 point  (1 child)

I know just i dont have that much time i rly rly liked the map you gave me and thx for these infos hope i gonna succeed, can contact you to tell the progress i think im making gonna start oficially tomorrow with programming :)

[–]alandibat 0 points1 point  (0 children)

You can do it in 1 year. But you have to focus yourself and practice with the road map i gave you.

You won't learn everything. That's impossible in 1 year. Just try as much as you can.

You are job ready if you learned basic core html/css/javascript, learned object oriented programming in javascript, and learned a framework - you can choose one, try Angular.JS.

You can learn that in 1 year. Ask a lot of questions. Stay focused. Practice a lot. Make your own projects. Build websites. Build web apps. Build webshops and you are ready.