Company
Career Opportunities
« Back to careers
| Position: | Software Developer |
|---|---|
| Location: | Calgary, Toronto |
Call Genie is inventing the future of voice-enabled mobile local search, and we need the best software team in the industry to do it. As a member of our team, you'll be responsible for a variety of small and not-so-small software applications and components that make our products work together and allow our staff to manage them. You'll also help invent better and cheaper ways for us to scale our applications for greater demand and automate previously manual tasks.
We're looking for people who
are brilliant,
get things done on time, and
work well with the rest of our team.
We're very picky about who we hire, and we care a lot more about your problem solving skills and your ability to write well-tested, well-designed, efficient code than we do about how many years of experience you have with which specific technologies. That said, having any or all of the following characteristics would make you more attractive to us
A track record of success with more than one language and technology stack. You may be expected to write or maintain code in Java, Python, C#, Groovy, Ruby, JavaScript, or other languages. Recent Java experience involving Spring and/or Hibernate is particularly valued.
Experience with agile methods such as Scrum and XP, especially as a leader or on a self-organizing team.
Past successes in picking up new domains quickly, cultivating relationships with internal and external customers, and applying domain-driven design to solve customers' underlying problems.
Past experience developing voice applications, telephony, GIS, and/or search engines.
Test-driven and/or behaviour-driven development experience and superior testing skills.
Strong refactoring, object-oriented design and patterns expertise.
Extensive SQL experience, including a clue about good data modeling, query optimization, and object/relational mapping issues.
Experience with aspect-oriented programming.
Continuous integration, source control, and project build expertise, particularly involving Maven, Ant, Ivy, and Subversion.
Skill and interest in mentoring junior and intermediate developers.
A regular habit of reading up on the latest technologies, and a track record of applying them to help projects you've worked on.
The ability to pick up new technologies quickly, evaluate them critically, and recommend or teach them to others.
Passion, enthusiasm, and a commitment to succeed.
Utilize development best practices, methodologies and standards throughout the development process, and helps enforce adherence to our established practices, including: code reviews; QA process; Scrum process.
Write software and test cases to implement new applications, features, interfaces, automation tools, and maintenance changes.
Participates in development activities, including design discussions, planning meetings, providing estimates of effort, peer code reviews, etc.
Actively contributes to the betterment of the development team by: mentoring; advocacy; participation in discussions (online and off); volunteering to present at Lunch and Learns.
Requirments:
A university degree in Computer Science or similar field.
Experience developing software products for commercial, multi-customer release versus internal, corporate/IT release a strong asset
Practical hands-on experience with enterprise-grade development projects using Java, JSP, J2EE application servers, Servlets, Struts, and associated tools.
Solid experience with relational database design and development using Oracle and MySQL.
Proven ability to plan, prioritize, provide up to date estimates, take ownership, find solutions, make decisions and get work done in a fast-paced environment in which priorities and direction may shift frequently. .
Strong analytical and creative problem-solving skills – ability to recognize and find solutions for generalized meta-problems not just specific short-term challenges.
Able to constructively discuss and evaluate design alternatives in a team environment by drawing on a broad knowledge base, objective criteria and best practices.
Sound, practical understanding of iterative, agile development processes and practices such as Scrum.
We don't expect every successful candidate to have every one of those qualities, but they're all pluses. And successfully convincing us that there's an important point that we left off that list, and bringing to us relevant experience in it, would make you particularly attractive.
We offer extremely competitive compensation, a good work/life balance, and the opportunity to help shape the direction of tomorrow's systems. If you're a high performer in search of a great opportunity, and would like to join an all-star team of other high performers, please send a copy of your resume in confidence to careers@callgenie.com, and let's talk!
