[OT] How to improve my programming skills?

MRAB python at mrabarnett.plus.com
Thu Jun 1 16:22:59 EDT 2017


On 2017-06-01 16:26, Mirko via Python-list wrote:
[snip]
> 
> I'm looking for a way (*the* way, ie. the "BEST(tm)" way) to improve
> my coding skills. While I'm a quite hard-core computer geek since 25
> years and a really good (hobbyist) Linux-SOHO-Admin, my programming
> skills are less than sub-par. I wish to change that and become at
> least am average hobby-programmer. I'm an excellent autodidact and
> in fact, all what I know about computers is completely self-taught.
> 
> Now, the problem is, that I'm 41 years old now, have a day job
> (which hasn't much to do with advanced computing stuff), friends and
> all that. There is little time left for this undertaking (something
> like 5 - 10 hours per week), so I'm looking for the most efficient
> ways to do this.
> 
The best way is practice, which takes time. I don't know of a shortcut.

> I identify the following problems which could be worth improving:
> 
> - I never sit down and plan anything with pencil and paper,
> flowcharts, UML or anything else. I just fire up Vim and start
> typing. That works (albeit slowly) for simple programs, but as soon
> as the project becomes a little more complex the parts and
> components don't match well and I need to botch something together
> to somehow make it work. And in the resulting mess I lose the interest.
> 
Flowcharts? UML? Never used them! :-)

I _have_ used sometimes pseudocode, though. Python has been described as 
"executable pseudocode" in the past, which is probably why I like it so 
much.

> - I never learned algorithms and data structures. I know *what*
> (linked) lists, dicts, arrays, structs, and trees are; what binary
> search or bubble-sort is, but I never really studied them, let alone
> implemented them for educative purposes.
> 
Higher-level languages like Python have dicts and sorting built-in, so 
unless you're working on improving the low-level implementation, you 
don't need to know the details.

[snip]
> 
> - I'm very hard to motivate, when the issue or topic doesn't
> interest me much. I know some tricks to increase my motivation in
> such cases, but don't use them enough.
> 
You could pick something that you could automate. That way, you'd be 
learning and also saving time in the long run.
> 
> 
> What do you think, which of the problems would be most important to
> overcome? What would be the most efficient way for improving my
> general programming skills? Do you have any other suggestions or tips?
> 
If you don't enjoy programming, it's probably not for you! :-)



More information about the Python-list mailing list