Type: Contracted to Full Time
Min. Experience: Mid Level
Do you feel like another cog in the wheel of daily deals? Do you currently have a 6 day work week and are looking for a change? Do you want to work for a company that is making a difference? If you answer yes to the above then you may have found your dream job.
If you are an expert we want you to help lead a team of developers as we build on our recent successful launch of viaProtect and release the next generation of viaExtract and viaLab. If you are new to programming, but loving Python we can help groom and hone your skills. If you are anywhere in between, then be part of our small development team, where success is defined by making our great products even greater.
- Understand the purpose of the tools created by viaForensics Security/Forensic Engineers.
- Focus on code quality through adherence to standards, unit testing, and other means.
- Contribute to/make architectural decisions to achieve logical separation of concerns, intuitive API design, etc.
- Recognize and control for security vulnerabilities in application code.
- Document products using the standard documentation practices for the technology being used (eg. docstrings/reStructuredText/Sphinx for Python projects).
- Understand and address considerations involved in the path from development to deployment (in the case of web products) and software packaging and distribution, relevant IP protection concerns (in the case of desktop application products).
- Experience with Python.
- Experience with SQL in either a PostgreSQL or MySQL context.
- Experience with *nix operating systems (we use Ubuntu Linux and OpenBSD).
- Experience with Django or other Python/MVC web frameworks.
- Thorough knowledge of/adherence to best practices like coding standards (PEP-8), unit testing, object-oriented design.
- Experience with at least one UI toolkit for creating desktop applications, preferably PyGTK.
- Release management experience.
- Experience with continuous integration environments like Jenkins.
- Knowledge of/experience with MongoDB or other NoSQL projects.
- Experience with Android OS.
- Experience with agile development practices.
- Strong communication skills and a high level of professionalism.
- Ability to work independently and with a team.
The Pragmatic Programmer: From Journeyman to Master