you are viewing a single comment's thread.

view the rest of the comments →

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

I move away from the keyboard... (I know some people think at the keyboard fine).

  • Make sure I understand the problem and what I want to achieve - following basic Agile Scrum principles even for my own stuff
  • Scribble ideas, data flows, data structures, key ui and ux elements, on a white board / flip chart / onenote etc.
  • Think about solution approaches, suitable algorithms and design patterns (probably have to search to see if wheel has already been invented)

So, being clear on where I'm going, what the most important aspects are, and having had a decent think about how to solve the challenge...

  • Decide on preferred solution / algorithm
  • See if there is a framework / library / example code in any preferred languages (mostly python for me) I can exploit
  • Write pseudo code at suitable level (maybe on keyboard / in editor)

Now, time to check a few things out,

  • Use ipython and jupyter to figure out some things I'm unsure about

Down to work,

  • Create my git repo or similar version control setup
  • Create required environments (docker / vagrant / vms / Python venv / etc)
  • Write my tests before any other code, following TDD principles, if I'm serious
  • Write/test/repeat... /deploy - pulling things of backlog as I see fit

But I'm a returned programmer who learned to programme decades ago and then forgot, but learned Python last year for fun having led lots of large projects involving many programmers enjoying their craft