It is important to understand the basics of what is involved in order to get a quadcopter into the air. And for the sake of conversation, the ‘quad’ part of quadcopter can be any number you wish to replace it with. I am not looking for a prescribed set of instructions, but a description of the basic understandings so your knowledge can allow you to build the copters you find in your mind.
Continuing our weekly get-togethers... Matt (http://matthewrighter.com/) and I will be discussing our finished urinal katas. This title for a kata has gained a lot of attention this week. I have been working on the kata, off-and-on within the common spaces of the office. I spent a little time drawing logic on a white board. You can imagine the amount of attention this created. I would say it was worth it... people are talking... and that is better than normal.
Last week, both of us were less than pleased with our progress, but we had a really great conversation about engineering practices. I spent most of the week refactoring my code and then refactoring Matt's code. I didn't refactor Matt's code because I am a jerk, or his code sucked, but because we are spending time looking at each other's code and making suggestions, based on our preferences, as to how we would change the code.
here are my notes while I reviewed Matt's Urinal code
I would replace the 'nulls' with Option, I refactored all classes to individual class/object files. This is a personal preference. I would like to see Matt drive his code a little more. And I would like to see simpler solutions. I feel some of the complexity is the newness of the scala language (to Matt) and the majority of Matt's time writing code has been within an environment like XCode (objectiveC and/or Swift). My statement doesn't lend towards these languages being less than great, but just the fact that these languages put heavy constraints the exact ways the code should written. They are not necessarily meant to be a general purpose language, but a language to solve a very specific purpose (iOS development... mobile)
I will post the results of our meeting tomorrow.
later.
I have thought about this for way to long. I need to start writing things down quicker. I do not mean faster on the keyboard, but quicker from my brain. I have a co-worker that I am meeting with on a weekly basis to work on improving engineering practices, team practices and just better all-around software development stuff. His name is Mr. Righter... Matt, for short. Here is a link to his blog.
Matt has worked with our company for approx. a year. He is pretty new in his career, but doesn't lack the passion or skill (both technical and personal), to be a great software developer. One of the 'things' I am responsible for... at least that I feel I am responsible for is uplift and mentorship. Matt and I came up with an idea to start meeting weekly to talk, code, blog, whatever each week in trying to make each other better.
We started this exercise a couple weeks back. So far, we haven't missed a week and we have completed two katas and changed our plans a couple of times. Which is good. As expected. For me, this weekly meeting is pushing me to think about coding something different each week and thinking about how I work to share with Matt.
This is the introductory post to get me started on blogging on a more frequent basis.
Please check out our katas on github @ matt's repository. I have posted my kata solutions within his repository.
https://github.com/MattieBoy/Intrepid.git
As a note... I will continue to blog often and I will try to remember to put the tag, #WEEKLYKATA on each post.