Lanyard sponsor
ReversingLabs was founded in 2009 with the mission of offering organizations the ultimate in threat detection solutions. In 2017, we were honored to receive the JPMorgan Chase Hall of Innovation Award for our truly unique, automated, and scalable static file analysis, malware classification and malware hunting technologies. Our pioneering technologies, exceptional products, and successful customer deployments also drove a $25 million investment in ReversingLabs, backed by some of the savviest investors in the world.
With our center of development excellence located in Zagreb, and offices in the United States, South Korea and Switzerland, ReversingLabs is poised to achieve rapid growth and deliver groundbreaking innovation in 2019.
Available job positions
Senior Software Engineer
Location: Zagreb, Croatia
ReversingLabs is looking for people interested in joining our Sample Analysis team. You will be part of an effort to analyze all samples ingested into our system in order to provide data for downstream processing and sample classification. Your daily challenges will revolve around designing systems to manage and process files collected from various sources using several analysis tools, on the scale of millions of data points per day.
The team you will be working with develops and runs our sample analysis array based on microservices architecture using Python 2.7/3.6, RabbitMQ running on Docker, as well as physical Linux/Windows-based machines. We analyze 6 million files per day using 5 different analysis tools, including 50 different AV solutions, the YARA engine, and static/dynamic analysis sandboxes.
You will research, design and extend our system to support various analysis tools in order to gather information required for sample classification. You will work on improving our system by enhancing the quality and scale of the existing system, as well as by integrating new technologies into the processing pipeline. Most crucially, we are developing an intelligent system capable of autonomous load-balancing between analysis tools to ensure we meet ReversingLabs' ever-increasing need for data.
In our work, we use Jenkins to build and deploy containers, and Graylog, Influx and Clickhouse DBs for logging and data analysis. We also employ a CI/CD development cycle, follow coding practices, and perform mandatory code reviews.
The key aspect of our work is scalability of the solution we provide in both volume and quality of data we gather and present to our customers.
Responsibilities
- Design, build, and maintain efficient, reusable, and reliable Python code
- Implement performant, high quality modules
- Identify bottlenecks and bugs, and devise solutions to these problems
- Help maintain code quality, organization, and automatization
- Participate in the development of project timelines, implementation design specifications, system flow diagrams, documentation, testing and ongoing support of systems
- Provide expertise and guidance in setting standards, choosing tools, libraries etc.
- Perform code reviews
Requirements
- 5+ years of experience in development
- 1+ year of experience with design of system architecture
- Professional programming experience, preferably in Python or similar (Java, Go..)
- Experience with containerization services (Docker, Kubernetes, …)
- Knowledge of coding practices
- Knowledge of network protocols
- Knowledge of authentication and authorization protocols
- Positive attitude towards teamwork, constant learning, and adapting to new circumstances
Desired Skills
- Experience with PostgreSQL
- Experience with microservices
- Experience with message queueing
- Experience with Docker/Virtualization
- Experience with CI/CD and/or Jenkins/Ansible
Benefits
- Flexible working hours
- Competitive compensation and benefits package
- Permanent contract in a fast-growing global company
- Challenging projects in a dynamic, collaborative team
- Great career advancement opportunities - ReversingLabs encourages internal promotion
- Personal improvement through attending leading conferences and seminars in the field
Software Engineer
Location: Zagreb, Croatia
ReversingLabs TitaniumCloud team is a group of experts responsible for the development and maintenance of distributed systems based on our micro-service architecture called TitaniumCloud.
Our systems boast the following features:
- 300+ high performance servers
- Processing 6+ million input files per day
- Generating 1+ billion new records every day
- Generating 1+ billion of logs per day
- Database with 10^12 records
- Serving 200+ million client requests per day
As a member of our TitaniumCloud team, you will face challenges related to:
- Architecture of distributed systems
- Micro-service architecture
- Real-time processing, storing and reach of large amounts of data
Your tasks and responsibilities will include:
- Development of in-house technologies and tools
- Design, building, and maintenance of efficient, reusable, and reliable Python code
- Identifying bottlenecks and bugs, and devising solutions to those problems
- Providing expertise and guidance in setting standards, choosing tools, libraries etc.
- Performing code reviews
Are you ready to rise to the challenge, improve your skills, and contribute to a team where success has no boundaries?
Requirements
- Experience in working with GNU/Linux-based OS
- Experience with Python, Java, or similar programming language(s)
- Enthusiasm for teamwork, constant learning, and adapting to new circumstances
- B.S. or M.S. degree in a related field
- 2+ years of professional experience
Desirable Qualifications
- Knowledge of development using Flask or other Python web frameworks
- Track record of contributing to open source projects
- Knowledge of RabbitMQ or similar MQ systems and asynchronous communication between services
- Knowledge of virtualization technologies like Docker
- Knowledge of PostgreSQL or other SQL databases
- Knowledge of Influx/TICK stack + Grafana or other system monitoring stack
- Knowledge of Git or similar version control systems
- Knowledge of architecture of distributed systems
Benefits
- Competitive compensation and benefits package
- Permanent contract in a fast-growing global company
- Challenging projects in a dynamic, collaborative team
- Great career advancement opportunities - ReversingLabs encourages internal promotion whenever possible
QA Engineer
Location: Zagreb, Croatia
As a part of our Quality Assurance team, you will have the opportunity to be exposed to and work with many new and exciting technologies and frameworks used in developing our products.
Together we will improve the quality of our products and services by applying our technical skills in assessing product problems, and brainstorm solutions to ensure the delivered products are meeting both functional and technical requirements.
Responsibilities
- Work closely with experienced developers and QA engineers on Enterprise focused applications and APIs in an Agile based process
- Develop and execute manual, exploratory, performance and automated tests in order to ensure product quality
- Estimate, plan, document Test Cases (TestRail), and coordinate testing activities
- Ensure that quality issues and defects are appropriately identified, documented, tracked, and resolved in our defect tracking system (Jira)
- Program automated tests wherever possible to improve the CI/CD pipeline
- Test in virtual (VirtualBox) and cloud based environments
Requirements
- Proficient developing, documenting and executing test cases
- Experience in REST API testing
- Experience in Python (preferred) or other OO programming language
- Working experience with Linux OS
- Ability to understand the big picture and work on cross product assignments
- Outstanding problem-solving, debugging, troubleshooting, and organizational skills
- Must be willing to work as part of a team and have a “can-do” attitude
- Proficiency with SQA concepts and methods
- Strong English language communication skills
Benefits
- Competitive compensation and benefits
- Opportunity to work with Python programming language, Selenium framework, Amazon Web Services (S3, EC2) and other Cloud platforms
- Flexible working hours and great work-life balance
- Opportunities for education and personal growth
- Challenging projects in an international environment
- Perks of our Zagreb office: free coffee, beverages and cookies, mingling and relaxation areas, sports activities, access to technical literature, and more