I usually dedicate 100% of my spare time to learn to code. In an average, I watch almost 4 hours of tutorials videos on YouTube and I read many articles about some advanced topics which I have some difficulty. But I think that I have to review what I have already learned. I guess I’m making slow progress in my learning despite studying hard. What should I do to improve it? I’m a kind of person who likes to do my own research and writing down on piece of paper important info.
Pick a project to make and do it. Do you have any ideas of what you would like to create? Maybe don’t get too ambitious if this is your first one. You can always add more complexity later on down the road. But ya, stop watching YouTube videos about programming and start doing some programming on your own
So what do you think you want to build?
Hi @Mikael3211 !
A lot of beginners will find themselves in tutorial hell and I went through it when I was first learning how to code.
Bruce is right and that you have to build projects in order to break out of tutorial hell.
Start with something small.
Here are a list of project ideas to get you started:
- create a countdown clock
- create a rock paper scissors game
- create a shopping cart page
- create a tic tac toe game
There are hundreds of things that you can build. Don’t worry about creating some original idea just yet. Right now, you want to focus on building something on your own without a walkthrough video. Then you can build more complex projects later on.
Think about the project and think about the type of functionality you want to add.
Then slowly start to build out that functionality one step at a time.
Even though you are not watching a walkthrough video, you can still google and read documentation and ask questions on how to do certain parts of the application. That is what all developers do.
The muscle you want to practice is learning how to break down a problem into smaller ones and persevere through failing code.
When you are on the job as a developer, you will be running up against problems you have never seen before and learning how to break through those barriers and come to a solution. Failure is not a bad thing because each failed attempt will lead you one step closer to the correct answer.
I can’t tell you how many times I have tried something at work and after the nth attempt I finally got it working and was able to build out that feature. And I ended up learning so much in the process.
Building projects on your own is tough at first because you will run up against a lot of problems and it can be discouraging. But if you stick with it, research what you don’t know, and ask questions in the forum, you will come out on the other side a much stronger programmer
@bbsmooth thank you my friend. I will follow your advice. I’m thinking about creat a health care webpage or something related about health issues. Yes, I guess I’m absorbing a lot of info by watching a lot of video tutorials on YouTube. You’re completely right, I really have to creat my projects and consequently improving my weak points. Thanks a lot for your answer.
@jwilkins.oboe thank you very much for your wise advice my friend. I will start small and then in the future create some a little bit complex. I think when started to get involved in programming is like an airplane pilot, firstly I have to study hard and then practice in small aircraft simulators and get hours of experience piloting small planes until getting into a huge Boeing. I think programming is like this. Start slowly and small until get into something more complex. Right? I hope I hope I’m right. Thank your advice
It may seem counter-intuitive, and perhaps it won’t work for everyone, but I suggest that you think about starting with a BIG project, not a small one.
And do something that is interesting to you personally, and is NOT a ‘standard’ off-the-shelf beginner project.
I’m working on a python project right now that I don’t know how to do - there’s lots of parts that will need to be integrated in the end, and I’m not sure how I’ll do that, but every couple of days I have accomplished something - a baby step - that shows progress towards my goal. Usually it’s a little bit of the puzzle that works as a standalone program, and perhaps not too interesting on its own.
I have a TON of photographs, including scans, from Europe, Britain, Canada, US, Mexico; dated 1890s to this year; animals, birds, insects, plants, people, places; poor, OK, good, and excellent (!) quality.
None of the information is reliably captured in the image metadata. Well, apart from scans, date is.
I want to pass my pictures on to my children and grandchildren, with information that will allow them to sort and select.
So the program I’m writing will take information from a spreadsheet I’m creating, and do two things:
- write the information to EXIF and IPTC (metadata) fields in the image file
- create a caption band below the image, and write the data there, so that it is visible when you look at or print the picture.
Here are some of the baby steps I’ve accomplished:
a. read data from a text file exported from the spreadsheet (csv - playing also with JSON)
b. read and write data from/to EXIF and IPTC fields
c. calculate the size of the caption band, and the font size, to accommodate the data to be written
d. at the front end, create a simply menu to allow the user to select which pieces of information will appear in the caption band
e. add a caption band with data - and store the size of the band in an IPTC field
f. remove/overwrite the caption band
g. give the program an ‘audit’ mode that writes the information to a text file so I can check if I mistyped something in the spreadsheet.
The first iteration of any baby step may have hard-coded data, and no user functions. But before it’s considered ‘complete’, it uses only external or passed data, and has as much functionality as possible written in functions, so that it can be integrated with its parents & siblings.
I liberally incorporate code snippets from people who know what they are doing - for example, all of ‘my’ image-related code has been copied and customized from various websites where real developers have posted tutorials.
It’s harder work than a ‘standard’ project: I needed to write an end-user spec first, rather than using one written by someone else; and in spite of borrowing code from other people, there’s nowhere I can go to find the overall ‘logic’ of the program - I need to figure out all of the high-level implementation stuff myself.
I hope that some of the experts may jump in here and critique this idea. I’m always willing to learn, and have no illusions that I’m doing things the best way.
Start coding in real life. Now that you learned perfectly the basics it’s the moment to enter the real world and face real problems during the software development process.Do you know what you would like to create yet?