Skip to content

Instantly share code, notes, and snippets.

@davisshaver
Last active October 29, 2015 20:26
Show Gist options
  • Save davisshaver/ee56c0895f5120612707 to your computer and use it in GitHub Desktop.
Save davisshaver/ee56c0895f5120612707 to your computer and use it in GitHub Desktop.
Philadelphia Media Network – Tech/Product Jobs

The Philadelphia Media Network is seeking engineers to join a new development team within its Systems division. As an early engineering hire on this team, you will have a large role in shaping its culture, values, and workflow.

Engineer

Interested? Email us.

The technical stuff:

  • Rails experience would be great, but at least you should be willing to learn. We will be maintaining and enhancing a Rails CMS built to manage our new mobile app. Don’t worry though, you will be inheriting a stable, well-documented, and test-driven project.
  • “Fullstack” projects should be comfortable to you. We want engineers who are interested in the entire product development process – understanding needs, vetting technical approaches, planning work to be done, and engineering in an agile manner. Learning and problem solving are two of your favorite things to do.
  • Git, unit tests, and coding standards are all familiar to you, and you understand why we practice those skills in our enterprise development (even if your personal projects don’t always abide by the same conventions).

Nice-to-haves:

  • Experience with WordPress, Python, Backbone, Node, and/or React
  • Experience with style guides, Sass, and other frontend build tools/techniques
  • Experience with native apps (Android, Objective C, Swift)
  • Experience making data-driven decisions and/or implementing A/B tests
  • Open source contributions (we’ll want to see some code, so if you don’t have open source contributions, we may ask you to complete a code exercise)
  • Active in a technology community or meetup

About us:

  • Publishers of the Philadelphia Inquirer, the Philadelphia Daily News, and Philly.com. Comscore says we have the largest digital audience in the area.
  • Investors in digital technology and talent. From a redesign led by Happy Cog and SuperFriendly, to a millennial-focused mobile app stewarded by startup veterans, to an active incubator program, we are working to give our newsrooms the digital presence their journalism deserves.
  • Believers in our ability to build a thoughtful and diverse team. We are considerate, passionate, and innovative people, and we want to work with like-minded technologists to do great work.
  • Dedicated to Philadelphia. We think it’s critical that local journalism remains a part of our community, and it’s our job to innovate on how that journalism is reported, produced, distributed, consumed, measured, and monetized.

About you:

  • Shipper of software. You have seen a project through from start to finish. You have made mistakes and can explain what you learned from them. You have had successes and can explain what went right.
  • Lover of code. You see the intrinsic value of writing clean, consistent, and testable object-oriented code, regardless of language. You want to work with others who feel the same about their craft.
  • Communicator of ideas. You see the world as it should be, not how it is, and you can explain to others how and why we can work towards your vision. You can express your thoughts clearly and want to engage with a team that cares what you think.

Preliminary Interview Questions

A collection of questions we typically ask job applicants in their preliminary phone interview.

  1. What interested you about this position?

  2. Talk me through a recent project:

    • What were the requirements?
    • What issues did you run into and how did you overcome them?
    • How did you arrive at the final solution(s)?
  3. If you get stuck on a problem what do you do? Where do you go to find help?

  4. Describe your ideal working environment.

  5. What technologies, tools, programming languages, etc. do you like to work with?

  6. What technologies, tools, programming languages, etc. do you not like to work with?

  7. Describe a recent collaboration with a colleague that you feel went successfully.

  8. Do you have experience working with newsrooms?

    • If yes, what are some challenges you’ve encountered and how did you overcome them?
    • If no, how do you imagine working with newsrooms might differ from working with other organizations?
  9. What are your short and long-term career goals? What about this position do you feel will help you to attain them?

  10. What are your interests and hobbies, relevant or otherwise, outside of work?

  11. Do you have any questions for me?

Thanks to INN, whose open source interview questions inspired our own list.

Technical Interview Questions

A collection of questions we typically ask job applicants during technical interviews.

Scenario

The date is January 4. You are well rested after a festive holiday season. 🎉

Your team has 30 days to launch an MVP daily analytics email that draws and synthesizes data from various sources.

You are technical lead. You are working with a product manager, a junior engineer, and a frontend developer who has good UX instincts.

Let's begin.

Question 1: Product Definition
  • Here's what you know about the product:
    • We have a list of email addresses.
    • Each morning we want to send those addresses an email.
    • The email will contain a set of modules related to digital publishing, mostly our own analytics info.
    • This info is available through a variety of 3rd-party API's, which are well supported by official and unofficial libraries.
    • We will start with a module that summarizes top-line key perfomance indicators and then add modules in subsequent cycles.
    • At some point we may want to personalize email contents to the recipient based on the email address or another unique identifier.

What questions do you have to start?

Question 2: Architecture
  • The external API's are all RESTful.
  • For the initial module, the amount of data we need will be limited, but future modules may be representing up to 30 days worth of data.
  • We think we may need a database or data warehousing solution, but we don't have a great framework right now to answer this question.

What architecture/technologies would you lean towards? Describe your thought process.

Question 3: Infrastructure
  • We have a co-located data center as well as access to AWS or Heroku.
  • The data center has a sysadmin who can help if we go that route.
  • Otherwise you assume devops responsibilities.

Where would you want to host the stack? Describe your thought process.

Question 4: Defensive Programming & Testing
  • We know we want unit tests and functional testing on the application.
  • However a lot of the application depends on external API.
  • This means we think that in addition to testing, traceability will be important.

How would you approach testing and monitoring for this product? Describe your thought process.

Question 5: Engineering Collaboration
  • Your junior engineer has been making pull requests that are rough around the edges.
  • You get the sense when talking to the engineer that she views code review as a chore.

Describe your philosophy on code review. What would you tell the junior engineer? Describe your thought process.

Question 6: Bug!
  • Ok, so you've launched an MVP. Cool! Except wait...
  • This morning's email failed to send at its normally scheduled 6am delivery time.
  • You check your logs, and you can see that one of your 3rd-party API endpoints randomly failed with a 500 error and so the email failed to send.

It's 8am and you just got into the office and checked the logs. Describe what you would do next. How would you prevent this from happening again?

Ruby Questions

  • What's an object in Ruby?
  • What's your favorite testing tool?
  • What are Gems and which are some of your favorite?
  • Can you explain the difference between classes and modules?
  • Could you give an example of using a mixin?
  • Can you explain the difference between private, protected, and public methods?
  • What is a closure? What are some ways to do a closure with Ruby?

WordPress Questions

  • What is the difference between WordPress.org and WordPress.com?
  • What are plugins and which are some of your favorite?
  • What does "Sanitize Early, Escape Late" refer to?
  • What is Hello Dolly?
  • When would you use raw SQL in a WordPress theme?
  • You need to retrieve data from some remote data source once a day. What are some WordPress API's you would use?
  • What frustrates you about WordPress?

Fun Questions

  • What's a cool project that you've recently worked on?
  • What are some things you like about the developer tools you use?
  • Do you have any pet projects? What kind?
  • What's your favorite feature of Internet Explorer?
  • How do you like your coffee?

Thanks to H5BP, Ryan Sobol, and Jake Goldman, whose front-end interview questions, Ruby interview questions, and WordPress interview questions inspired our own list of technical questions.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment