Senior Software Engineer with Proficiency in Algorithms and Math
Местоположение и тип занятости
Do you get a kick out of watching software unfold before your eyes? Do you dream about code every night? If so, we'd love to talk to you about a new product we're developing in the space of Artificial Intelligence and Business Intelligence. We're looking for a top-notch Senior Software Engineer who always sweats the small stuff and cares about impeccable code while having no fear for complex math. If you see glitches as an enjoyable challenge rather than a hardship and are willing to put in long hours to see the project come to fruition, then get in touch with us today. You will be joining a highly professional engineering team. You will be working under close guidance from our CTO, a renowned software architect from Silicon Valley and best-selling author of software architecture textbooks. Expect to learn a lot and advance your engineering skills way beyond traditional coding.
• Develop a new software from the ground up, staying true to our company's core values and needs while lending your own creativity to the mix.
• Focus on creating reliable, scalable, readable, and maintainable software.
• Write tests to ensure compliance with requirements, backward compatibility, and stability.
• Learn new technologies, languages, methodologies, and frameworks as required.
• Take responsibility for the software you produce.
• Embrace teamwork and business priorities.
• Bachelor's Degree (or higher) in Software Engineering or Information Technology
• 5+ years of experience in software development
• Extensive experience with C++ (C++ 20 preferred)
• Extensive experience implementing statistical algorithms
• Experience implementing sorting, searching, and indexing algorithms
• Experience writing concurrent algorithms
• Experience writing socket-based communication protocols
• Experience working with structured data files
• Experience using third-party math and stats libraries
• Experience writing unit tests
• Experience working with Git (Github preferred)
• Experience estimating development effort
• Experience evaluating the performance profile of an algorithm
• Deep understanding of performance profiling and optimization
• Deep understanding of memory management in C++
• Deep knowledge of safe pointers in C++
• Deep understanding of statistics
• Team player attitude with a willingness to lead when necessary
• Experience in efficiently working remotely
• Devotion to learning new methodologies and technologies on a continuous basis
Preferred Qualifications and Skills
• Hands-on experience working with AWS cloud services (DynamoDB, SQS, Kinesis, S3, CloudFront, API Gateway, Route 53, CloudWatch Metrics, CloudWatch Logs, IAM)
• Hands-on experience building serverless applications in AWS cloud
• Hands-on experience working with SQL databases (MySQL preferred)
• Hands-on experience working with NoSQL databases (DynamoDB preferred)
• Hands-on experience working with Graph databases (Neptune preferred)
• Hands-on experience with Machine Learning (Artificial Neural Networks, k-Nearest Neighbor)
• Experience working with coroutines and generators in C++
• Experience building compilers or interpreters
• Understanding of database engine internals (disk store, partitioning, indexing, transactions)
• Understanding of Set Algebra
• Understanding of Linear Algebra or Tensor Calculus
• Understanding of Graph Theory
• Understanding of Game Theory
• Understanding of Dynamic Programming
Remote job, the salary level depends on experience and knowledge. An online test task is provided.