Today at Karos Health, we had a retrospection with Declan Whelan, an Agile coach in the Waterloo area. I thought that it was very interesting. I came out feeling like I still have so much to learn about this industry. I pretty much feel this way every couple months. :P It's a weird feeling. I think I'll come out of university feeling much stupider than I felt when I came in. I guess having an awareness of what you need to learn is pretty important though.
So here's a list of things I would like to work on; my personal improvement backlog. :P Priority to be determined.
- Test Driven Development. I feel like won't really understand it until I actually spend a few weeks doing that. I am still unconvinced of it's benefits, but I think the best way to really decide its effectiveness is to actually practice it.
- Pair Programming. I've already done a little bit of this at work and for school projects, but I think the cross-training that it provides is really useful, and I'd love to try it for longer periods of time.
- Language Expertise. I still want to learn some language really really well. I think C# is a good candidate for this. It's still my favorite language.
- Technical Expertise. There's just so many technical things I don't know about. How do you do secure network communication? How can you ensure high availability? How can you efficiently do *? What standard libraries exist for doing *? I would like to know so much more about these topics.
- Agile. All my agile knowledge comes from many different informal sources. I think I should try to learn it more formally by reading through a book, or taking a course or something. There are a lot of fundamental things that I'm still trying to figure out, and I think that formal training would be very useful.
- Healthcare. There's so much to learn about the being a developer for the healthcare industry. There's various protocols: HL7, DICOM, and frameworks for working with them like XDS. I know very little about how these protocols work. I know even less about the interoperability problems that arise from having many different protocols.
This list is a little overwhelming. I don't know where to start. Instead of doing a "breadth-first search" into these topics like I have in the past, I'd like to dive into one of them and get to know them very very well. Too bad I'll have Real-Time next semester. :/ I guess I'll make time after that. :/