Learning from others - that's the fastest way

As developers, we all strive to learn because it is an ever changing and evolving field. Technologies keep changing and new acronyms and a new .JS library is created every so often. However the question is how do you keep on top of all this? How can you learn? It is almost impossible to trove through the pages of information from the documentation provided (if it is provided and adequate)

Sources of Information

There are several ways to learn, and here are some of the most common ways that many of you might be following
* Read the official Documentation
* View the YouTube or Vimeo video tutorials
* Read the blogs (like you are right now)
* Attend conferences
* Attend meetups
* discuss amongst peers
* email those that you feel could answer (and expect that they might have other things, so give them a break if they don't answer)

What can I learn?

Learning is on various levels and areas. Learning is not necessarily about solving a particular problem. However, it can be about a single line of code that can suddenly change the way you look at things.

Some Examples

Just recently, on 23rd and 24th of February, we had the Playgrounds Conference in Melbourne, Australia. It had an amazing lineup of speakers from around the world. Each of the speakers had presentations that even i they were not something that you would use immediately, it was more than food for thought. It sowed the seeds of looking at some technology or way of doing things that you might not have considered otherwise.

Halan (@harlanhaskins) spoke about LLVM, not something that 90% of the developers would use. It was still an interesting insight on how things work and how, if you change into the 10% that would have use of working with LLVM, you'd have a head start.

Another speaker, Erica Sadun had a wonderful talk about opinionated Code, while there were too many gems in her presentation to cover (without simply duplicating that presentation) there was one amazing use of defer command at the end of allocation. Almost like how you might have used autorelease in Objective-C with the alloc and init methods.

Matt Gallagher from Cocoa with Love (https://www.cocoawithlove.com/) spoke about comparison between C and Swift in reference to a random number generator algorithm. It was an interesting presentation to look at the optimisations the compiler makes and the speed and performance hits by using particular types. What is even more interesting is the fact that very few devs actually spend time on this.

The thing that I learned form this is that while there are all these interview question discussions about solving issues, NP and complexities; the compiler plays a very important role and could change your optimised solution to a much slower solution.

@Chris Eidhof (from objc.io) had live coding using playgrounds instead of a presentation, which was closest to the playground theme. The simplicity of the code and the manner in which he demonstrated the differences and methods of dealing with classes and structs with reference to immutability, which seemed to be the common theme in most of the presentations.

Matt Comi, slightly closer to home, from Perth Australia (bigbucketgames) is an amazing talent. He had a presentation on A* pathfinding, before you say, yeah, what's new... it was about co-operative pathfinding. Technically, it involves creating graphs and searching breadthwise of depthwise. There are a lot of papers on this and it involves a lot of math. However seeing the demo by Matt based on what he used in his game Space Age, it was the best explanation - something that you could not have even been taught in uni - and in under 30 minutes.

Summary

This is not a review of Playgroundscon, but this was perhaps one of the largest meetup of amazing international speakers in Melbourne. While you might know a lot of things from topics the speakers were talking about, there is always that one a-ha moment where your interest is piqued or you have an instant revelation of whatever had you stumped.

So happy learning... and keep an eye out for more soon...

Comments

Popular Posts