Matthew Powers

About me

I’m a self-taught computer programer that’s passionate about working well with a team and producing high-quality and maintainable code. I’m good at simplifying complex problems, writing single purpose classes, and more recently, writing single purpose applications as we transition to a microservices architecture.

I love working with a great supportive team that challenges me and am good at helping teammates stay focused and avoid going to down rabbit holes.  I take pride in working with my teammates to write code that gets a 4.0 in CodeClimate and has 100% test coverage.When writing Ruby code, I do my best to follow the design patterns outlined in Practical Object Oriented Design in Ruby (e.g. reducing argument order dependencies when possible and injecting dependencies).  I have a good understanding of the Ruby object model from The Well Grounded Rubyist and can explain some surprising quirks of the object model, like the output of Object.singleton_class.ancestors in Ruby 2.1+.  I love Metaprogramming Ruby and will take advantage of method_missing and define_method when it makes the codebase more concise and clear (I haven’t been able to use some of the other advanced metaprogramming features like bypassing scope gates in production code yet).I created a site called CodeQuizzes to help myself and others learn programming concepts and the site gets 200 unique visitors per day and has over 3,000 registered users.  I also have a programming blog that gets 3,000 visitors per month.  I answer programming and personal finance questions on StackOverflow sometimes.I love learning new things and I taught myself finance / accounting by passing the three CFA exams after graduating from college. Shortly thereafter, I taught myself how to code and I’m currently teaching myself how to speak Spanish. I enjoy traveling the world, learning about different cultures, surfing, dancing salsa, sailing, golfing, studying programming, learning languages, and having fun.

Interested in a Dask training course? Please reach out to us below.