Published on May 2019
High-level system design: definition of the server-side system's modules/services and how they interact with users (both web-based and mobile) as well as with each other.
Integration of user-facing elements developed by a front-end and mobile application developers with server-side logic.
Optimization of the system software for performance and scalability, e.g., use of caching, choice between single (event-based) or multi-threaded implementations.
Design and implementation of data storage solutions, e.g., selection between Relational or NoSQL technologies.
Ability to explain the technical trade-offs of different approaches, including estimating how long each one will take to build.
Build reusable code and libraries for future use.
Ability to learn and introduce new technologies (programming languages, frameworks, cloud-based services) to our systems as technologies evolve.
Solid foundations in Computer Science principles including Algorithms, Data Structures, and Databases.
Basic understanding of Computer Systems Organization, Operating Systems, Computer Networks and Distributed Systems in order to understand how theory has direct impact in every-day software development choices, for example single vs. multi-threaded approaches, on-line vs. off-line computations, push vs. pull messaging among multiple modules/services.
Passion with Software Engineering and the development of clean and efficient computer programs.
Familiarity with text-based data representation technologies such as JSON, XML and CSV. Binary formats (e.g., Google Protocol Buffers) will be considered a plus.
Integration of multiple data sources and databases into one system.
Creating database schemas that represent and support business processes.
Implementing automated testing platforms and unit tests.
Proficient knowledge of one server-side programming language between Java, C# or Python. More than one will be considered a plus.
Experience with code versioning tools, preferably Git.
Highly competitive salary
Excellent working environment
Training programs & certifications
Developer conference attendance and talks
Send us an email with your resume, portfolio examples, and explaining why you are the perfect fit for this position.