We’re looking for a Software Engineer who is passionate about technology, has experience building scalable and robust solutions and can help set the direction of our framework/platform. You will work with a talented group of engineers, designers and product managers and enable them to build new and innovative features for our platforms.
Role & Responsibilities
- Develop, maintain, and grow our current applications, APIs, and analytics pipelines.
- Design, implement, and document new platform features and associated unit tests.
- Modify, enhance, and optimize existing codebases while developing new products.
- Take part in an agile development cycle – including planning, development, testing, deployment, and support operations.
- Identify and learn new approaches and technology as needed.
Required Knowledge, Skills, and Abilities
- A strong desire to explore, learn, and share new technologies, programming languages, and frameworks.
- A love for Git and all that version control provides. Will also accept a love/hate relationship with Git.
- Experience with message broker systems, SQL, and NoSQL technologies.
- Familiarity with either Java syntax, build systems, and some C++.
- Experience in multi-threaded processes.
- Experience with NIO, sockets, etc.
- Familiarity with classes that support concurrent use.
- Familiarity with JNI.
- Understanding of networking concepts.
- TCP protocol stack.
- UDP protocol stack.
- Familiarity with reading RFCs.
Experience using one or more continuous integration, testing, or deployment frameworks.
History of using or willingness to learn to use Linux-based operating systems on a daily basis.
Experience and Education Requirements
- Bachelors degree in Computer Science or related field with programming experience.
- Professional experience working with systems designed to deliver and operate on streaming data in near-real-time, or personal projects related to the same.
Working Conditions and Physical Requirements
- Independent, self-starter to work in office
- Comfortable in the dynamic atmosphere of a technical organization with rapidly evolving technology and expanding customer base
Confidentiality and Discretion
Employee must maintain the confidentiality of all company and customer information. Tact and discretion must be used in all business dealings with all customers, potential customers, and vendors. Unauthorized disclosure of company confidential information will be treated as a serious disciplinary matter.