Pretty soon I will be starting a new job where I will be working as a Java developer. I have some professional experience writing Scala code (Spark) but this was in a different context. Moving data around is very different to application development. I’m therefore spending a couple hours each week brushing up on my programming skills and I thought it would be interesting to document the struggles I’m currently facing.
Recognizing when to use a design pattern
I’m still struggling to recognize when to implement design patterns. Main reason is probably because I don’t know what they do yet :) I need to find some good resources that give a good overview of the patterns and when/how to implement them. Head First Design Patterns is on my reading list but will first need to purchase. There probably are some good resources online so I’ll start my search there.
Finding fun projects to work on
After learning the basics using online courses it’s best to find a cool projects that you can work on. This works even better if you’re developing something that you actually need. I however can’t come up with any interesting projects that I personally have a use for.
I have ‘resorted’ to create a simple game using the PyGame library. It’s more of simulation game simulating a taxi company. This combines many aspects of programming that I would like to learn. Mostly TDD and object-oriented programming
Doing the work
As with all learning activities that requires deliberate effort, it’s hard to get started! After coming home from work it’s tough to get yourself started.