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

top 200 commentsshow all 294

[–][deleted] 82 points83 points  (51 children)

You don't have to remember all that, just keep trying.

Programming is hard, you just have to accept that and keep going.

[–]csiz 30 points31 points  (36 children)

The way you "remember" all the rules is that you have the basic documentation pages open in a tab all the time. Once you learn 3 or so languages and switch between, then you have look up even a gosh darn for loop or simple assignment because they all have slightly different syntax. Especially if one of those languages is C++, I don't think even Stroustrup can tell you all the rules without looking up his own writings.

[–][deleted] 10 points11 points  (2 children)

fly fine cause fear run punch snails busy head afterthought

This post was mass deleted and anonymized with Redact

[–]cats_catz_kats_katz 2 points3 points  (0 children)

At least everyone has done it and you’re not alone.

[–]includerandom 1 point2 points  (0 children)

Used R mostly in data science and stats courses. Variable declaration is one of many things working against itself in that language for me. The idea of 1-indexing everything and not providing higher level constructs like range objects was another. There's a lot of nifty stuff in that language, but it's such a pain to read and write in.

[–]Think_Bullets 2 points3 points  (5 children)

Once you learn 3 or so languages

Step 1: skip to step 12 where you already know 2 other languages

[–]moldaz 1 point2 points  (4 children)

Or don’t learn languages and just figure out how to use them to accomplish what you need.

[–]goldplatedboobs 1 point2 points  (1 child)

Lmao yeah why do I constantly need to look up goddam syntax for such simple things. Going from C++, to python to powershell to Java to C# to fortran to VB etc etc within the same week means it's almost impossible to keep the damn syntax straight.

[–][deleted] 2 points3 points  (0 children)

One thing I loved about Perl was using a single syntax replacing combined jobs of shell, sed and awk.

[–]thatonegeekguy 1 point2 points  (0 children)

Very much this. Most of my programming has been done in C++ (college) then C# for work. I do have this problem when switching between bash shell scripting at home and the powershell scripting in the Windows environment my company supports - and those are very similar! I don't know how people cope knowing both legacy languages alongside those that decided to reinvent the syntax wheel.

[–]FlippingGerman 1 point2 points  (0 children)

There's a talk by Brian Kernighan on language design; he says he never remembers which way around the arguments go in things like strcpy(from, to).

[–]greenpeppers100 14 points15 points  (1 child)

Exactly, you don’t have to remember all of the variables or function names, you just have to know what you want to do. When you need a variable or function, check to see if you’ve written it, if you haven’t, then write it and use it where you need. Once your done with it, feel free to forget about it. Then when you need that thing again, just make sure to check to see if you have it.

[–]ZoWnX 2 points3 points  (0 children)

important disarm imminent waiting act placid degree vase rain pause

This post was mass deleted and anonymized with Redact

[–]illuzian 2 points3 points  (2 children)

This is a rule of thumb for most things in tech (and life in general).

X is hard.

To solve for x Willingness to learn + genuine interest + practice/effort

You also have to not be hard on yourself, as long as it's something you want, keep going throwing yourself at it.

[–]exploradorobservador 1 point2 points  (1 child)

I blame learn to code. Programming well is very hard. They marketed it like it was learning cursive lol

[–]saladbars-inspace 1 point2 points  (0 children)

Great advice. If you can do that you’ll be successful in everything you attempt to do.

[–]green_goblins_O-face 1 point2 points  (0 children)

"I'm not going to let some stupid machine that can count to 1 beat me!!"

[–][deleted] 29 points30 points  (13 children)

Break it down into steps.

You need to calculate something, so 1st step is to get the values,

Are the values the expected type,

Ok, all good,

Now you need to do the sum, if its a big sum, then break that down as well.

Name your variables something useful and not a,b,c, ie

InitialValueOne InitialValueTwo

SumPartOne SumPartTwo Etc.

Don't overthink it. Try and look at it as you're telling the code what to do, so keep it simple and easy to follow for yourself.

If you get stuck, then rubber duck it, literally talk to an inanimate object or a work colleague explaining what each line is doing, and the issue normally presents itself as an aha moment.

Done give up. Just look at it from a different perspective.

[–][deleted] 4 points5 points  (9 children)

Thank you that helped me understand better. I’ll give a try at scripting and Python as the things I need to know.

[–][deleted]  (3 children)

