هرمس کپیتال

استخدام Software Engineer_Mid Level

هرمس کپیتال
تهران
امکان دورکاری

فرصت شغلی
درباره شرکت

تکنولوژی‌ها

    ClojureDistributed SystemNoSQLJVMRelational Database

Here at Hermes AMC we are looking for talented computer scientists and engineers to join and help us in the Design and development of solutions targeting Iran's financial sector - our flagship projects are algorithmic trading engine and monitoring systems.

As a diverse team, we hire at various levels of experience and look for people with unique perspectives and distinguished backgrounds.

As part of our team:

  • You will be working with multiple teams, manage the day-to-day development activities, participate in designs, Design reviews, implementation and Testing all in order to deliver and maintain real-time mission-critical systems that run at ever increasing scale
  • You are granted both the freedom to develop your knowledge by working on novel applications, and a responsibility to contribute those skills toward advancing the flagship projects
  • You will participate in full development life-cycle and deliver high quality artifacts. From problem discovery, requirements analysis, Architecture and Design, all the way to development, deployment and maintenance
  • In addition, you will be involved in developing shared components and tools, analyzing the latest technologies and development trends, establishing and implementing standard practices as well as team building processes like training and mentoring other engineers.
  • And you will working with these concepts and technologies :
    • Languages : Clojure (a modern LISP), and Java
    • Generative Testing, chaos Testing and more generally scalable automated tests
    • Distributed system concepts (consistency models), Architecture, Testing (chaos, formal, property-based and ...) and technologies (e.g. distributed data stores, data grids and their tradeoffs on the consistency-availability spectrum)
    • Programming patterns and practices (functional or otherwise : meta programming, abstractions, morphisms and monads)
    • Core concepts in Design and Architecture of distributed, fault tolerant systems
    • Stream processing models, concepts and technologies (both real time and batch)
    • Container orchestration technologies : Docker, Kuberenetes
    • Techs : Docker, Kubernetes, AMQP, Kafka, SQL DBs, Distributed Data Stores, etc.

Must Have Qualifications:

  • You have a strong academic background in CE/CS
    • Industrial : prior experience participating in Design, development and Testing of enterprise software artifacts
    • Academic : already graduated or currently studying/involved in related programs
  • You have a problem-solving mindset, are an innovative thinker, and able to identify problems, propose solutions and lead their development
  • You have a solid level of programming proficiency and a fast, efficient coder; making coding and Design decision with multiple simultaneous dimensions in mind
  • You are passionate about staying on top of large-scale challenges and ground-breaking changes in Design, implementation and Testing of distributed systems
  • You have a decent foundation in algorithms, concurrency control and complexity analysis
  • You are familiar with various programing paradigms, architectural patterns and their challenges and trade-offs
  • You possess team-player mentality
  • High attention to detail and proven ability to manage multiple, competing priorities simultaneously
  • You are able to work with a minimal technical supervision and supplemental engineering support

Preferred Qualifications

  • Working level understanding of sophisticated distributed systems, storage and coordination technologies
  • You are the kind of person who naturally creates new opportunities and drives projects to completion, sometimes across several functions and groups
  • You have a solid level of programming proficiency and experience in one or more of the following: Clojure or other functional programming languages, Java or other JVM-based
  • You have a deep knowledge of JVM and past enterprise experience with JVM-based technologies
  • You have a decent-level knowledge of system Architecture with an understanding of cross-cutting concerns and their interplay in how they form a candidate solution (e.g. operational and reliability trade-offs)

Please note that we hire at various levels of experience (entry, junior, senior). So if you're up for the challenges but feel you may lack some of the qualifications we encourage you to send your resumes nonetheless.

مزایا

  • صبحانه ناهار به همراه میان‌وعده
  • بیمه تکمیلی
  • Flexibility
  • برنامه‌های ورزشی
  • هدایای مناسبتی