Senior Software Development Engineer

  • World Jobs
  • Seattle, WA, USA
  • Apr 07, 2018
Full time Information-Technology Software-Developer

Job Description

Job Overview 

Responsible for the design, development and maintenance of Marchex’s software, services, and applications. 

Job Impact 

As a Senior Software Development at Marchex you will participate in the design and development of the systems and tools used daily in our VOIP technology platform. You will help to apply our innovative solutions that solve real world problems as long-running, scalable software applications maintaining the highest levels of availability and satisfaction among our clients, both internal and external. 

Team 

We make sure calls always connect! Our team is at the core of what Marchex does; connecting callers to our advertisers. Our VOIP technology stack is incredibly reliable, and enables deep analytics and thoughtful insight to be derived from phone calls. In charge of Marchex’s most mission critical software, we are a highly collaborative agile team that is empowered to create high quality services that are well tested and robust to almost every failure. It’s imperative to the success of every product and every partner and client Marchex has and we deliver. 

Outline of Duties and Responsibilities 

  • Design and develop components for major business systems and applications based on corporate objectives and assigned tasks.
  • Write maintainable, efficient, and well-documented code using engineering best practices.
  • Adhere to company-wide coding standards for enhancing code readability, supportability, and extensibility. Analyze, propose, and develop solutions for technical problems and issues with assistance from peers or supervisors.
  • Create and maintain high-quality technical documentation for all relevant specifications, systems, and procedures.
  • Meet all development milestones and business objectives on schedule.
  • Participate in team-based code reviews; provide feedback and suggestions to other members of the development team, and incorporate ideas from members of the team into developed applications.
  • Collaborate with other Marchex employees and teams to ensure strong products and that all functional concerns are addressed.
  • Support the Guiding Principles and vision of the company and the team through role modeling and encouraging desired behaviors.
  • Participate in various company initiatives and projects as requested.
  • Support the vision and values of the company through role modeling and encouraging desired behaviors.
  • Participate in various company initiatives and projects as requested.

Experience, Skills and Qualifications 

  • BS or advanced degree in computer science, engineering, or related technical field or equivalent professional experience.
  • 7+ years full time professional experience in software design and development using a diverse set of programming languages, frameworks, and systems, for example: Java, Javascript, NodeJS, .Net, C#, Ruby, RoR, Perl, etc.
  • Telephony and UDP based network protocols are a plus but not required. Technologies and protocols that we work with include: FreeSWITCH, Asterisk, VOIP, SIP, and RTP
  • 4+ years of experience implementing database-driven, web-based applications with Oracle, MySQL, Demonstrates clear understanding of TDD, knowledge of SQL relational databases and nosql databases.
  • Demonstrated experience developing RESTful services, such as JSON, XML-RPC, etc.
  • Passionate about working with agile development practices with a focus on delivering proven features frequently.
  • A strong desire to learn new technologies.
  • Strong analytical skills with the ability to resolve a wide range of issues in imaginative and practical ways. Must demonstrate the ability to select best methods and techniques for solving complex problems.
  • Understanding of Object Oriented design, algorithms, data structures, data modeling & optimization.
  • Familiarity with distributed source control management systems such as GIT.
  • Linux/Unix knowledge a plus.
  • Familiarity with the Unix shell and its commands a plus
  • A demonstrated desire to build software without fear, taking pride in what you create.
  • Ability to communicate professionally and effectively with technical and non-technical staff across the entire company, including product managers, business management, leads, and peers.

Working Conditions 

The job conditions for this position are in a standard office setting. Employees in this position use PC and phone on an on-going basis throughout the day. Limited corporate travel may be required to remote offices or other business meetings and events.