What's new
Carbonite

South Africa's Top Online Tech Classifieds!
Register a free account today to become a member! (No Under 18's)
Home of C.U.D.

I want to learn to code, what advice can you give me (please).

souljazk

VIP
VIP Supporter
Rating - 100%
121   0   0
Joined
Jul 4, 2014
Messages
5,245
Reaction score
1,636
Points
7,855
So in a nuthsell I'm 32, been in IT for just over 10 years, the last 4 years on my own acting as an outsourced IT manager / team to ~12-15 business clients. I didn't finish matric and there wasn't any $ for me to study post school, but I taught myself everything I could & got a IT job in the 'Tech Cave' at an IT retail co for 2 years, before my manager recommended me to a national company who serviced the home & business market, where I learnt more on the network side etc over 3years.

So now, I want to learn to code, not only for my own nerdy interest, but also I feel it will help me automate parts of my business (eventually) and hopefully in 3-4 years I'll be able to go back to corporate, but as a coder while I have 1-2 guys run my current business. I would also consider working remotely , coding for a company if such a opportunity comes along down the line.

I'v started with Code.org's "Pre reader" (lol) classes upto the point of where they show actual code , which I'v memorised & write out in NotePad++ , before checking inside of the Code.org lesson IE below. So far I'v been spot on 97% of the time, with the only initial errors being that I forgot the 'for' a few times, and the space before the { in the 1st line.
----------------------------------------------------
for (var count = 0; count < 4; count++) {
moveNorth();
MoveWest();
Collect();

}

##& things like

for (var count = 0; count < 3; count++) {
moveRight(50);
jumpUp(50);
moveLeft(50);
}

for (var count2 = 0; count2 < 3; count2++) {
moveleft(50);
jumpUp(50);
moveLeft(100);
}

/*
jumpUp(50);
*/

-------------------------------------------------

TL;DR - I want to learn to code, I have no real clue yet as to if I want to go into frontend, backend, fullstack or what ever else there may be. For now I feel that learning Java, Python and HTML will be a good start, what are the actual coders thoughts? I can dedicate 1.5hrs 6 days a week to this, which I'v been pretty good at for the last 2 weeks. This equates into ~470hrs by the end of the year.
 
Last edited:
As far as tools go, get yourself Visual Studio Community 2017. It’s free and Visual Studio is an amazing IDE.

Also get yourself SQL Server and SQL Server Management Studio for databases.

As far as fronted or backend goes, I’ll absolutely say get into both. It’s always good to be on both sides of the fence.

Language-wise Python and Java is among the most popular for sure, but also highly saturated and very old languages. I would recommend more modern web languages. C# is good to learn. MVC 5 and ASP.net Core is great.

Ruby on Rails is also great for web apps and even websites. Some huge sites like Twitch, GitHub, Shopify and Hulu is built with Ruby on Rails. It has become quite popular over the last few years.

JavaScript is a must learn. It’s used everywhere and you can do so much with it. I do prefer not to use too much JavaScript though. It can become a performance hog and it’s easy to manupulate in the client-side by someone that is a JavaScript expert. To overcome this, learn node.js. It can execute JavaScript outside of the browser. It’s become popular to use node.js for backend services.

If you do want to learn C# drop me a PM and I’ll point you to some great resources to get you started.
 
Your approach is good.

Do not be too concerned with which specific language you learn now. Remember, you are learning to program. Which is a lot more to do with principles and methods of doing than it has to do with specific languages.

Any programming book worth half a teaspoon of salt would first explain a principle, before it practically illustrates such a principle in practice.

I recommend you find a good book, and work through that. Books are the food of knowledge, and with programming it is no different. A great book that most first year students get is some form of "Starting out with C++". It is nice and thorough, and coupled with some googling on your part it should get you fast tracked to becoming a programmer in no time.

Start early with studying design patterns as well. There are tons of books out there, choose one with a cool cover? After that you can get into more methodology and collaboration tools. Knowing these tools have become extremely valuable in the work place. It especially apply to you, as someone who aspires to work on a team, from home...

As to languages. I am currently the most proficient with Python. The language is huge, and extremely popular at the moment. If you plan to be a good programmer, read competent, I would urge you to learn Python as your primary language. But, I am obviously biased. You can get a door into every sector with python. Relatively easy to learn, tricky to master.

We made a company decision to move over to Angular (web tech, javascript at its core) this year. So that is my next hurdle. Already have a cart full of Amazon books on the way.

Good luck, and you are welcome to shoot with any questions you might have. Looking forward to check your progress.

edit: scripting and automation is a nice entryway into some more serious stuff. Dedicate one or two of those committed days to programming something fun for yourself... Such as a script that organises your Downloads folder... Or calculates your total youtube watch time for the month... Eventually you can expand on stuff like that and create your own little website. Ever expanding. Eventually you can integrate your 'application' into a specific framework. Now I'm tempted to write something to clean my own downloads folder.... Hmmmmm.
 
Last edited:
So my advice? Books, books, books....

In an industry where every fourth oke is a 'programmer'. It is extremely easy to get your word out there, and some people are just not meant to be teachers. With that said, actual published books are infinitely more valuable than PeterPan's blog on "How to make asynchronous calls in javascript."

(a sentence you will NO DOUBT google at one point or another)
 
@PandaAttack1 Good luck with that Angular. It's a pain in the ass

I have quite some experience in Angular JS. So fortunately it is not a brand new thing... But eish, refactoring... I mean essentially rewriting our entire framework from angular js to angular... The sooner I start the sooner I will be done I guess.
 
@LaidtoRest_ZA
Thanx for the info! Will def grab VB CE. Flip I last used VB5 in Std5, wish I'd stuck to it :p Grabbed BV CE over the weekend but haven't had time to take a look. ASP.net was also recommended to me by a programmer friend, I think for now with my almost 500hrs planned for the year, I'm going to stick to Python3, HTML (will help with my work as Im often asked to do websites, but end up referring them to a mate) & Java. If I complete the 500hrs before the end of the year, I'll add ASP.net , JScript/Nod.js & RoR as my next languages to learn.

Am I correct in my assumption the SQL is backend? Thanx for your input and for offering to provide some resources, MUCH appreciated!!


@PandaAttack1

Thanx , makes sense to learn why before how, which is very much how I like to learn. A friend of mines bf was in the process of throwing out some coding books, which he has offered to me. Cant recall what they're about but knowledge is knowledge. I'll def be focusing on Python , as I'v seen many jobs for it , aswell as Java.

Great suggestion re trying my hand at my own scripts (something I'v done before for Windows & Mikrotik, by coupling this & that together , trial & error style) . I have an idea for a basic app where essentially I put in a task + time for the task + notification alert (visual & auditory) pretty much ala-pomodoro method, but with variable time's, usually under 1hr, which work best for me.

I'v got a friend coming back from the UK end of Jan, think I'll see if she can squeeze a few books in her bag. THank you aswell for your input & the equally kind offer for me to reach out if I get stuck.


@WEST

Thank you VERY much!!! Will check it out now.

What I'll prob do is ask questions here if I get stuck, hopefully it'll help someone else in their coding aspirations. THanx again gents, MUCH appreciated!!!!

EDIT: This is probably a difficult Q to give a concrete answer to, but realistically what time frame's & competency should I be aiming at, with 500hrs ? I feel I should be able to meet this end of 3rd quarter , but at the same time I dont want to put too much pressure on myself , as I'd rather get my fundamentals solid VS rush them for the sake of hitting my goal & then suffer down the line due to not having a solid understanding of certain concepts.
 
Am I correct in my assumption the SQL is backend? Thanx for your input and for offering to provide some resources, MUCH appreciated!!

SQL is your database where your application / website's info is stored.

Your backend will be written in C# for instance. Your backend talks to your SQL database. Depending on the language you are developing in there are usually a few different ways in which your backend communicates with your database. For instance in ASP.net you can use a controller in MVC, SQL CMD, Web API and AJAX or Web Services and a few other methods as well.
 
@souljazk
EDIT: This is probably a difficult Q to give a concrete answer to, but realistically what time frame's & competency should I be aiming at, with 500hrs ? I feel I should be able to meet this end of 3rd quarter , but at the same time I dont want to put too much pressure on myself , as I'd rather get my fundamentals solid VS rush them for the sake of hitting my goal & then suffer down the line due to not having a solid understanding of certain concepts.

That is a HARD question to answer... Some concepts I've grasped within 20minutes, while others took me weeks of referencing and exercising to get my mind 100% around it.

I guess with ~500 hours you should have a basic understanding of most concepts. Probably not as efficient as most programmers, but you would know your way around a conversation. Definitely be able to write, document and maintain basic programs. Depending on which technology you focus on. Let's say for argument's sake it takes 12hours to work through a book. That 500 hours should give you 10books + exercises. Yeah, you should be well on your way...

EDIT: I think you will be more competent than 60% of programmers out there with 500+ hours of dedicated learning. And that is sad.
 
Following the thread for info and interested sake. Wanted to get into some basic coding myself lately and see where it takes me from there.

So can't really add value at this point, but maybe in the future!

PS - My professional field is something completely different :)
 
I found the computer science lectures on OpenCourseWare really helpful in learning how to actually write useful programs. I got stuck at knowing a language but not sure how to use that to write anything useful. These courses are really good. Its all free too.
 
Hey bro,

Bit of an information overload,

Try this course - CS50: Introduction to Computer Science

Reading my post again it seems a bit rude.

Let me explain the above, in my experience this is a free Harvard course which is run through the platform edx. They explain coding from a binary point which gives you a really deep understanding of the base level operation of a computer and the foundation for building your future software.
As many above have mentioned, the concept knowledge of programming is key and that is why CS50 program is great as it teaches from a very deep level.
 
Last edited:
Since you are at a high enough position to delegate, I would recommend just focusing on back-end.

I like logic. I hate tedious tasks.

So due to you being a manager, I think you will also hate tedious tasks.

You write the cool logic; assign a junior front-end pleb to do the rest - profit!

If I have to develop a screen, the logic consumes only like 10% of the time spent. The rest of the time is spent finding the perfect blue for your submit button or getting stuff properly aligned for different screen sizes etc.
 
I would start with something like C# into JavaScript

WHY? much easier to learn the others once you have C# down, however going from python to C can be a bitch.

SQL is a MUST MUST MUST


Good luck. And best tip: Just keep doing it.
 
Keep on going bro. The awesome thing about development is that you will continue discovering new things. I've been into it for over 10 years and I can honestly say that the learning will never end!

Have a goal in mind. Learn what you need to learn. Achieve the goal. Set new ones. Keep going.
 
I'm a Computer science Game Dev 3rd year student and I guess my advice would be to pick a language (maybe C#?) and just stick to it. Do things that you're comfy with and if things get rough just give it time. As long as you're working you ARE learning, even if you don't feel like you're making any progress.
 
I worked in JS for years... then I quit my job and started working for myself. First thing I did after becoming unemployed was learn C#. I have not touched JS since...

To go from a paid job to unemployed and the first thing you do is start running your business in a language you have never used before you know you have good learning material when you do this and never look back... In my case it was this site: C# Fundamentals

I later decided to learn PHP and did so using w3school.com

Between those two any n00b is set since they spoon feed you everything from the basics (How to display "Hallo world" on screen) to the truly advanced stuff (polymorphism, abstract classes vs interfaces, delegates and events etc)... but once you get comfortable with C# then MSDN is another good source of info. Much more detailed than BlackWasp, far less n00b friendly though...

Between those three sites you should really be all set to go from zero to hero, bru!
Good luck!
 
Even the best of developers learn something new all the time.
So true... so often I face problems and I come up with really clever solutions... then a few months or year or two later I learn what I did is actually "a thing" and there is a name for it :p Who knew? 😱 Never too old to learn 😅😜

What is really annoying, though, is that everything can be done in so many ways it's just not funny... so I come up with a workflow, it works, it simplifies my life tremendously, then someone comes along and says "That is called an observer pattern and you are doing it wrong. This is how you SHOULD be writing your code so it fits with this and that person's definition of The Right Way"... then they continue to nag me to change the system I came up with to now work according to someone else's format. I say humbug!

Standards are there to help you but if ppl don't push the envelope then nobody will ever have anything new to learn... Learn, improve, teach, repeat.
 
I would start with something like C# into JavaScript

WHY? much easier to learn the others once you have C# down, however going from python to C can be a bitch.

SQL is a MUST MUST MUST


Good luck. And the best tip: Just keep doing it.



I agree with learning one of the C languages at first, as it is easier to go from one version of C into another, C++ is difficult to start with though.
C# is a really really well-designed language, easy to understand.
I can say this, as I have recently moved away from Embarcadero's DELPHI! When last have you heard of that one?
Visual Studio is a must!
C is another one that is a need to know.
Considering Java is derived from C++, you won't have an issue if you have learned one of the 'C' languages.
useful websites:
w3schools
StackOverflow
microsoft.docs for C#.

A long list of books is listed for free on Github:
Ebooks - GitHub
Partial eBooks library in zip format - Github


I realize that you posted this a while ago, so I am interested to know where you ended up souljazk ?
 

Users who are viewing this thread

Latest posts

Back
Top Bottom