What's great about the gig?
Work on exciting new technologies
Work with a dynamic global team
Good money for quality work
Software Engineer (Remote)
Candidates should be analytical and have good programming skills. We look for team players who enjoy solving real world problems by developing effective software. Quality assurance including documentation and testing are essential. An ability to communicate concepts to non-technical Clients will be viewed favourably.
A Bachelor's degree is preferred but diploma holders with exceptional portfolio / proficiency are encouraged to apply.
We also look for...
Python and at least one web framework (Django, Flask, etc.)
Event driven programming, threading limitations and multi-process architecture in the context of Python programming
Development philosophies (we appreciate reusable, secure, efficient code)
Communication skills for interfacing with system admins (server side) and front-end developers (user interface)
Understanding of user authentication services and systems (LDAP, OAuth, etc.)
Experience with encryption and data storage solutions (database management, key-value stores, blob stores, etc.)
Experience with Object Relational Mapping (ORM) libraries
Understanding of server-side templating languages (Jinja 2, Mako, etc.)
Unit testing and debugging skills
Proficiency with versioning tools (especially GIT)
Ability to design and read + optimize database schematics
Interest in microarchitecture and other emerging technologies in application scaling is a big plus!
We look for team players who are driven and self-motivated to learn. BiTS creates career opportunities for employees by tailoring work scope to emphasize personal growth.
Typical scope includes...
Feasibility Analysis including operational assessments, problem and requirements definition, solution concepts
Document - flowcharts, layouts, diagrams, charts, code comments and clear code
Prepare and deploy solutions supported by system specifications, standards and programming
Improve operations through systems analysis (Agile and iterative development)
Interface with Clients to study information needs, business flows, data usage, work processes, identify problem areas
Update job knowledge by studying state-of-the-art development tools, programming techniques and cloud computing resources
Participate in educational and networking opportunities, developing and maintaining professional networks (e.g. participating in relevant professional organizations)