Software Architect

Job description

Job description

Responsibilities

  • Collaborate with Software Engineers, Product Managers and customers to design and implement software product
  • Profile and optimize product components to deliver highly available, reliable, scalable, and performant software solutions
  • The core Python engine for concurrently executing multiple client request for complex (user defined) analytics
  • Data retrieval components and analytic functions
  • Containerization of the Python engine using Docker
  • Secure user defined functions, while validating that the functions are not malicious
  • Focus on low-latency and compositional analytics

Required Skills/Experience

  • BS or MS in Computer Science, Software Engineering or equivalent specializations
  • 7+ years of hands-on experience in architecting, designing and building scalable and high performance cloud infrastructure for compute intensive solutions, and delivering solutions with high availability, service availability, and patching without service downtime
  • Strong understanding of architectural principles for cloud based platforms such as SaaS, PaaS, IaaS, multi-tenancy, multi-tiered infrastructure and application servers

 

Experience with

  • Programming languages such as Python, Javascript, Pearl
  • Frameworks and OS such as Flask; Linux/Unix
  • Relational data bases such as Postgres
  • Enterprise integration architectures such as RESTful
  • Distributed computing leveraging multi-threading, map-reduce
  • Web Servers such as Apache, Ngnix
  • Distributed and local caching technologies including Memcached, Redis
  • One of more Cloud platforms including AWS(preferred), Google
  • Cloud tools for provisioning, deployment, load balancing, auto-scaling, monitoring, and cost optimization
  • Security frameworks such as OAuth, WS-Security, Encryption, HTTPS/ TLS

Send your CV at career@3gca.org