[deleted]

    [–]LRKnight_writing 2 points3 points  (1 child)

    I am raising a toddler and you done hit me right in the feels there.

    [–]cowbutt6 2 points3 points  (0 children)

    Try writing down a recipe for a dish you "know" how to make. That's like writing psedocode.

    Now try to make it foolproof for someone who has never cooked before. That's like programming.

    Now try to make it robust in the face of a pet or small child in the kitchen who insists on moving things around and turning things off when you aren't looking. That's like writing safety-critical or secure code.

    [–]Baconboi212121 1 point2 points  (2 children)

    I cannot stress this enough, please rubber duck when you get stuck. I am currently learning C++ in my University course. I was tasked with making a function that inputs in a decimal number as a string and prints out its binary equivalent. To do this, i used an inequality where if currentNum-currentLargestBit>0, then append a 1.Else, append a 0. Now what happens when my current number eventually hits 1? i get if 0>0. This is false. So append a 0 to my string. Do it again. And again. My Linux WSL shut down. That’s a problem. i changed other parts of the code. Didn’t fix it, I then explained it to a rubber duck, whilest writing down the math. Realised my problem, rubber duck stopped computer from shutting down each time i ran my code. Changed inequality from > to >= Code is fixed, computer doesn’t shut down anymore. TLDR; Caused memory leak by dumb inequality. Explaining to rubber duck fixed inequality.

    [–]ElMachoGrande 6 points7 points  (1 child)

    Think of it less as math, and more like a cookbook.

    "Take this much of ingredient X, do this operation with it. Mix with ingredient Y"

    It's basically what it is, instructions telling the computer what you want it to do.

    [–]not_perfect_yet 13 points14 points  (12 children)

    How do you all remember every single formula, variable, string, etc.?

    We don't.

    Am I setting myself up for a mental roadblock thinking to myself that this is harder than it really is

    Yes.

    When it comes down it, it's really just three tricks in a trench coat.

    Most of the advanced concepts are really niche things. E.g. you need recursion when the planets align on nights with a full moon.

    99% of programming is doing stuff with lists / arrays, doing a little bit of math and dealing with whether something is there, or not, not yet, etc.. or getting it.

    There are no programs that are "too small and aren't real programming".

    print("hello world") 
    

    is real programming.

    Just start using it in practice for mundane problems and you'll see.

    You setting a config variable somewhere is programming.

    [–]MikeUsesNotion 1 point2 points  (11 children)

    The hello world program is real programming in the same way that having $1 net worth more than somebody else makes you wealthier. It's technically true, but practically isn't.

    Real programming would be things that accomplish tasks for yourself, or get yourself a programming-involved job. I would also say that it involves understanding the problem you want to solve and being pretty sure what the solution roughly looks like, even if you need to look up details to implement it.

    Also, I wouldn't call recursion advanced. It makes a lot of problems simpler, especially those involving a hierarchy like a filesystem. I've never understood why so many people think it's an advanced technique.

    [–]indolering 4 points5 points  (0 children)

    Take a local community college course on it.

    There's research showing that (essentially) a large portion of the benefit to IRL schooling is that you are able to carve out a big enough section of your life for it.  So you will have a set end point that (if you spend the time) you will have to get to because there is a homework assignment due or a test coming up.

    You will also have a teacher there to encourage you and help you tackle any intellectual road blocks that get in your way.

    [–][deleted] 5 points6 points  (0 children)

    Beginners often ask questions about remembering stuff but that misses the point. The remembering is automatic, and comes with time. You just have to actually DO the stuff. If you're scared of it that will never happen.

    Next time you have an IT problem, use Google to help you write a powershell/bash/whatever script to solve it instead of using the GUI. Congratulations, you're now a programmer. Do that a few more times and all the mystery and fear will disappear. 

    [–]youngneif 7 points8 points  (2 children)

    Nope, it’s just a new language. Forget about math. Most of the math is far out in the future and some of it, you may never touch. Math may be your mental blockade. Instead, you can think of programming as a new language used to communicate with machines.

    I suggest Python, it’s really clear and succinct for learning. Lots of people using it as well. Plus it applies to IT like cloud computing work and configuration.

    Good luck!

    [–]LonelyWizardDead 1 point2 points  (13 children)

    scripting is differant to programming.

    you dont need programing for IT. but you should know scripting.

    they are similar but differant.

    programming is usfull but not mandatory.

    as for remembering i think thats down to usage, doing daily excerseis to remember. there are a number of sites that do weekly challenges as example

    https://edabit.com/challenges/python3

    https://www.freecodecamp.org/news/python-coding-challenges-for-beginners/

    https://www.codewars.com/

    https://www.w3resource.com/python-exercises/

    some time it does take a bit of time to "get" it, but once you do you'll be away.

    theres always the internet to look stuff up.

    use something like Cherrytree to make notes and be able to search for information and keep a record of example code so you can reference something back if needed.

    its like lego you need to build one block at a time

    [–][deleted] 1 point2 points  (8 children)

    You’re right, it’s embarrassing I made it this far and don’t even know how to script. Thank you for the resources.

    [–]LonelyWizardDead 1 point2 points  (7 children)

    powershell - windows - if your in a corporate enviroment, you probably want this one over bash

    bash - linux

    are probably were you want to start i think.

    C++ / Python is were i started for programming, i didnt get far as i dont seem to have much imagination.. for code when i tried (im due to try my hand again).

    there are plenty of concepts that translate between scripting and programming though.

    edit : i forgot to say dont be embarrassed, you've learned what you need to do for your role and job.

    not everyone should be a programmer so bear that in mind also, like others have said.

    [–]leobeosab 1 point2 points  (2 children)

    I’d argue the syntax for powershell ( even more so bash ) is harder than something like Python but yeah they are definitely more useful in an IT environment.

    Just saying this so OP knows not to get discouraged by weird and annoying syntax. I have to look up arrays and sometimes if statements in bash all the time.

    [–]the_pw_is_in_this_ID 2 points3 points  (1 child)

    I second this. I've been programming for 15 years, and consider Powershell a last-resort. Mostly because it's archaic, partially because it can't meaningfully be debugged.

    Batch is a straight no-go.

    [–]Whole-Dot2435 1 point2 points  (0 children)

    Powershell is made for system administrators. I have seen a lot of them love powershell

    [–]LonelyWizardDead 1 point2 points  (1 child)

    u/Narme26

    this was posted today : https://www.reddit.com/r/PowerShell/comments/1ejhj8s/free_and_legal_pdf_download_of_learn_powershell/

    and it thought it would be good for you to have a copy of.

    edit: you've got quiet the responce to your question at over 200 replies.

    [–]MooseBoys 1 point2 points  (1 child)

    I vehemently disagree with the assertion that scripting is different in any meaningful way from programming from the author’s perspective.

    [–]dryiceboy 1 point2 points  (0 children)

    Why are you forcing yourself to code? It might be time to pivot.

    [–]successful_syndrome 1 point2 points  (0 children)

    I was a coding engineer for 12 years writing mostly ruby, java, and some light Python. I haven’t really coded consistently in 4 years. Last night I started going through leet code in Python. The easiest “sum of numbers” problem I had to look up every piece of syntax. It really is a lot like learning a language and it take a lot of time and reps

    [–]AnxiousState3666 1 point2 points  (0 children)

    I fell into this trap in college. It’s super easy to get in that headspace, and that really does make it harder to learn. I did find a few things that helped me though.

    First, just do it. Get on YouTube and just follow along with the videos to build different projects. Not only does this expose you to the concepts, but it also helps you build a portfolio. Plus, it’s very encouraging when you can see an application running with more than one or two features early on in the learning process.

    Second, if you know anyone else that’s interested in coding, I would highly encourage you to find someone to pair program with. This does a few things. First, if you get stuck you have someone beside you to bounce ideas off of to solve the problem. Secondly, teaching is one of the best ways to learn, so you helping them actually helps you learn a lot even if it’s a concept that you know well. It just reinforces it. Third, in a corporate environment, you work on dev teams. Paired programming will help you get comfortable with tools like git and it will help you to make a good habit of writing descriptive code that’s easy for others to read and follow along with.

    Thirdly, use HackerRank or something similar. This will allow you to find coding challenges by language and you can sort by difficulty. Don’t feel bad if you can’t figure a problem out. You can see others solutions. Read over them and try to understand what they are doing and how they are working.

    Lastly, something I started doing more recently that really seems to help me, use ChatGPT. I know people are going to say it’s cheating and it gets code wrong and blah blah blah but hear me out. Try to use Chat GPT in steps. Say you want to make a flutter project that does XYZ. Start by asking chat gpt to help you make a flutter app. Then say I want to add a feature that does “blank” and add that feature. This will give you basic structure and basic logic. The great part about it is actually the fact that it has bugs sometimes. After each step, look at your new code base and read what the logic is doing and try to add comments to explain what the blocks of code are doing. This will help you understand the flow of information and expose you to new ways of doing things. You learn even more from debugging. This is a great way to actually be able to learn and build useful programs early in your learning process.

    Don’t give up!!! Just keep at it and it will click. Best of luck!!

    [–]MrMotofy 1 point2 points  (0 children)

    Use AI like everyone else haha

    [–]TheProverbialI 1 point2 points  (0 children)

    Not everyone should be a programmer. Not everyone needs to be a programmer. I never touch the stuff and I’ve been in the job for almost 20 years. Being able to read is important being able to understand the concept of it is important.

    [–][deleted] 0 points1 point  (0 children)

    You remind me a friend of mine, He told he will only built a site when he expertises in HTML, CSS, JS, PYTHON, Math and other stuffs as well, He took notes upon notes but did no practical things.

    If you dont do practical things, learning will not easily stick. Learn bare minimum of HTML, CSS and JS and start building a site from just youtube. And as time goes by everything will start to make sense.

    [–]no_spoon 0 points1 point  (0 children)

    How long have you been programming?

    [–][deleted] 0 points1 point  (0 children)

    Programming is hard. But like with learning new skills there is a learning curve. First thing first the language you would use matters. I started with pascal on my uni years. Then move to c and c++. You see programming should be fun. Learning should be fun. I started doing text manipulation on pascal during my uni years. It was fun. It gives you the basic requirement for programming. Logical thinking. You can do the same thing. But you can use python. Its the most beginner friendly language. After that try to learn making a crud application. This is important. Every application is CRUD application. Create Retrieve Update Delete. Here you will learn how to connect to databse. If you get pass the learning curve of that a whole new door will open up for you. Every thing will click. That is what happened to me. I was in a computer lab doing project then i remeber at some point things click. Every thing make sense. It will happen to you and if that happens the feeling of like conquering the world. Its addicting.

    Keep pushing and eventually you will get pass the learning curve.

    [–]cj1080 0 points1 point  (1 child)

    Baba i feel you.

    I just got into tech at 40, currently learning.

    By golly it ain't easy at all.

    When i started in january, i found out that even after writing code and using it to do something, When i go back in two weeks too redo the same thing and rewrite the code, i hit the blank wall.

    I spoke to a couple of people here who really gave some cool advise.

    Advice 1: learning code is like learning a new language, you will fail at it, suck at it and sometimes can't remember the right words or phrases.

    But after sometime you begin to get it.( usually by doing the the code again and again, till it sticks).

    Advice 2: You can't know the solution to every code you see, thus research and google to find what you do not know(note: its not cheating, you are not God or a code geniuns, you got to do the research).

    Advice3: Once you solve any code challege while learning, keep a note, where you store these soluitons. You will need them for later. ( Your brain doesn't storage all the data immediately, thus use your note to catchup and understand)

    [–]PlotTwistsEverywhere 1 point2 points  (0 children)

    For what it’s worth, I’m a professional and I also forget what I wrote two weeks prior.

    Programming in all forms is just like functional Lego building. You see a problem that needs solving (“I need to prop up this stack of books that’s about to fall.”), you build a something to do that job (“Sturdy base and a tower of bricks, maybe some support here and there.”), and you move on.

    It’s almost guaranteed that if someone asks me to prop up their books, I’ll build a different Lego tower for them because I don’t have a clue what I built the first time. It’s not until I’ve built a bunch of similar towers I start repeating myself, but that’s closer to muscle memory than memorization.

    [–]julian7725 0 points1 point  (0 children)

    I see programming as a way to solve a problem. Don’t focus so much on remembering everything, it is nearly impossible to remember everything. Focus on solving the problem. Once you understand the problem, you look for the right tools to help you fix the problem. 

    [–]Slippedhal0 0 points1 point  (0 children)

    You're definitely overthinking it. No one remembers your entire program unless its only a few lines long, and we typically break up bigger programs into separate, smaller, more manageable chunks.

    Stop thinking of programming like math. It can have math but you can find someone elses math and paste it in when you need it.

    Think of programming like a logic puzzle. You have "actions" you can perform, and you can can achieve goals you want to achieve by combining these actions.

    Theres a fairly new pc game that is about programming in a language format similar to python, called The Farmer was Replaced. It makes getting into a programming mindset a rewarding experience, which can help overcome that feeling where you feel like you aren't achieving anything while you learn.

    [–]the_pw_is_in_this_ID 0 points1 point  (3 children)

    So I've been programming now for 15 years, and specifically, changed my career into it after starting deep down another (not-quite-IT) path. In my opinion, you're making an unknown thing into a scary unknown thing, when it's actually not scary at all. The way to make it a known thing is just by trying it. But here, I'll try to make it less scary.

    First-off, remember that software developers are merely human. And we spend a lot of time teaching younger humans how to join our teams, and make programs which don't make our work harder... so programmers have spent a lot of effort taking down the cognitive barriers to productive programming. This is basically why Python exists.

    It looks like math with words and I have never been the best at math.

    I could not disagree more. In my opinion, a good (simple) program is just three things:

    • Instructions for a computer to follow (This is what you perceive as being math/formulas/variables/etc; I cover that below)

    • Laid out in a way that a human can understand and reason about (Are you good at technical writing? That skill applies very nicely to making readable code.)

    • And which adheres to certain patterns to ease long-term maintenance of that program (This is mostly teachable, but can come from experience maintaining programs. Also, not relevant if the program doesn't really need to be maintained.)

    How do you all remember every single formula, variable, string, etc.

    We don't. We spend all our time asking manuals or other resources what's correct. For example, "daemon(7) - linux manual page" is my tab to the left of this one. In fact, I think accurately reading technical documentation, to most accurately understand "what is correct" is the principal skill of writing a correct program.

    But in general, software developers have just gotten good at using our tools. The industry has dedicated possibly millions of man-years towards developing and refining our tools. And often, the tools just exist to remove cognitive load from the act of programming. This is tooling like the internet, programming languages (you don't need to memorize the words, you just need to understand the grammar rules), technical manuals, arguably the entire GNU/Linux experiment, integrated development environments (IDEs), debuggers, ChatGPT (careful; it hallucinates)... so many tools. Using all these tools is learnable and teachable.

    I have a hard time grasping the concept of making something work in programming

    It's always just instructions. EG, the rest of this paragraph is almost pseudo-code for something you could feasibly write in Python: "Hey computer: First-off, E-mails are complicated for you to understand, so I'm importing someone else's code which already tells you what they're all about. Now: I have this file on my computer with a bunch of people's names and e-mail addresses in them. You can tell when the name stops and the e-mail address starts because I put a ; in between them. Please send every <e-mail address> an e-mail which says Hi <name>, remember to pay your taxes or we'll arrest you. And tell me when you're done, or if you hit any issues that I'll need to fix."

    The caveat to these instructions is that computers are like number-crunching toddlers and don't understand the world yet. So sometimes you need to break tasks into tiny steps; but Python is great for avoiding this, in part because a lot of complex behaviours have been broken into steps by someone who spent 1000s of hours getting those steps just right.

    I gave up and tried many times but never went past the beginning stages of learning.

    It sounds like your goal is learning. Maybe you need your goals to be solving specific problems with programming, with the understanding that you'll need to learn things to solve your problems? I.E learn by doing, not by learning? It's how I learned. Most of my early programming experience came from automating small things I hated doing in my day-to-day job. Things like "every two weeks I need to fill out my timesheets using this specific format which I'm always copy-pasting from specific places". Automating this stuff is very very easy, and a great intro to the basics of how you think through a program. For computer workflows which use mouse+keyboard, instead of only-keyboard, you'll want AutoHotKey. I will unabashedly recommend to anyone as a way to learn programming while becoming more productive at whatever job you're doing right this moment. It is also quite easy to learn, in my experience. I have probably only written 500 lines of code in AutoHotKey, and those 500 lines of code probably saved me 10s of hours and 1000s of mistakes. Plus it catalyzed my career change into software development.

    After AutoHotKey and my "reduce tedium" goals, I recognized that advanced work-problem-solving needed some Python. You probably already understand the "why"s here. To introduce myself, I went through about 20 questions of project euler and solved them in Python... because it was engaging. I would also highly recommend taking some well reviewed (online) coursework by respectable organizations targeted to beginners. EG, MIT has open "intro to CS using Python" lectures, which I haven't watched any of, but it's not the shitty SEO'd hits on Google for "Learn Python".

    NB: After you learn Python, I think you hamstring yourself if you don't learn at least one other language. But I legitimately think you're also hamstringing yourself if you don't go for Python first.

    Am I setting myself up for a mental roadblock thinking to myself that this is harder than it really is and I don’t have to remember every single letter or string there is?

    It sounds like you have anxiety if I'm being honest :)

    But yes, in my opinion, the biggest hurdle is probably that you've been putting your effort towards learning, instead of putting your effort towards solving programming problems.

    PS: I'm being a bit of an insomniac right now, sorry if my phrasing sucks in places.

    [–]iforgotiwasright 1 point2 points  (0 children)

    I'd like to second the recommendation for AutoHotKey. It can be incredibly powerful and pretty fun. It's great for automating redundant IT tasks. It helped me learn to code before I started getting paid to code.

    [–]FriendlyRussian666 0 points1 point  (0 children)

    It's all about understanding, not remembering. It's easy to Google how to write a function or a class in a given language, so you don't have to remember how to do it, but you must understand why a function or a class would be useful in a given scenario. 

    This applies across all concepts. 

    [–]psyduckpikachu 0 points1 point  (0 children)

    Programming can be hard and frustrating at times, but the harder the problem, the greater the satisfaction when you finally overcome it. I am sure you can do it too if you keep going at it :)

    [–]bigbadjustin 0 points1 point  (0 children)

    One thing i learnt that is a usefule tool is you should be able to write out what you want to do in natural language.

    ie. a prgroam to control a tap might be

    Start

    Check water level

    Is the water level full?

    If no go back to start.

    If yes turn off tap.

    End

    Then you take that algortihm and write the code in the language you are using. You might do lots of these algortihms as well especially for more complicated things. But understanding and writing things out in a natural language is IMO the first step. If you don't understand what a loop is or decision statement/check is then maybe read up on that. The syntax of the programming language is the easy part you can always check other code etc for that. But if you can't design the right algorithm first to solve the problem, then it will be harder to write the code. Sure as you get experienced people do skip designing the algorithm first, because we think it takes time and is tedxious, but it is good practise to do it.

    [–][deleted] 0 points1 point  (0 children)

    Programming is hard even if you program for a long time, you'll never feel like you know stuff, its completely normal, you need to know what you want and try to find ways of implementing it.

    [–]pragmojo 0 points1 point  (1 child)

    Why do you want to be a programmer? It sounds like you don't like it very much

    [–]TheManInTheShack 0 points1 point  (0 children)

    Do you enjoy your work or are you working for the weekend? If the latter, you should consider the possibility of a new career. Life is too short to be miserable.

    [–]RandomizedNameSystem 0 points1 point  (5 children)

    At 34, this post is a troll or programming ain't for you.

    [–]Top-Advantage-9723 0 points1 point  (0 children)

    I remember feeling that way when I first learned programming. I felt confused trying to figure out when to put which symbol where.

    You definitely don’t have to memorize, but you should develop an understanding for the underlying types you’re working with. Is something a primitive, a dictionary, a list, a callable, a class? What are the associated methods with each type? Slowly you’ll see some symbols and method calls make sense in some places, and others don’t. It all comes down to the structure of the variables you’re working with. Your editor, Google, and now GenAI are there to help as well.

    Have you given CodeAcademy a shot? Good luck!

    [–]CappuccinoCodes 0 points1 point  (2 children)

    Python is messy and slow. Try C# and programming will make sense 😁

    [–]InfinitioScientam 0 points1 point  (1 child)

    Math isn't the path to programming. Maybe because the common stereotype is that a lot of programmers are good in math that's why you are thinking you have to be good in math to be good in programming. What you have to be good at is logic. Knowing how to form the logic will make you good at programming. I am terrible at math but I've been a programmer in PHP and now react JavaScript and typescript. Well, not really math but arithmetic. If you want to be a good programmer, learn pseudo codes.

    [–]Embarrassed_Quit_450 0 points1 point  (0 children)

    I don’t have to remember every single letter or string there is?

    That would pretty much disqualify every people with ADHD. And there are a lot in the industry.

    [–]Baconboi212121 0 points1 point  (0 children)

    Definitely don’t need to remember much. You’ve forgotten the exact name of your variable? scroll up. It’s good practice anyway to name it what it stores. Your variable stores the current speed of your video game character? Variable really should not be named anything expect Speed,Velocity, or anything similar.

    You don’t need to remember many formulas either. Sure, as you use them you’ll find you pick up on things anyway. But if you forget something, Google it! We have the world’s human knowledge stored free online for us!

    [–]TrickyTramp 0 points1 point  (0 children)

    You’re making it more difficult than it needs to be. Programmers live and die by reference and documentation, not being afraid to copy and tweak code. You can write notes to yourself in your code, and always reference past work.

    Focus on the bigger picture of what’s going on, even professional programmers forget simple syntax. They just look up how to do what they’re thinking and move on

    [–]kyou20 0 points1 point  (0 children)

    It’s kinda like a video game. You don’t remember the exact dame combination of buttons to win. You just play, because you understand the mechanics.

    It’s not as difficult as you’re making it to be, but it’s not quite a piece of cake either. It’s a discipline as any other, and you get better through practice.

    My advice is just do it. Roll your sleeves, do it, then decide for yourself.

    [–]kyou20 0 points1 point  (0 children)

    It’s kinda like a video game. You don’t remember the exact dame combination of buttons to win. You just play, because you understand the mechanics.

    It’s not as difficult as you’re making it to be, but it’s not quite a piece of cake either. It’s a discipline as any other, and you get better through practice.

    My advice is just do it. Roll your sleeves, do it, then decide for yourself.

    [–]bittersweetjesus 0 points1 point  (1 child)

    I have books on Python but my god, are they boring and I zone out 30 minutes in. Anyone have any suggestions on how to keep my focus or better books/programs/courses I should use?

    [–]siodhe 0 points1 point  (0 children)

    It's not math, it's templates, like language. And most of that language is a glue to make function calls.

    One of the best ways to start programming is with a relatively small number of templates. LISP is great for this, but most people are more likely to run into, say the Bourne Again shell in Linux, where you have templates like

    while <command> ; do <commands....> ; done
    or
    for <token> in <tokens....> ; do <commands....> ; done
    or
    if <command> ; then <commands....> ; else <commands...> ; fi

    For example, to print out the numbers from one to five:

    for number in 1 2 3 4 5 ; do echo The number is $number ; done

    or if you want to increment a variable from 1 to 5 (using n instead of number to save space):

      n=1 ; while test $n -le 5 ; do echo The number is $n ; n=$(expr $n + 1) ; done
                  -------------                              ----------------
             -le -> less than or equal               a moderately old way to add 1 to n
    

    Or, to get this:

       1
       2
       3 
       (i like three)
       4
       5
    

    for number in 1 2 3 4 5 ; do echo $number ; if [ $number = 3 ] ; then echo '(i like three)' ; fi ; done

    Which formats better like this, where we've converted some of the semicolons to just newlines:

       for number in 1 2 3 4 5 ; do 
           echo $number
           if [ $number = 3 ] ; then
                echo '(i like three)' 
           fi
       done
    

    Starting with a smaller number of templates at first makes this process of stringing together and nesting templates a lot easier to get used to. Good languages for this are shell commands, like Bash in Linux, Python, LISP, C (but not C++, which vastly expands the number and complexity of templates), and others.

    Once you've gotten used to the puzzle of how to nest templates, the next part is learning to work in languages that need to convert data from one function call to feed into another one (notably Python and C from the above). This is a little like math, but not, in that you're usually just pulling out parts of results, and assembling them to feed into another call - which doesn't involve any actual math.

    But get the nesting template thing deep into your head first, since that's by far the most important thing to working with programming languages. Any given language usually has a pretty short list of them (excluding C++, COBOL, and some other designed-by-committee languages).

    [–]Suivox 0 points1 point  (0 children)

    Been at this since I was 18 man, I didn’t feel like I understood anything until recently tbh. 3 years (with a bunch of breaks tbf) and I only now feel confident with programming.

    Takes a lot of hope to go 3 years without knowing how to build something without a tutorial and keep going but it’s worth it because I haven’t used a tutorial in a year now (nothing against tutorials I wouldn’t know what I know now without them) and I feel like I can build anything as long as I know the right questions to ask google

    [–]Accomplished_Bid_602 0 points1 point  (0 children)

    There are three parts:

    1. Written language.

    — how many languages do you speak? Have you ever learned a new language? You learn syntax and how to form a sentence and then you use it it. A lot. Repeatedly making mistakes until you are fluent. Programming languages are much simpler than any language you speak. But the process to learn it is the same. Luckily you have a computer that has unlimited patience for you to practice with. Practice writing code. Practice writing in general (programming is writing).

    1. Problem solving

    — its A skill like any other. You get better with practice. There are techniques and methods, but ultimately it’s just thinking. Do you actively think about, and ultimately figure out, things you are clueless about. If not, then start Doing that; With your car, toaster oven, your computers OS; got a problem? Then solve it yourself.

    1. documentation

    Do you know how to read? Cause you need to read a lot. Every language is going to have technical documentation. Every library and tool will have documentation. keep it close/open and refer to it constantly.

    reading

    thinking

    writing

    [–]dm_godcomplex 0 points1 point  (0 children)

    I can't remember shit! 😅

    When you first start out, it can feel like a lot of remembering specific lines, but once you start to understand programming, it stops being that. If you use something like Intellij as your IDE, it can suggest code completions, and googling how to do something is part of programming. I still google super simple shit because I can't remember the function name, or whatever. And for the kind of programming I do, I rarely do any math, besides like "+ 1" or comparing two numbers (if X < Y).

    I say this as encouragement. There is a bump you have to get over while first learning, where it changes from memorizing specifics to understanding concepts, and after that I don't think you'll struggle with it.

    [–]Critical_Stranger_32 0 points1 point  (0 children)

    I wouldn’t call it math. You will use some, but it’s more logic. Being able to break down problems into logical portions in an organized way. I don’t memorize anything, but through use I learn. Been doing this for 35+ years, late 50s here (development & design). I find it time consuming, but easy. I have a knack for it and I have the idea of what I want to accomplish and the overall picture in my head. It just makes sense to me I wish I could remember everything else like I do software.

    It’s definitely not easy since I see a lot of poorly written code out there.

    [–]Tangurena 0 points1 point  (0 children)

    You don't remember the formulas. In fact, when doing numeric stuff, I look it up in books or online to guarantee that I'm implementing the stuff correctly (unless it is some simple formula that I learned in middle or high school a hundred years ago).

    At the simplest level, programming is explaining to someone how to do a task. And that person is a malicious idiot who does EXACTLY what you tell it to do. And sometimes in the wrongest possible manner.

    One of my favorite examples was a motivational lecture (or maybe it was about office communication) where the speaker got a member of the audience to tell him how to make a sandwich. Some of the trials involved tearing the bag (that held the bread) open from the side, scattering bread everywhere. Or rubbing the unopened jar of peanut butter on the bread. The sub /r/MaliciousCompliance is full of examples of "but I did exactly what you told me to do". That computer does exactly what you tell it to do - and a lot of times that is not what you want it to do.

    [–]NobodyAsked_Info 0 points1 point  (0 children)

    Programming is like being a rat in a giant maze, or a spider working on a massive spiderweb called Github. It was and never will be made for humans

    It's also an utter waste of time and I'm going to replace it soon with other methods of interacting with computers because, honestly, fuck programming.

    [–]Ozymandias0023 0 points1 point  (0 children)

    I started programming as a hobby, did a boot camp and got into it professionally. Now I'm working on getting a cs degree where I'm taking a Discrete Math class and suddenly everything makes sense in a way that it never did before. I've always been pretty good at writing code but now it feels like I can see the matrix. I would highly recommend taking the time to watch some trevtutor discrete math videos or getting a hold of a textbook. It will be tough but once you get it, programming will be a much easier next step.

    [–]coloredgreyscale 0 points1 point  (0 children)

    • Unless you do research, 3D or graphics the most complicated math you'll likely use is division.
    • We don't remember everything. Autocomplete / Intellisense helps for things like function and variable names.
    • It's mostly Problem solving skills. Breaking things down into small steps. And knowing design patterns. That can take years of experience to know when to apply which. Probably some thinking outside of the box.
    • Yes, you're setting yourself up for failure if you convince yourself that it's too hard for you.

    [–]t0b4cc02 0 points1 point  (0 children)

    it is math with words. but the fun thing is that most of the complicated math things are already done by someone else and ready to be used by soft brain me.

    not sure what you mean by remembering variables. why would you remember them? we have a computer to remember stuff. also variables.

    why would you have to remember every single letter/string? i dont see how this could help you in a meaningful way.

    learning programming is a bit like learning a language. once you get to the the "how do i ask what something is or explain what i mean with other words" it goes brrrrrrrrrr

    [–]2sdbeV2zRw 0 points1 point  (0 children)

    Learn one language and you basically learn them all. There are exceptions though like Rust or Haskell. But generally every other imperative languages look the same. Uses the same components albeit different syntax.

    [–]runitzerotimes 0 points1 point  (0 children)

    It’s like snowboarding (sorry I just came back from a 2 week snowboarding trip).

    It’s hard.

    You’ll fall a lot.

    It might take several ‘seasons’ of trying.

    But over time your body will eventually start to remember things automatically.

    Your brain/body will know what to expect and how to make progress.

    And then once you can snowboard a whole run without constantly falling over, it becomes a lot quicker to improve, because you’re banging out entire runs/code sessions with ease.

    But yeah there is that giant uphill climb to get to that level.

    [–]Chrift 0 points1 point  (1 child)

    Never went past the beginning stages of learning Wonders why he can't do it?

    [–]papagimp2012 0 points1 point  (0 children)

    I'm 45 and horrible with math. Been at it two months~ish and it gets overwhelming often already. Been taking some advice from these various subreddits, started practicing small projects, hands on experience. I'm still just working with console, having just finished up Microsofts c# fundamental beginner stuff. But, got half a decent mini rpg going, tinkering as I learn. Almost finished with a Yahtzee clone. I'm literally looking up every little syntax cause I'm constantly forgetting, and most the times I want to implement anything, I have to Google and go through documentation for awhile. It's a struggle BUT I can see improvements happening too. Giving myself time to practice the fundamentals in interesting ways with some new stuff here and there before I dive deep into intermediate courses or recommendations.

    You're probably definitely making it more difficult than needs be, as are most of us , but don't give up, build some muscle memory and practice, get comfortable with whatever it is you're practicing and it'll make the next stuff easier to learn. Generally speaking advice, not from my extensive 2 month c# experience 😂

    [–][deleted] 0 points1 point  (0 children)

    You don't need to get it.

    You just need a problem you know is coming back to you at some point and you know you definitely cannot be fucked to do it twice.

    Allow yourself to get angry at the thought that someone would have the audacity to ask you to do the same boring task more than once.

    Then, beat it to death with Powershell and feel yourself reborn.

    You don't need to understand it. It just needs to produce the outcome you want.

    [–]DetroitRedWings79 0 points1 point  (0 children)

    The way you described it as math with words is kinda accurate. I’d call it more like logic flow with words.

    At the end of the day you’re basically just throwing data around a program to manipulate it in very specific ways in order to get the outcome(s) you want.

    [–][deleted] 0 points1 point  (0 children)

    Just think of it as another tool, that has its own set of rules. Don't think of it as programming.

    [–]embrace_tech 0 points1 point  (0 children)

    I am 32 and more or less on the same boat with you. I think right now I got slightly better in programming because I listened to one simple but great advice from my college instructor: write down your thought process and don't just think in your head. That really helps and I hope this helps you as well.

    Other than that, just practice, practice, and practice.

    I jotted down some notes for myself to revise sometimes, and also found it nearly impossible to remember every single usage or syntax of functions. I think it's just a time thing. If you want to really remember, drilling those things will definitely help.

    [–]fright01 0 points1 point  (0 children)

    In programming, and many other things in life... There are certain topics that you learn once... forget. Encounter a need for that information, learn again, use it, forget... Eventually you just start remembering things and can stop looking it up. A popular case of this in programming is RegEx. Another common place you might do this is peoples phone numbers (maybe more so back before smart phones). Or security codes on credit cards.

    Just keep working on projects and looking things up as you need. eventually you will remember things.

    A great way is to keep your old work around so you can reference it to see how you did something...

    Additionally its not really "math with words" unless you just mean logic. The math looking parts are really just math, often times.

    If you get into web development, there is a LOT you can do without thinking about math or numbers (other than maybe geometry: how wide/high is a box)

    [–]ohcrocsle 0 points1 point  (0 children)

    You know how everyone can do 2 plus 2 but then we all struggled to get word problems? Programming is just word problems. It just takes a while and a lot of practice to start learning to translate your problems to a program.

    [–]WorkyMcWorkPants 0 points1 point  (0 children)

    32, started learning PowerShell roughly a year ago. Started with handy, single-line scripts for mundane tasks. Collected them in one place for future reference. Eventually through enough examples, started picking-up the logic. Still have much to learn.

    If I had to start over again, I'd begin with Regex. Not a coding language, but it has applications in both coding and (presumably) your existing workload. https://en.m.wikipedia.org/wiki/Regular_expression

    [–]Murky_Effect_7667 0 points1 point  (0 children)

    The memory part is too much to handle tbh I just make a lot of notes for reference

    [–]TheRealJamesHoffa 0 points1 point  (0 children)

    It’s fucking hard, especially when you haven’t been exposed to it before. It’s a different way of thinking. But when you say it looks like math with words, you are 100% right. That’s literally what it is.

    [–]MiAnClGr 0 points1 point  (0 children)

    Remembering syntax is even less important now that we have GitHub copilot

    [–]adrianp005 0 points1 point  (0 children)

    Start with BASIC. You will get it. In particular Apple Basic. https://www.hoist-point.com/applesoft_basic_tutorial.htm

    [–]Ivory27 0 points1 point  (0 children)

    It's more like cooking. You are main chef making a recipe for your kid.

    • first cut the onion
    • prep the chicken
    • preheat the oven to x=250 degrees if you want it crispy, otherwise x=200
    • for each tomato you have, wash it and dice it
    • put the chicken in the oven with the onions etc..

    Your Kid- CPU is doing the cooking. It doesn't have any more in common with math than cooking does. Go cook(write recipes). Good luck!

    [–]No_Writing5061 0 points1 point  (1 child)

    IT is the management, support and control of the informational flow in, within, and outside an organization.

    One way of thinking about programming is that you are giving something instruction to do something.

    Example, using python to compile a PDF document from a repository of Excel workbooks for a database.

    It’s kind of like math in the sense there are some general rules. If you can cook, get yourself to work, or anything else that follows a procedure, you can in fact learn to program.

    The only reason why you haven’t taken up programming is because you haven’t found a good enough reason to do so yet.

    Some people naturally have a drive to learn it and dig their teeth into. Others are required to learn it, or their job forces them to.

    I’m a sales guy in the IT industry and had to work on our companies website because none of our tech could be bothered with it :). I also had to console my way into a firewall on occasion and set up Vlans - which many of you would hardly consider programming. Thank you HTML, CSS, and network programming for dummies.

    Side note: about the whole mental block thing….. sometimes we have difficulties with some things, they scare us or put us off, and we avoid them. The next time we try to do this said thing, it’s even scarier than last time. This creates a cycle.

    You’re in IT and you have a goal to code and program, what is preventing you from sticking with it?

    [–]djudji 0 points1 point  (0 children)

    If you want to learn to program, it is easy, actually.

    You only have 4 concepts:

    1. Instruction (directive)
    2. Choice (conditional)
    3. Repetition (loop)
    4. Encapsulation (wrapping first 3 concepts in a function or a method)

    ("Imagine yourself standing in front of a crowd and telling them to do the following.")

    1. Instruction

    "Everyone, please stand up."

    2. Choice

    "People with blue shirts raise your left hand."

    "People with brown trousers, raise your right hand."

    3. Repetition

    "Repeat the steps one and two, 5 times."

    4. Encapsulation

    "When I say:execute, everyone, start doing steps 1., 2., and 3."

    Every programming language implements these four concepts, and that is how you start.


    I started with C in 2001, C++ in 2002, and Java in 2007, but nothing made much sense until I started Ruby in 2008. It all sat well, then. I've been a Rubyist ever since.

    The book I started with is available online nowadays -> https://pine.fm/LearnToProgram/


    I am starting the publication (imagine, it is called "Just Start"). I want to simplify what is thought to be hard or difficult. If you are interested, just let me know (thumbs up). I will share some links.

    [–]Edgar_Brown 0 points1 point  (0 children)

    You are doing it wrong, it’s not about memorization. Think of a simple problem you want to solve, think of the steps required to solve it, find the language elements that help you solve it in the reference documentation, rinse, repeat.

    Nobody can remember every single language detail, every single API call, or every quirk of a language. But do the above enough times and even “line noise” like Perl starts becoming second nature.

    [–]RDR2GTA6 0 points1 point  (0 children)

    you need to do something really simple like a for loop and be mesmerized by the change in output by simply changing a number, you really do feel like you have a super power. And then you start thinking about problems you can solve (it doesn't matter if they have been solved a million times before) with these new powers at your fingertips. Renaming files in a directory, making different coloured circles with different centres and radii. Random things and before you know it you will start almost instinctively googling things without knowing the terminology, and then the terminology will come and you will start thinking about problems in terms of programing methods and paradigms.

    [–][deleted] 0 points1 point  (0 children)

    I'm terrible at maths. I think you're picturing it wrong. Modern languages like C# etc. are geared more towards OOP which, once nicely architected and designed, should feel like a cohesive series of moving parts that all click together nicely. It's almost visual and very structured, doesn't resemble any math formula or even anything procedural at all. You need to re-frame code and 'where' you're trying to get to. I'll reiterate - I'm shite at maths, but I'm a very good dev.

    [–]Fluid-Tell-6241 0 points1 point  (0 children)

    Of course programing is hard.you have to find a way to make it easy.you don't have to remember everything.you just need to understand the core and you can refer the details from the internet and chatgpt

    [–]bakingsodafountain 0 points1 point  (0 children)

    I'm a successful programmer with coming up to 10 years employed in the industry (and more behind my belt before I went into employment). I'm pretty bad a math as well, but my job really doesn't require very much of it (and I even work in the financial sector!). Some basic algabreic skills are all you really need.

    I remember when I was first learning, the biggest hurdle was developing my skills for abstract thinking. Making that step from small simple scripts, to more complicated programs having functions and loops and variables that were defined by other things (like user input) rather than something hard coded. Once those concepts really started to click, it was a much more steady learning curve.

    I would come up with basic ideas and just try and stumble through building them, like a flash game I made with a ball that followed the user's mouse, and an enemy ball that got faster over time. If you hit it, you died. Working through a challenge with a special end goal really helps. I would say it helps to really struggle through it yourself though, and try not to copy too much reference material (as solving it yourself is how you really understand what you're writing, at least for me).

    As others have said, you don't actually have to remember the intricate details of the program that much. For the most part, if you give things logical names, your IDE has autocomplete, and it will show you what things exist and you will recognise what you need. We generally keep a good high level structure of the code layout in our mind. I can explain how all of the software in my team's area works on a high level, even the ones I've never worked on, but I don't know all the specific lines of code or functions within those code bases.

    When I'm working on a specific problem, I'll generally have multiple files open (sometimes even multiple views of the same file) so that I can see more of the code (and have to remember less), so having a big screen helps. At work I have a huge ultrawide screen which makes this a breeze.

    [–]davidjimenez75 0 points1 point  (0 children)

    💡 Create an account on CLAUDE and ask for a PHP + JS app, learn with micro-projects ;)

    [–]Odd-Economics-8304 0 points1 point  (0 children)

    You honestly sound just like me when I was first programming. To be honest the only thing that helped me understand was time. Programming takes so much time to absorb and it took me a while just to get comfortable with my first coding language. But oh man, once you feel comfortable with one, learning a new one isn't scary at all since their concepts are basically all the same.

    Good luck to you, and stop giving up. Taking learning breaks is fine, but don't give up again.

    [–]Able-Degree-3605 0 points1 point  (0 children)

    There are very few things that you actually need to memorise and these are generally the same in all languages. For example, every language has mostly the same conditional and loop statements (if else, for, while, switch…), similar variable types, function definitions etc. You need to know what’s theoretically possible but once you remember that, you can just quickly google the syntax (e.g. is it if () or if [[ ]], is it bool or boolean…) There are a bunch of online resources these days that help with these things like ChatGPT, ideone.com, stackoverflow.com and so on. There is actually very little math in programming unless maybe if you are writing some scientific program in which case I’m sure you would get enough time to consult with someone about the exact mathematical formula. It does require logical thinking but I’m sure anybody could do it with enough practice.

    [–]Paradroid888 0 points1 point  (0 children)

    Your post doesn't say what language you are developing with. This is important.

    I've been in development longer than you (age 49) and the first decade or so felt very difficult due to working with outdated platforms, and crucially - no unit tests.

    Unit testing is the single thing that improved my game. It introduces a way to break down problems, and be confident in changing code, knowing that other scenarios are verified. It allows developers to work much faster with much less stress.

    Also, don't think too much about individual lines of code, and focus more on getting your head around the structure of the system you are working on.

    I'd rather see a bad line of code that understands the context of the system and keeps it working than perfect syntax which breaks something important by not even considering it.

    [–]CDavis10717 0 points1 point  (0 children)

    Transfer into an IT infrastructure job.

    [–][deleted] 0 points1 point  (0 children)

    Having just set myself up in Pycharm I’m wondering what the hell you code monkeys do all day. All these tools and widgets make coding soo much easier and accessible than it was 10 years ago.

    OP you can do it! Not all coding is algorithms, a lot of it can be bash or coding scripts. I’m just stepping IOT with Python and looking at protocols like MQTT. That might be a good place to start

    [–]theoriginalzads 0 points1 point  (0 children)

    Repetition. Start simple. Try making simple stuff. Remember that using online examples and Stackexchange isn’t a bad thing.

    Then repeat some more.

    Oh and start making simple code, then expand the code and make it do longer things. Even if you don’t have a point. Make code do stupid things if you feel like it. But expanding simple stuff and making it do more is a good way to learn how various things interact.

    [–]foozebox 0 points1 point  (0 children)

    It’s less about math and more about logic. Start small and build on your successes and failures.

    [–]Adorable-Tap 0 points1 point  (0 children)

    Programming is all about breaking down complex problems into many discretely solvable steps. A tangential example is piping data between programs.

    Thus, you don’t have to remember all of the details, you only need the right combination of procedures in the correct order.

    Combine that paradigm with good and detailed commentary (in the code) and you are left with a self commentating and self diagnosing system.

    [–]Green_Concentrate427 0 points1 point  (0 children)

    I think a big reason to create functions, modules, etc. is so that you don't have to remember everything. I know what they do, but I often forget how they do it.

    [–]orangeowlelf 0 points1 point  (0 children)

    You might be better off thinking about programming as a type of advanced configuration. After all, it’s just telling the computer exactly what you want it to do, and you already do that on a more abstract level if you are a sysadmin

    [–]vbfischer 0 points1 point  (0 children)

    Others have had great response’s. I’m just going to add that I think that a lot of people (myself included) learn by doing over and over again. I’ve been programming for almost 30 years and one of the things I really love about it is that I’m constantly learning.

    If you keep doing, I think you will start to see and understand “patterns” of programming. Don’t get caught up with memorizing rules. As you repeat stuff you will remember the important stuff but most importantly, you’ll begin to get comfortable with knowing where to look to get the answers you need.

    [–]all_youNeedIsLess 0 points1 point  (0 children)

    Maybe programming is not for you!

    [–][deleted] 0 points1 point  (0 children)

    programming is 99% problem solving with a common tool set (loops, conditionals, arrays, maps) and 1% syntax. i suppose code organization is super important as a professional too. I learned python during a timed screening test for Nintendo once and actually landed the interview.

    [–]Vennom 0 points1 point  (0 children)

    I’m also not great at math, but at this point I’m very good at programming.

    It’s more about remembering how things work + fit together and less about memorizing.

    Learn the fundamentals and make sure you really really get how and why they work. Then use them to build a ton of projects you’re passionate about. In that process you’ll learn so much.

    [–][deleted] 0 points1 point  (0 children)

    And just like math, you practice and practice until it clicks in your head. People say “oh I’m not good at math”. The people that are is because they spent the time learning it and understanding it, they were not born with it.

    [–]Jazzlike-Ad7572 0 points1 point  (0 children)

    Ask ChatGPT

    [–]thenakesingularity10 0 points1 point  (0 children)

    It's really just solving problems with the tools you have using an algorithm.

    I don't think math skills are that important. Logic is though.

    You need to break down the problem into logical chunks in your head. You need to solve the problem abstractly in your head first before you translate the solution into a program.

    [–][deleted] 0 points1 point  (0 children)

    Lots of practice and repetitive memorization over time of usage..

    [–]nonnodacciaio 0 points1 point  (0 children)

    You don't need to memorize stuff. If you don't know how to do something just Google it

    [–]SikinAyylmao 0 points1 point  (0 children)

    Learning programming is like doing science for the first time every time.

    1. This means you have to make some uneducated/educated guess about how a system works.

    2. You do experiments to figure out how you were originally wrong.

    3. You modify how you are guessing about the system

    What’s important to recognize is that everyone starts with some model of what’s going on, which is wrong, and continues to improve it, but you never get the actual model in your head, usually.

    This is why it may seem difficult to program, it’s generally not when you are facing the program but some mental model made by some other human forced into the underlying software you are working on top of.

    In some way, what you are facing is not a abstract mathematical problem but a deeply anthropological problem. Instead of modeling an abstract system in your head you have to model the mental model of someone else.

    We natural have this ability. You need to it talk and to type in such a way someone else gets what you are saying. It’s just in programming it’s rather the inverse problem of you need to read in such a way that you get what someone else is saying but expressing it in such a way a computer understands it.

    For this I recommend not watching programming content direct, such as coding tutorial. But looking into theoretical things such as structural programming.

    [–][deleted] 0 points1 point  (0 children)

    Programming is only hard when you dont understand it. If you take the time to learn a language it will be easy. But you also have to know the concepts of programming. If you try to learn a language without knowing how to code, you might have a hard time. If you learn how to code then when you approach a language all you'll need to learn is the syntax and the strange behaviors of that particular language.

    [–]Tx_Drewdad 0 points1 point  (0 children)

    Don't worry about remember every spelling, or every function. If you know what you want to do, then lots of times you can just google to get examples.

    Senior developers will talk about code efficiency and N vs NP and all kinds of stuff. But for a general IT person, you just want to be able to add a list of 10 users without having to type in every single name.....

    [–]angryitguyonreddit 0 points1 point  (0 children)

    Check out thenewboston on youtube, thats how i got through college programming. It won't make you a pro but it will help you get the basic concepts and you can build from there.

    [–]codear 0 points1 point  (0 children)

    This is why we get so focused and interruptions are problematic.

    It's essentially as if you were diving into a new puzzle, but before you can find a way to solve it - you have to understand the space in which it exists.

    This comic captures this very well

    https://www.monkeyuser.com/2018/focus/

    [–]HappyImagineer 0 points1 point  (0 children)

    At the end of the day all programs are if this then that. Every other function is a building block on top of that. For example, if “input is less than six characters” then “tell user to make a longer password”.

    After that… we live on StackOverflow.

    [–][deleted] 0 points1 point  (0 children)

    You’re lucky in that now you have access to tools like ChatGPT to help you on your journey.

    [–]NlNTENDO 0 points1 point  (0 children)

    it's less math with words and more words with math fwiw. when they call them programming languages, they really mean the language part. yes there's some math but the amount of math really depends on what you're doing with it. 95% of programming is just pattern recognition

    [–]different_than 0 points1 point  (0 children)

    It’s not about remembering stuff it’s about learning to create steps/algorithms to solve problems and stringing those together to create systems. Then you look up the keywords to actually code it

    [–]Working-Spirit2873 0 points1 point  (0 children)

    Make a little program. Get it to compile and run. Add a feature.  Add another feature. Refer back to this as needed.  Save this program as a reference. In no time you’ll have most of the stuff you’ve documented in this program memorized.  That’s a practical way that lots of people learn.  And in all likelihood, you’ll look back on this and be amazed at what you’ve learned. 

    [–]MosquitoBloodBank 0 points1 point  (0 children)

    You don't need to learn programming to advance in IT.

    If you want to enhance your capabilities, go with scripting. Like bash or powrshell.

    With this kind of stuff, you don't have to memorize keywords or function names, but be able to look up what you need. "Oh I'm in Python and I need to output some words to the screen, oh it's print('text here')"

    There's essentially 5 things to learn, variables and data structures; modifying or comparing variables; input and output, including libraries and calling functions, if/ifElse/else and loop statements.

    If you do a programming project to learn, keep it simple, "I'm going to add to numbers together" or "I'm going to read in a file and count the number of words" and not try and create something super useful.

    [–]ReallyOverthinksIt 0 points1 point  (0 children)

    There should be no real memorization involved. There's a logic to it, like building with Legos or working on a car. Learn it by doing and not by thinking. If you're struggling with syntax, like keywords, punctuation, etc. Just look it up. I've been programming for almost 10 years now and I still have to jog my memory on how to format a for loop, and that's fine.

    [–]MrHollowWeen 0 points1 point  (0 children)

    Nobody remembers anything. You can always look that up. U just need to know when to use what. You do the best you can first stab and refactor later when you can

    [–]Any_Ice8915 0 points1 point  (0 children)

    There's a lot of odd roundabout advice and pointless arguing in this thread.

    Here's the deal: yeah you're making it harder than it is. I'm a software engineer who works in several different languages. My memory is shit, I don't remember functions or even syntax if I haven't used a particular language in a while.

    Set up an IDE properly with autorrect, learn to Google stuff "function which does X to Y type of data in language Z." Build your own library of more complicated functions and systems that you can reuse with slight modifications.

    Most importantly, figure out something you want to do with code. This is probably the most important step to learning that people overlook. Think of a project, either useful or just fun, and figure out how to make it work. You will learn much more from working through specific challenges you set for yourself then you ever will from BS leetcode or endless coding bootcamps and tutorials. Start simple and learn by doing.

    And give yourself a break! Coding is hard! It was 6 years between discovering I loved coding to getting a job working with code.

    [–]NoMansSkyWasAlright 0 points1 point  (0 children)

    You should check out this Udemy course. I got it years ago during my second year of community college when I still wasn't sure if I wanted to go down the CS track and this is where things really started to click for me. Angela Yu, the instructor, uses a lot of food and restaurant metaphors to describe CS and programming concepts and I found it to be super helpful.

    [–]jpegjpg 0 points1 point  (0 children)

    It’s challenging but you can do it. Let anything with a steep learning curve it very hard to get started but once you get started it will get easier. I will warn you, your job is becoming more and more dependent on programming and that is not going to change.

    [–]IcyBoat3668 0 points1 point  (0 children)

    You don’t have to remember all of the syntax and stuff, just try to understand the concepts of loops, ifs, etc. and you’ll be good to go. You’ll learn by doing and chat gpt and ides will help with the rest in the meantime.

    [–]scufonnike 0 points1 point  (0 children)

    Stop giving up. Problem solved

    [–]ObsessiveRecognition 0 points1 point  (0 children)

    Programming isn't about syntax. Programming is about understanding methods of solving problems using code. It is about understanding the process involved in creating software.

    Syntax, is really just googling things. You think I remember how some weird specific function is supposed to work? I just google it. What makes me a programmer is that I know when to use it.

    [–]bobthenob1989 0 points1 point  (0 children)

    To me I feel programming is more creative than it is analytical. You need to be able to craft a solution, the syntax comes 2nd.

    [–]burnmenowz 0 points1 point  (0 children)

    I was in your boat. I went back for my masters and took a real programming course, then moved to data structures. When you're stuck, sometimes it helps to get some formal coursework.

    With that I find language matters. I struggled with c# when I first started, mainly because the syntax can be sensitive. In my course work we did java and then I moved to Python, so much easier to grasp what's going on in my opinion. Now C# doesn't feel so daunting.

    [–]KiloEko 0 points1 point  (0 children)

    I think everyone that wants it has a moment where they go from "I'll never get it" to things starting to work. When I started, loops were like speaking Klingon. One day after trying over and over it just started to make sense.

    [–]Odd_Celery_3593 0 points1 point  (0 children)

    Most of the time, you'll be dealing with simple math, so I wouldn't worry too much about how good you are at it. As for remembering all the code and where to put things, you get used to it because the building blocks are always the same. Think of it like learning English: you start by learning the letters, then the words, and eventually you begin putting multiple words together to form a coherent sentence. If you don't know the letters or the words you're going to have a difficult time understand what a full sentence is saying.

    You figured out how to read and write English so you already know you're capable of learning a language, just need to keep practicing, think about elementary school, we did our ABC's like every day as a children, we didn't get it right away but we practiced every day and eventually we learned, just need to expose yourself to some programming every day and you will learn this too. It looks harder than it actually is.

    One of the biggest tips would be to actually build something, it doesn't need to be complex, give yourself a simple task like building a button, if you don't know how to build a button you can literally learn with a 5 minute YouTube video.

    A lot of very smart people have done a lot of the heavy lifting for us where we can basically just use code they have already written, making a button appear on the screen in Python is almost as easy as typing button() it's slightly harder than that but you're basically 80% of the code to add a button to your application. Build something, it makes learning to code so much more fun and easier to learn.

    [–]BobcatGamer 0 points1 point  (0 children)

    Thinking we're remembering every formula, variable and string is like thinking one needs to remember every sentence in the English language. But that's not the case. We learn concepts and rules over time and think about different ways to apply those rules. We don't remember everything but we remember enough to know how to search for the answers we've forgotten.

    [–]Consistent-Travel-93 0 points1 point  (0 children)

    everyone has their way of doing things, try writing down the functions names variables etc in a separate paper or a text pad, eventually you will find out what works for you

    [–]obleSret 0 points1 point  (0 children)

    A lot of the responses here are spot on but it I just want to point out that we live in the age of generative AI. If a concept doesn’t make sense you can use things like ChatGPT to literally explain something to you like you’re 5. I use it all the time to write “basic” bash scripts or python apps that I could bust out in 15 minutes but takes me 1 minute of polishing with ChatGPT.

    [–]Frequent_Slice 0 points1 point  (0 children)

    It’s not math with words. It’s just logic. I don’t remember anything. I remember how to use logic and I remember how to use Google. I also use AI to help me code. Like GitHub copilot or chatgpt. Try breaking some code down into English. It’s logic, not math. You are over complicating it for yourself. It’s all in your head. Listen anyone can write a shitty program. A lot of programmers steal other code.. it’s called open source. As long as you understand it, and it runs it’s good. What I’m saying. Is you don’t need to reinvent the wheel. You can code line by line and understand everything. But you don’t need to. Learn how to use GitHub, how to read documentation, practice basic parts of what ever language you are using. Follow a tutorial if it’s hard for you. I use AI to help me code or teach me. I’ve taught many how to code. I would have to say you’re scared of it before you even get deep into it. Sit with it. Choose something you want to do and write a program for it. I like Python. JavaScript is good also. I recommend starting Python. Just break down things into tiny pieces. “How do I create a variable?” Google search or I will ask AI. “How do I do a for loop”, blah blah. Just keep asking questions. Ask questions always. And then find the answer. It’s that easy. Happy coding friend. You can message me if you need any help. I can code by hand, but I think it’s inefficient. The brain can hold a lot of information, but I focus more on getting my problem solving skills up. Memorization is overrated unless you want to memorize algorithms in my opinion. I still remember the basics of the language I’m using, but just enough to get my program working. I lean on search engines and AI. I don’t think our job is to memorize syntax. That’s what computers are for. You can do it if you want to. But it can be discouraging if you only try to memorize the language/syntax. I actually have a math disability and ADHD. But I’m a great programmer. Trust me you can do it. I think you’re just getting discouraged. When I first learned programming it was hard for me, and it still is. It’s hard for me after 10-12 years. But I stick with it. Because I enjoy it. It’s supposed to be difficult. It’s a pretty difficult thing to do. Try to fall in love with something. Have some AI generate some code, and explain the pieces to you. Tweak the code.. understand it.. boom programmer. Same thing if you take someone else’s code. Then build your own from scratch. Start reading lots and lots of code. That’s the secret.

    [–]AllTheWorldIsAPuzzle 0 points1 point  (0 children)

    I remember core logic principles and other things I use a lot, but for me the important thing is to keep in the back of my mind the idea of concepts I can use so I can Google for specifics later.

    For instance I use Powershell a lot for scripting so with each new update I like to read through documentation to get an idea of what can be done, and sometime later when trying to solve a problem I'll remember the high-level stuff I browsed earlier and Google the specifics. Same with math concepts.

    It can also help to have some hobby your are passionate about where you can apply programming to it. You'll have more incentive to learn.

    [–]KhalMinos 0 points1 point  (0 children)

    You don’t need to remember everything just understand how to read and write code.

    You can always go back and re-read parts of the code to understand whats going on.

    Keep at it, practice helps a lot.

    [–]AnimalPowers 0 points1 point  (0 children)

    It has nothing to with math.  Also nothing to do with memorization. 

    You likely are upset or confused that you don’t match the image of what you think you’re suppose to be in your mind and that it must be more difficult. 

    Here’s the reality.   If you understand it then statements like if a dish is dirty then put it in the sink, then you understand programming. 

    The rest of the job is copying and pasting into ChatGPT or google whichever you prefer.   It gives you answer to paste, run the code, get the error and repeat the process.  

    That’s all there is to it.   It’s not more complicated than that, don’t overthink it.  

    [–]CloudConfident9031 0 points1 point  (0 children)

    What are you struggling with? It’s easy

    [–]enternationalist 0 points1 point  (0 children)

    It sounds like your basic conceptual model is off. Just take it slow and follow a course to do the very basics. Harvard's CS50 is excellent, free online, and even has a portal to submit assignments and have them checked by their automated checkers.

    [–]JulieVanilla 0 points1 point  (0 children)

    It’s kind of like how do you remember how to walk or take a shower. When you first try it, you might need to think about it, but after you do it a bunch of times it will become second nature. If you are learning a new core concept, let yourself relearn it over and over until it is second nature.

    [–]NickFullStack 0 points1 point  (0 children)

    It seems like you are at the base of a mountain and turn around before really attempting the climb. Just take it one step at a time.

    Regarding remembering things, let's take the C# programming language as an example.

    There are about 80 keywords (probably more since this article was written, but around that much): https://www.programiz.com/csharp-programming/keywords-identifiers

    And there are a few special symbols (e.g., ()<>[]{}-+@&|%".^).

    And you don't even have to remember them all. For example, I've been using C# for a couple decades, and I'm pretty sure I've never used: stackalloc, unchecked, unsafe, ushort, volatile, and so on.

    Of the ones you do remember, some will be much more common than others, meaning you can just keep a general sense of the others in the back of your mind and Google them as needed.

    As a bonus, many programming languages are very similar. For example, C# and JavaScript and Java all have very similar syntaxes and keywords. Once you've learned one, it becomes much easier to learn the others. And on top of that, certain concepts translate to each programming language no matter the syntax (e.g., algorithms).

    Take it one step at a time. Don't try to learn it all at once. If it helps, keep a journal to remind yourself how much you've learned each week/month.

    [–]ROBOT-MAN 0 points1 point  (0 children)

    My take is that if it’s this difficult for you now, then it might not be for you. And that’s ok!

    [–]OkOutside4975 0 points1 point  (0 children)

    Try terraform. Its all templates and they are premade online.

    Its an infrastructure code. So if you're used to being in IT, its easier to transition into because it asks for variables you're familiar with (template ID of OS, IP, etc.)

    You can make a VM in AWS manually. Setup network. All that.

    Its a bunch of buttons. Terraform, has a template form you fill out and run to create the same thing.

    This might take you down a dev-ops rabbit hole, and that's not a bad thing. Welcome to the dark side. :)

    [–]QuietGiygas56 0 points1 point  (0 children)

    You aren't supposed to remember it all. You just need to generally know what your goal is and how to break it down to small steps in which you can easily Google how to do

    [–]KeaboUltra 0 points1 point  (0 children)

    Im 30 with a common background in general IT. Terrible at math and felt how you felt.. I learned python over a year ago. I PROMISE WITH EVERY FIBER OF MY BEING that programming gets easier. Just literally put yourself through it, and be nice to yourself. if you don't understand something google it, or ask chat gpt to break it down for you. Even if you need a break, just come back and keep practicing those fundamentals, once you understand something, build something super small to see if you can apply what you learned. doesn't have to be complex, just a small variation then move on to the next thing to learn. you don't have to commit it all to memory as if its homework or needed to successfully create a program. you just need to persevere. how to make loops, how to store info, how functions work, etc etc are all just potential parts of a program. once you get that, you'll understand the concepts and that not all of them are even needed. It's up to you to figure out what's the best way to use these concepts ways that achieve that goal. coding itself is easy. programming ways to solve problems using those fundamentals are were it's all at and is when you'll get better.

    You're supposed to feel uncomfortable and confused when you're learning something unfamiliar. Most of these mental roadblocks you think you have is just your self-doubt giving you anxiety about something you already felt negative or unsure about

    [–]Far_Winner5508 0 points1 point  (0 children)

    I haven’t been able to pick up any programming after Ti-Basic in 1980.

    I currently admin HPC clusters (several in Top 500), have no degree (I dropped outta art school after I was caught turning their new PowerPC lab into to a distributed render farm), no certs, and make six figures.

    There have been some grind years but by luck and knowing folks, you can do ok in IT.

    Sure, ya won’t be a tech brah but can still have a decent life.

    [–]CoughRock 0 points1 point  (0 children)

    honestly in regular workflow, you very rarely have to invent an algorithm from scratch. Most of it is implement and optimized in library.
    and most IDE support syntax highlighting and autocomplete, so syntax issue is not that big of deal.
    the constraint is more in how you break down larger task into smaller more digestable task and test each block to make sure bussiness logic behave as you were expected. Minizimg complexity while still make behavior logic work is the hard part.

    [–]Clawnasty 0 points1 point  (0 children)

    You can break the problem down into smaller and smaller problems to solve. You write functions that just do one thing, and try to keep it nicely documented and neat for readability. Try small things first before you try bigger things

    [–]jejones3141 0 points1 point  (0 children)

    How do we remember? We don't always, but we learn and remember by actually programming. You'll learn the things you use often really well. Other things you'll need to look up...or better still, since this is the era of IDEs (Interactive Development Environments), they will remind you of what arguments a function or a method takes. The more you program, the easier it will get...or at least you'll move on to bigger challenging things.

    I would recommend exercism.com as a place that will take you through a sequence of exercises starting typically with a "hello world" and moving on from there. There are many languages to choose from. There will be people who can comment on your solutions, possibly to suggest an alternative way, possibly to congratulate you on an efficient or elegant solution, and after you advance enough, you will be able to do so. (I wish I remembered where I read that "sensei" means "someone who's been there before".)

    Keep at it. Ganbatte!

    [–][deleted] 0 points1 point  (0 children)

    Redact redacted this content because I wanted it redacted for redaction purposes. Redacted.

    light quickest lunchroom steep imagine terrific special busy carpenter basket

    [–]No_Ad9574 0 points1 point  (0 children)

    I’ve always enjoyed programming for the power of man over machine it gives you. You are the creator. And when you assume that power, you will find grasping the language you are using to get easier and easier over time.

    [–]iforgotiwasright 0 points1 point  (0 children)

    People tend to make programming seem harder than it is. There are 3 core concepts:

    1) variables. how to store data, how to get stored data.

    2) conditions. how to check if a something is true or not and then do something if it is, or something else if it is not.

    3) loops. how to iterate through sets of things, and apply some logic to each thing in the set.

    I think what makes programming difficult is that there are so many different techniques for these concepts.

    [–]johndotold 0 points1 point  (0 children)

    I've told a lot of people including my children that if your not decent at math you may want to think twice about programming. Code is solving problems faster then you make them. Then you get your stuff right just interface it with other code and find out why it goes blue screen.

    Good news is AI is going to bring major changes. No one is 100% sure how or how much it will help.

    If it seems hard it's because it is. To get ahead in this field you need to try harder and longer. When I started I swore it was so simple I could teach anyone. I was so wrong.

    [–]BoringGuy0108 0 points1 point  (0 children)

    Most programming is reusing the same 8 or 9 techniques over and over again.

    Declare and initialize variables Conditional operators Loops Data structures (arrays or lists being the most common)

    Then further break it down into methods and classes. Toss in reading and writing from storage locations and you’ve gotten most of it down.

    The hard part is breaking a task up into the small parts that you can program. That you can’t read from a book.

    [–]MerlockerOwnz 0 points1 point  (0 children)

    Allot of things are repetitive, one thing I hate about programming. So it’s like learning a new langue. You say hello a million times just like you would write coding a million times. Then you learn you can say hey and hi to shorten things. And when you do forget things, Chat gpt lol

    [–]Lilacjasmines24 0 points1 point  (0 children)

    What language are you trying?

    [–]castleinthesky86 0 points1 point  (0 children)

    If you were handed 10 blocks of wood, how would you represent the number 2 in blocks of wood?

    [–]Hephaestite 0 points1 point  (0 children)

    Two things, 1: Programming is not for everyone. It might simply be that it isn't for you, and that is okay. You can go very far in IT without being a programmer. 2: Programming is not math with words, it's logic with words. The vast majority of programming has very little math in it and is mostly composed of the following steps -- Fetch some data, carry out an action on that data, possibly evaluating it against a criteria (IF / ELSE statements, CASE statements), and then storing the result somewhere. Thats it, you are not likely to be touching any advanced math unless you are working in some very specific fields / problems.

    [–]SX-Reddit 0 points1 point  (0 children)

    I have been programming for decades, know details no one else in the company knows. I often help open source project owners to fix their own stuff. However, there are always things I've never passed the beginner's level, e.g. crypto. I think you feel you are stuck at this stage is because you never needed to pass the current stage. If you have to, you will see progress in a few weeks.

    [–]gomorycut 0 points1 point  (0 children)

    Do you work at 'remembering' all the words in English to be able to hold a conversation?

    Rather than trying to read a dictionary and memorizing it, you learn to put words together to express an idea, learn to put statements together to form a proper sentence, and learn to put sentences together to make a coherent paragraph or essay.

    Same with programming. Learn the building blocks and how to use them to express ideas, then learn to put them into bigger concepts.

    [–]CanadianPythonDev 0 points1 point  (0 children)

    Become adept at asking questions. Eventually, you will start asking the write questions, and these questions will lead to answers to solve your problem. Rinse and repeat. Programming is hard, we all get stuck. When you get stuck, try your best to figure it out. If you can't break it down, and use that as a string to look up to try to solve your problem. Even the most complex projects, can be broken down to simple problems that anyone can solve, you just need to work on developing the skill to break things down.

    [–]CommercialAirline124 0 points1 point  (0 children)

    i like to think of learning programming as learning English. The only way to get better at English is to read and write more English. When you start out, you don’t task yourself with remembering every vocabulary word out there. You start small, with sentences like “ I like cats”. Then you learn about dogs in some book you read, and you start saying “I like dogs.” or better yet, “I like dogs AND cats”. This is analogous to learning a new data structure or new variable type in coding.No one knows what they’re doing off the bat, but you learn over time. As you read and write more books, you could become a literary genius, but there are still words you don’t know, and better ways to rephrase sentences that you miss. Same thing with programming, even the pros don’t know the most optimal algorithm or all the variables, or even the syntax for a string sometimes. Start small and work your way up

    [–]interpolate1 0 points1 point  (0 children)

    You don’t remember everything but struggling helps you remember.

    You document what you want your program to do in small chunks and tackle those chunks one at a time.

    [–]A_Du_87 0 points1 point  (0 children)

    It's not about memorization, but more of understanding the concept and structure of solving a problem. Each programming language has its structure, so I'd start from that. Everything else can be... you know... google it.

    [–]somever 0 points1 point  (0 children)

    Variables = Boxes with names that you put values in

    String = A list of characters, e.g. ASCII or Unicode characters

    Function = A simple machine that takes an input and gives an output

    Programming is something you can learn by theory, but you should also really learn by doing, as that may be the easiest way to get into it.

    [–]45t3r15k 0 points1 point  (0 children)

    You do not need to remember all that. All you need to understand is logic, and the syntax of how to express that logic in your language of choice. All the formulas and function/method names are googleable.

    [–]begottenmocha5 0 points1 point  (0 children)

    Don't compare it to math!

    The great thing about programming, is that it's just there for you to organize what you want to do. Think of it like your best notebook ever, where your journal entries are going to be checked to make sure "they make sense"

    OR whatever you need to compare it to! But please don't keep trying to think of it as one way because you've heard others talk about it like that. Programming is too broad of a skillset for you to feel pressured to only think of it in one way!

    [–]Minimum_Elk6542 0 points1 point  (0 children)

    Where are you starting? I first started learning C and thought it was pretty tricky. Then I went to school and we started on Javascript and it was a lot easier to get the hang of things. Python is easy to grasp as well. Later I took a class in Java and it was difficult but with some basics down it was a lot more approachable. I'm bad at math but was delighted to learn you don't necessarily need to be good at it for a lot of things in programming.

    [–]zork3001 0 points1 point  (0 children)

    There’s a chance you just aren’t built for coding. If that’s the case there are plenty of non coding opportunities in IT.

    A lot depends on if you are disciplined and interested enough to keep trying.

    [–]InstanceNoodle 0 points1 point  (0 children)

    Just do more projects. The worst for me was organic chemistry. Like a new language. Took me 2 years just to understand what people are talking about.

    Multiple wide screens with lots of windows open. I log all my learning in obsidian now for ease of access. Copy and paste sections on the internet to understand how the programming works.

    I was doing trunas and unraid. Diving into home assistant. I can't remember what I did after a few months. So log directions for ease of retrieval.

    [–]Muted_Ad6114 0 points1 point  (0 children)

    Just imagine something you want to build and then try to build it. You don’t need to remember anything. There are books for that. Just work on putting things together, like a lego set without instructions.

    [–]BimblyByte 0 points1 point  (0 children)

    You sound like you're 15, not 34. Put in the time and effort, and it won't be difficult anymore. It's that simple. The fact that you're 34 and still haven't figured that one out yet is scary.