< Careers at Yodle
Apply Now

Quantitative Software Developer

New York, NY

Job Overview

Yodle’s Optimization Team is a small group of quantitative professionals who work within our Product & Marketing department. Our work involves the research and development of optimization algorithms that have a direct impact on the company’s bottom line. Specifically, we apply rigorous quantitative methods (e.g., constrained optimization, parametric/non-parametric estimation) in delivering efficient, scalable technologies to solve a myriad of very challenging problems. Recent work has ranged from applying censored data techniques in model estimation to the full design and implementation of a daily QA-test environment. The team works in a fast-paced, dynamic environment filled with opportunities for both personal and professional development. And most importantly, we have fun doing what we do!

We are currently seeking a talented Quantitative Developer for the Optimization Team. The ideal candidate has strong quantitative abilities as well as hands-on experience in implementing complex ideas in a practical manner. The candidate will be the consummate team player and feel comfortable with the dynamic pace of an Internet startup, participating in all phases of product development from research to implementation and maintenance. The ability to clearly communicate in both a concise and precise manner is an absolute must. This position reports to the Manager of Optimization.

Responsibilities

• Researching and evaluating mathematical models
• Implementation and testing of models in Java
• Performing data analysis on large data sets
• Communicating results of work with teammates
• Maintenance and operations of algorithm software

Qualifications

• BA/BS/MA/MS in relevant courses of study (e.g., Computer Science, Mathematics, Physics)
• 1-4 years of experience in a Quantitative/Software Development environment
• Excellent written and spoken communication skills and the ability to thrive in a team-oriented environment
•  Self-motivated, have a positive attitude and demonstrated ability to work independently
•  Must be able to provide practical solutions to real-world problems
•  A basic understanding of probability theory - required
•  Proficiency in an object oriented programming language: Java (preferred), C# or C++
•  Proficiency in the UNIX/LINUX environment
•  Experience using relational databases(Postgres/MySQL/SQL Server) , writing SQL, using a scripting language such as Python or Ruby, using an IDE (Eclipse or NetBeans), and doing build scripts with Ant or Maven, while not required, are desired skills.

Benefits

What we offer to you:
• An opportunity to further enhance your skills and refine your talent
• Competitive base
• Tuition assistance
• Health/Dental benefits, 401 (K) plan
• Great work environment - we have fun!
• Accessible and open-minded leadership
• Opportunity to work with smart people and learn a lot about one of the fastest growing industries

To Apply:

Two options:
• Use the Apply Now button at the top of the page,
• Or to get your resume to the top of the stack, solve one of the problems below:. The second problem is a bit more difficult so if you really want to jump to the front of the line, try that one. Or do both for double the fun!

1 - Triangle

Triangle
By starting at the top of the triangle and moving to adjacent numbers on the row below, the maximum total from top to bottom is 27.

        5
      9  6
    4   6  8
  0   7  1   5

I.e. 5 + 9 + 6 + 7 = 27.

Write a program in a language of your choice to find the maximum total from top to bottom in triangle.txt, a text file containing a triangle with 100 rows. Send your solution and resume to [123456 AT yodle dot com], replacing 123456 with the maximum sum for the triangle.

2 - Juggle Fest

Many developers here at Yodle are avid jugglers. To celebrate their prowess we are organizing a Yodle Open JuggleFest, but we need your help planning it. There will be thousands of participants split into teams. Each team will attempt to complete a juggling circuit consisting of several tricks. Each circuit emphasizes different aspects of juggling, requiring hand to eye coordination (H), endurance (E) and pizzazz (P) in various amounts for successful completion. Each juggler has these abilities in various amounts as well. How good a match they are for a circuit is determined by the dot product of the juggler’s and the circuit’s H, E, and P values. The higher the result, the better the match.

Each participant will be on exactly one team and there will be a distinct circuit for each team to attempt. Each participant will rank in order of preference their top X circuits. Since we would like the audiences to enjoy the performances as much as possible, when assigning jugglers to circuits we also want to consider how well their skills match up to the circuit. In fact we want to match jugglers to circuits such that no juggler could switch to a circuit that they prefer more than the one they are assigned to and be a better fit for that circuit than one of the other jugglers assigned to it.

To help us create the juggler/circuit assignments write a program in a language of your choice that takes as input a file of circuits and jugglers and outputs a file of circuits and juggler assignments. The number of jugglers assigned to a circuit should be the number of jugglers divided by the number of circuits. Assume that the number of circuits and jugglers will be such that each circuit will have the same number of jugglers with no remainder.

Input file
One line per circuit or juggler. All circuits will come before any jugglers. Circuit lines start with a C and juggler lines start with a J. Names of circuits and jugglers will never have spaces. A skill and the rating for that skill are separated by a colon. Circuit lines have the circuit names followed by skills. Juggler lines have the juggler names followed by skills, followed by circuits in order of preference, separated by commas. Example:

C C0 H:7 E:7 P:10
C C1 H:2 E:1 P:1
C C2 H:7 E:6 P:4

J J0 H:3 E:9 P:2 C2,C0,C1
J J1 H:4 E:3 P:7 C0,C2,C1
J J2 H:4 E:0 P:10 C0,C2,C1
J J3 H:10 E:3 P:8 C2,C0,C1
J J4 H:6 E:10 P:1 C0,C2,C1
J J5 H:6 E:7 P:7 C0,C2,C1
J J6 H:8 E:6 P:9 C2,C1,C0
J J7 H:7 E:1 P:5 C2,C1,C0
J J8 H:8 E:2 P:3 C1,C0,C2
J J9 H:10 E:2 P:1 C1,C2,C0
J J10 H:6 E:4 P:5 C0,C2,C1
J J11 H:8 E:4 P:7 C0,C1,C2

Output file
One line per circuit assignment. Each line should contain the circuit name followed by the juggler name, followed by that juggler’s circuits in order of preference and the match score for that circuit. The line should include all jugglers matched to the circuit. The example below is a valid assignment for the input file above.

AroundTheWorld Bob AroundTheWorld:131 Factory:146, Ann AroundTheWorld:130 Factory:126
Factory Sam Factory:184 AroundTheWorld:175, Jen AroundTheWorld:116 Factory:127

Run your program on this input file which contains 2000 circuits and 12000 jugglers. Send us both your code and the output file to the following e-mail address: the sum of the names of the jugglers (taking off the leading letter J) that are assigned to circuit C1970 @yodle.com. So for example if the jugglers assigned to circuit C1970 were J1,J2,J3,J4,J5 and J6 you would send your solution to .(JavaScript must be enabled to view this email address)

About Yodle

Yodle is a Bessemer ventures funded company in the midst of a major national roll out that will grow our client base dramatically over the next several years. We provide search-engine advertising and online lead generation services to small businesses. Yodle has developed an integrated approach to signing up and serving local businesses that are transitioning their marketing budgets online. We provide local businesses with a simple way to cost-effectively acquire more customers by advertising on the major search engines including: Google, Yahoo, AOL, Ask, and MSN.

Local Search is considered the new frontier in paid search marketing, the fastest growing area of both technology and advertising and the key driver of Google, Yahoo, and MSN. Over $100 billion is spent on local advertising in the U.S alone. $3 billion of that has already transitioned online. A significant opening exists to devise, build, and capitalize on this opportunity within the next 2-4 years.

Yodle Inc. is an Equal Opportunity Employer, and does not discriminate based on age, gender, religion, disability, marital status, race and also adheres to laws relating to non-discrimination on the basis of national origin and citizenship status