Does that come with practice? You practice different questions but problems in real life are different. How does one become able to solve problems in real life? How does an average person(person who's average in programming).<p>And, is programming only for geniuses? Can average persons with low programming aptitude succeed in programming.
Some people can not ever become computer programmers. Extreme packers[1], who are otherwise fully functional adults, just won't possibly get it. You have to be able to connect pieces together and build a model in your mind of how the computer works. My experience with packers is they can't work around ambiguities, and that makes them strong anti-programmers.<p>If you can build spread sheets, and debug them, you can be a programmer.<p>If you can write recipes for other people, and they are happy with them, you could be a programmer.<p>It's all about knowing the small pieces that computers can do, and and building them up into a program, while simultaneously breaking down the task you want into pieces that the computer can execute.<p>Programming skill vs tackling real life problems are likely to be correlated, but I'm sure there are strong exceptions.<p>Like any skill in life, mindful practice is the key to getting better.<p>[1] <a href="https://wiki.c2.com/?MappersVsPackers" rel="nofollow">https://wiki.c2.com/?MappersVsPackers</a>
It comes with interest much more than with practice.<p>If it interests you enough, you probably won't be able to NOT try it.<p>But interests can hit at different times. Maybe it's interesting for you on weekends.<p>Practice can make it more reliable as a skill, less of a weekend thing maybe.<p>Programming is scheduling. Can you make a schedule? Like, what to do at 9 am, noon, etc.<p>Then, can you make one of the schedule items a decision? Like "if I am tired, take a nap. If not, do some gardening."<p>That's programming.<p>From that point it's just a matter of finding a programming language or a programming activity that you like.<p>A lot of the languages are already part of something you use. Like Google Apps Script can be used with Google products, if you use those. So maybe it's easier to start that way.<p>No genius is required. For some people it will take more time than others. Like anything else.
Do you like it?<p>Is programming a way to survive and you’ve found yourself mixed up in it, or are you having self doubts about something you admire and determine for yourself?<p>Persistence is crucial, even for geniuses (I’ve been programming since child hood. vic-20 childhood.)<p>Will you loose days of sleep to save your ass after not putting your nose to the grind sooner?<p>Will you learn the true secret of masters, that someone else has likely solved your problem and you merely need to “adapt” it to your situation?<p>Will you get the job done, and stop being a part of the run around?<p>Computation is after all about results.<p>If these things you may be a programmer after all, however modest your present circumstance.
as someone who's not a software developer, but has tried multiple times to get into programming over the years...<p>all i can say is something really simple:<p>*you need to try, and try again, and practise...regularly.<p>Down time at work- has had me start on Harvards CS50x and CS50p. I switched between them as i thought starting with Python would be a bit gentler. Which then led me to supplement both of these with Python Crash Course (the book) - which has been just so awesome.<p>I went from "ok, cool...hello world, whatever"...and "fucks sake, how do devs look at code Tand not get migraines"...to actually writing more than 5 lines of code, reading stuff on stack exchange and sort of following along.<p>I dont have a particular knack for any of this -i'd argue the amount of times i've tried and failed miserably at it should be enough to make me stop permanently.<p>But honestly - just doing it - every day, typing out every example of code in every example you read, running it over and over and over again...i'll be fucking damned if i wasnt leaps and bounds better than i was two months ago.<p>I distinctly remember thinking - "is programming really just always going to stack overflow and looking up the answers"....to actually at least stopping, and thinking HARD about wtf I am trying to do...slowing my mind down, and walking through words slowly...<p>So yeah -i'll say - for sure - I'm average as hell, and just trying every damn day has made a huge difference for me....and i've yet to scratch the surface! But comparing me with 2 months ago me, i couldnt be happier.
There has to be a sort of laziness about you. You don't like having to remember things (We do have to do this but we don't like it). And you will spend a day making a 2 minute problem go away for ever.<p>It's not just about problem solving. It's about finding a system to solve it.<p>It is not the domain of the genius. Anyone who gets frustrated at not knowing how something works, and goes and finds out, can be a great programmer.
I've found that the best programmers are natural problem solvers that just so happened to be programming. They would be solving problems in another field or in everyday life if they're not programming.<p>Programming isn't for genius but I do think that you need above average IQ to succeed in it.
Start small. Little batch processing problems are a good way to pick up Unix tools. Little scripts teach you scripting languages. Little websites teach you web development.<p>So long as you have a task just out of reach, you'll learn.