SNAP Interactive is a dynamic, fast-paced technology company creating rich media, multi-platform social experiences such as Paltalk, FirstMet, Camfrog, Tinychat, & more! The mission of our products is to become the leading platform in connecting a global audience of users around interest categories and dating by leveraging live video and chat as the core method of communication. We work at the intersection of Social, Big Data, Location, and Mobile. Our environment is fun and relaxed, our products are ambitious, and our teams are some of the brightest in NYC.
As a member of the Server Development team within SNAP Interactive, the Developer serves as a key contributor in a variety of projects. The Server Engineering team builds solutions to manage high-volume workloads, defend against malicious traffic and provide value to the business.
SNAP's environment is highly collaborative, and the ideal candidate will have an eye for detail and be a team player who enjoys working with others to find cutting-edge solutions to tricky problems.
- Work closely with team members establish next generation platform technology strategy.
- Participate in Agile product development cycles (Scrum/Kanban) in a highly collaborative environment
- Assist in evaluating and specifying new technologies and solutions for current and future products
- Work closely with product managers and designers as well as other architects and developers to build and deliver software solutions to business problems
- Participate in code and process reviews
- At least 5 years of experience in Java, Git, and standard SDLC tools (e.g. Jira)
- Experience dealing with highly concurrent, event-driven architectures/systems
- Experience developing in multi-threaded systems
- Experience working directly with SQL databases (SQL Server and MySQL) and ORMs
- Experience with multi threaded highly concurrent server processes and utilizing solutions such as AKKA, Erlang or other actor based solutions.
- Experience with remote-work environments a plus
- Ability to carefully break down the problem in small pieces
- Ability to effectively communicate problems and solutions to the different team members
- Experience developing TCP/UDP based servers (e.g. Netty, Mina)
- Experience developing in actor based systems (e.g. AKKA, Erlang, Elixir)
- ActiveMQ / ZeroMQ / Kafka / similar
- Experience dealing clustered systems
- Familiarity with service discovery mechanisms (e.g. zookeeper, consul, etcd)
- Exposure to WebRTC based applications
- Multi-tenant architectures deployed in the cloud
- Experience in designing highly available systems
- Implementations on Cloud services including Microsoft Azure, Google App Engine, Amazon AWS, Rackspace