My problem is that even though I may be making certain plans on a project it's quickly deviating from it as the work is progressing. The problem is that things quickly tend to evolve in another direction than I had anticipated so the entire plan is rendered moot. The other thing is that the code is starting to stabilize late, i. e. after so much work that I have put into it, and before that things tend to change in quick succession (the problem of any Perceiving type: While we are at a given task we tend to notice a lot of alternatives, some of which are better than what we initially have had in mind so we are going to adjust things). However, the thing that turns out to be most fatal is being highly scatterbrained: Any outside stimulus is capable of completely disrupting your line of thinking, even to the point that your work is taken an unexpected turn into an entirely different direction. Again any previous plans are rendered useless this way.
1) Stop choosing a language before choosing what you want to accomplish with it. It's like saying "I have a rake, and now I'm going to chop down a tree." 2) Stop relying on PEMDAS. Use parentheses liberally. If someone else is reading your code, lack of parentheses makes your INTENT ambiguous. It's easy to look at code to see what the result will be, but it doesn't tell me what the intention was - it could be wrong (and often is). 3) Stop #including code and functions you have no understanding of. At the very least, read a man page or equivalent to figure out what the consequences of using such a construct/module/library is. For example, quick sort is great for data that's not well sorted, but it's awful for things that are mostly sorted.
I'll recommend this channel to all of the Self-taught Programmers and to all newbies! This channel is one of the reason that's why i got my first Web Dev Job!
Since doing Git Branching, I've certainly overcome my fear of making mistakes. As mentioned in point number 3. Git itself is a crucial part of software development anyway. My advice therefore is to learn the basics of Git for even building small and simple projects.
What chapters in the Pro Git book (from the official git website) should I read? Can I get away with just learning the first three chapters in that book?
Sometimes, even when I do problem solving projects, it's hard to plan learning theory time and practice time. Even with the definitions and the context of certain code topics is very rough... so thanks for reminding me the importance of caring about the functionality of things part, Andy. Also, can you do a video on screen usage? I think that topic deserves more attention to every programmer because sometimes they end up compromising their eye health with all the work. Cheers my dude. Great video as always
Pretty good tips. Of course, all the other tip videos you make are great. I love how practical they are. More importantly, I love how they show what programming is really like and what I can expect as I learn and progress.
One pragmatic advice I got last time in job was a bit connected to your point "have a plan". When planning what to solve there are more than often elements of problem that you don't know answer to. It's good moment to write down questions to oneself in order to see bigger picture and understand the situation.
Another great video, sir. I will begin practicing my question asking technique; I can see how important it is. As a new self-taught programming learner, one thing I tend to do is lose track of my work-life balance. This may be a mistake to consider mentioning. My original plan was to get 10 hours in front of the monitor time a day, 7 days a week, but my brain was always fried. I have dropped it to a minimum of 6, and shoot for a maximum of 8 varying what I work on, from time spend learning java coding, Github, Blogs, and supportive videos like yours. Thanks for being a part of my transformation.
Great video and great points - demonstrating how I troubleshoot and ask questions was one of the main things that got me the programming job I have now (as well as hitting like and subscribe, of course!)
Hey @AndySterkowitz I really appreciate your videos! I'm making a lot of the mistakes you're pin pointing here so thank you for shedding light on why I'm finding so many road blocks. Need to work on those.
Excellent! I always felt that I need a mentor to help correct my directions each time I go in wrong way. I think I found one! And yes the planning part, I have had worst experience with coding a project because I didn't plan it through in the beginning and jumped directly on coding. It was the first and long 6 months project for me, obviously made a lot of mistakes. Although the project is now in production, yet to learn coding at practical level.
Regarding asking questions, it’s also very helpful to keep the XY Problem in mind. From Wikipedia: “The XY problem is a communication problem encountered in help desk and similar situations in which the person asking for help obscures the real issue, X, because instead of asking directly about issue X, they ask how to solve a secondary issue, Y, which they believe will allow them to resolve issue X on their own. However, resolving issue Y often does not resolve issue X, or is a poor way to resolve it, and the obscuring of the real issue and the introduction of the potentially strange secondary issue can lead to the person trying to help having unnecessary difficulties in communication and/or offering poor solutions.”
Planning: Reminds me of the times where I'd start with the client login form before realizing that I need a register page first. And then before that a backend route, then a controller, then a model, then bcrypt, then testing with Postman......
There are many, many contexts - not just programming - where the question of "what have you tried so far" is absolutely crucial to a person providing help, because they can't get started without that information. And it's very good to be proactive providing that context when asking for help because it's very difficult for the person to respond with "what have you tried so far?" without it unintentionally coming across as condescending or evasive, and that starts the whole dialogue off with the wrong tone.
Rule 1, sounds like those elitism from Stack overflow. But it make sense that beginners shouldn't depend and rely on random strangers to fix their codes. Rule 2, this is most important thing any programmer should learn
About imperfect code: some code written by the Programmer of the Universe appears to be imperfect (e.g. a percentage of newly formed proteins is made wrong and has to be thrown out of the cell). This turns out to have a purpose (other cells can tell when a virus invades, because the cell starts throwing out malformed virus proteins).
I have established a startup tech enterprise and tech training center that takes maximum 12 person in Africa GUINEE. Am a self taught programmer with more then 30 skills but master in non . I have fine it difficult getting visa to go abroad for study therefore I believe If I can teach people everyday that will push me to learn everyday. I want to develop a new planet that would be independent and self repérable. Where do I need to focus and what tool I need to get acquainted to. I love Python. What’s your advice
hey first of all kudos to your videos its amazing. Just a small suggestion if possible segregate it in playlists so its a great reference. Can you please make a video on an efficient way to learn DSA?
Can u make a video tutorial on how to make a developmental plan and how long should one spend on staying on certain steps of the plan? That is one of major things I tend to skip and it always bites me midway like "okay, I've never been this far in making software, whats next? How will I do this and that (I'm usually stuck at dashboards, I really don't know how to start)"
Number 5 don't be afraid to learn new things. Your a beginner you don't know everything. This number actually becomes number 1 as you progress through your career. You will never know everything
Thanks for this video. Something that happens to me is that I've never asked a question anywhere or to anyone (other than Google). Whenever something doesn't work I just see it as an opportunity to learn more. And I sort of enjoy the pain of going through that process. I suppose I'm developing a bad habit, though. I mean, if I ever get a job in the industry, I should try not to get stuck in a problem, as that would delay everything. Any thoughts on that?
This sounds good to me...it's important to develop the skill of digging through the internet to find what you need BUT it can 10-100x more time efficient to seek out someone who is more skilled/experienced and just to ask them. Finding those people whether it is a group/mentor can help to accelerate your timeline more than anything else.
Hi, not sure the best place to ask this but... I recently failed my computer science degree (cant continue as student finance wont cover any more years for me). I still want to continue programming and find a job, but I feel as if employers will look at me worse than someone who never went to university in the first place. I was wondering if you had any thoughts/opinions on this, do I still have a chance?
why don't you say ;'f..c the job', i'll be self employed? You may have 'failed' computer science degree, but what you have learn so far outweigh most people knowledge anyway. Why don't you create a game? Why don't you program an application? You may have to accept a low job first to make your months ends, but...
I have been out of the industry for awhile because I did not have the newer skills that was desired. I had tried to acquire newer skills several years ago but that went nowhere. What do you recommend for someone that does have some background in programming but lacks the newer skills desired?
Hey! Andy, Alexander here, please just a quick question, is building a project like a website(full stack), from an old tutorial with some deprecated resources and codes, where there is need to update to newer versions of resources and find new code representatives, can this be classified resourceful and productive and a good way to get it going on a good pace, cause I've been all about this and debugging deprecated tools, codes and functions can be very stressful, so what's your take on this??....
@@bryangk42 Happy to hear you. Don't make a mistake, I heard about scrimba, only heard about from channels. Can u tell about the documentation of react vs scrimba.. In react documentation everything it's covered, in scrimba how it's about react. Else documentation is hard to study..
@@kader8811 The scrimba tutorial will explain how to use react using examples and letting you write code along with the instructor. Documentation for react is excellent but won't give you the practice it takes to get good. My advice would be to go through scrimba react tutorial then build an app using react, like a to-do or expense tracker.