Write Tests Like a Mathematician: Part 2

Ember provides 3 types of tests out of the box:

  • Unit tests
  • Rendering tests (previously known as integration tests)
  • Application tests (previously known as acceptance tests)

Broadly speaking, these tests differ in two aspects:

  • Which parts of your app they check for correctness. Having different types of tests help separate testing concerns.
  • How fast they execute.

Let’s take a look at each type and when you might use one over another.

Continue reading “Write Tests Like a Mathematician: Part 2”

Write Tests Like a Mathematician: Part 1

Ember gives you the power to write tests and be productive from day one. You can be confident that your app will be correct today and years from now. A question remains: How should you write tests?

Since tests are a core part of the Ember framework and your development cycle, I will dedicate several blog posts on best practices for writing tests, based on my experience at work and former life as mathematician.

Today, we will cover why testing is important, what tools can help you with testing, and how to run and debug your tests.

Please note that some tools may be readily available for Ember only. However, the best practices that I will mention should be independent of your framework. After all, tests are a universal language, just like math is.

Continue reading “Write Tests Like a Mathematician: Part 1”

#EmberJS2019: Build a Larger Community

In 2018, the Ember core teams asked for community input in laying out a vision of what we need to achieve over the next year. In response, they received over 50 blog posts and several direct tweets. I read all in preparation for this post and smiled throughout, because we did achieve, and are actively working on, the following goals:

In 2019, in addition to continuing work on the items above, I’d like to see us work on building a larger community. Our community, while truly amazing and supportive, is yet small. To flourish, we need support from developers who don’t work with Ember daily. These developers may professionally work with React, Angular, or Vue. They may be self-taught or attending school, looking to enter tech with minimal risk in career trajectory and minimal time to create showcase projects.

I believe we can do 3 things to welcome these developers:

  • Publish better website (address design and content)
  • Promote Octane heavily
  • Teach Ember at local and remote Meetups

I will explain what I mean by these and highlight our action items in (Ember) orange.

Continue reading “#EmberJS2019: Build a Larger Community”

Recaps from EmberCamp & JSCamp 2018

Over the weekend, I got to visit Chicago and learn technical and leadership skills from various developers. I will highlight 6 talks that were spectacular. (A special thanks to Trek Glowacki for being a great emcee!)

All talks from EmberCamp will be posted online (note to self: provide links here), so I hope you will check them out.

Continue reading “Recaps from EmberCamp & JSCamp 2018”

How to Conduct a Live Code Interview (with 3 Full Problems)

Over the last month, I got to help with hiring developers for the first time. It was fun to use my teaching skills from graduate school and interpersonal skills from Toastmasters to test the candidates’ technical and soft skills. I think the candidates also had a good time interviewing with me.

I believe that live coding, if we do it right, is a great way to test a candidate’s technical and soft skills, and for the candidate to see if we are someone they want to work with and learn from. Unfortunately, it’s hard to find tutorials for doing live code interviews and writing good problems in the first place. It’s even harder to find actual problems because they are kept secret for future use.

In this article, I will explain how to set up a live code interview and how to write good problems based on my experience in teaching. I will reveal the 3 problems that I used in my interviews—yes, I will have to make new ones next time—and analyze why each made a good problem.

Continue reading “How to Conduct a Live Code Interview (with 3 Full Problems)”