Overview
DialogTech, the leader in voice-based marketing automation (VBMA), manages, measures and automates voice conversations for businesses and organizations. DialogTech’s VBMA solutions capture and manage phone leads and information that often slip through the cracks of traditional marketing automation and CRM software solutions. Here, along with some of the smartest people in the city, you will help us grow our products and infrastructure to meet our rapidly expanding customer base.
Be a part of a team pushing the boundaries of web technology to provide VoIP infrastructure and online services at scale. We process 10’s millions of minutes a month, across our own datacenter and cloud infrastructures. From helping to build out our API to helping our customers make sense of the massive amounts of data generated by their phone calls, at DialogTech we have no shortage of challenges and opportunities.
As a Software Engineer focused on Real-time Communications, you will spend much of your time developing powerful voice communications apps using the open source Adhearsion Ruby application framework. You will build dynamic voice applications that enable our customers to control the user experience of voice communications in real-time using our webhook API. Your solutions will often be multi-threaded and will scale to handle thousands of concurrent conversations.
While building scalable Ruby applications, you will also develop valuable experience with real-time voice communications, as you learn of the underlying VoIP protocols that your high-level Ruby business logic controls. You will gain experience with the open source Asterisk telephony PBX that runs under Adhearsion. And you will also learn how to analyze the underlying VoIP network traffic that you control to ensure that it is behaving as you desire. This is an opportunity to become a true full stack developer!
Essential Duties and Responsibilities:
-
Create interactive voice applications using the Adhearsion framework
-
Develop highly-performant, multi-threaded Ruby code using JRuby
-
Write modular, reusable, testable code
-
Receive and apply collaborative feedback in peer code reviews
-
Design and communicate best practices for software engineering in design reviews
-
Use strong analytical and diagnostic skills to solve problems
Required Skills & Qualifications:
-
3+ years of Ruby development experience (extensive experience in another language may be substituted)
-
Experience with an application framework such as Rails or Sinatra
-
Experience with a unit testing framework such as RSpec or Test::Unit
-
Comfortable with the concepts required to construct multi-threaded code
-
Comfort in working in a Linux environment with various CLI tools
-
Knowledge of object-oriented programming and design patterns
-
Professional experience working as part of a team committed to hitting deadlines
-
Experience with a modern VCS (git, hg, bazaar, svn, etc.)
-
BS in Computer Science or equivalent experience