Bachelor’s degree in Computer Science, Human-Computer Interaction, Design, or a related field. Master’s degree or PhD are a plus.
Strong understanding of User Experience (UX), including user research methodologies, usability testing, and wireframing skills.
Proficiency in application of algorithms, data structures, and problem-solving techniques in the context of UX development.
Collaborative skills to work effectively with designers, developers, and other stakeholders
Experience in designing CAD tools is a plus.
Knowledge of emerging technologies such as Artificial Intelligence is advantageous.
English language proficiency is required.
Position 2: Software Engineer
Algorithms and Data Structures: know your arrays, dictionaries, graphs, and how to populate and traverse them.
Quick learner: this is much more important than knowing any particular programming libraries.
Knowledge of Python and Javascript.
Familiarity with Abstract Syntax Trees, reachability algorithms, hashing, and sub graph matching.
Ideal candidate. One that is able to write algorithm for topological ordering of DAGs, and can use it to write a hashing function of DAGs, and can mathematically prove certain properties including deriving expressions for probability of false positive collision.
Knowledge of Virtualization.
Knowing how to start multiple DB servers (e.g., Postgres) on one system. Knowledge of SQL an
no-SQL systems: how to set-them up and scale them.
Knowledge of DNS, nginx, being able to host multiple domains one one serving machine
Knowledge of load-balancing
Used any web framework to create reasonable-sized applications (any framework).
Nice to have:
· If you have co-developed the backend for it.
· Practical experience with Docker, e.g., through python APIs