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! :-)
--
https://mail.python.org/mailman/listinfo/python-list

Reply via email to