Sometimes I refer to my Day Job in my posts. In case you’re curious, here are a couple of words on that Day Job.
Yowza R&D, Since Feb 2014
I work in R&D at a startup called Yowza. At the startup, we’re working on interesting and difficult problems in the field of 3D object understanding. We come up with novel algorithms to process 3D models. You can read more about us on our website.
To do that, our R&D includes math & physics PhDs, and top-notch software engineers. Core algorithmic code is developed mostly in C/C++, while system-level code is mostly Python. By “system level”, I mean stuff that manage production pipelines at scale.
I particularly enjoy working at Yowza for a couple of reasons:
- We have a small team of amazing people. I am able to learn new things every day from any of them.
- Everybody in R&D have the same “title” and “responsibilities” – which includes everything. It doesn’t matter if you’re a math PhD, or an ex-Google software engineer – you are expected to come up with ideas for algorithms, analyze them, implement them efficiently and ready-for-production, integrate your code in the production pipeline, and push to production. While at it, also suggest ways to incorporate your ideas in a product, and throw in some HTML and JavaScript to create a front-end mockup to demonstrate it.
- The CEO is very experienced in the industry (which is not a common thing for small startups in Israel). He’s involved in everything (including code sometimes), and he hates inefficiencies. He doesn’t compromise on quality during recruitment, so he knows he can rely on us. I think this is what enables us to work well without levels of management and explicit titles and roles.
Naturally, different team members have different strengths and weaknesses, and that’s OK. In my case, for instance, I have weaker mathematical background. Most of my time, I take advantage of my strengths to advance the company, which usually includes:
- Working on production infrastructure. Making the algorithmic code run at scale on large datasets using distributed clusters (think Amazon Web Services & Google Cloud Platform).
- Setting development methodologies and workflows. How we use source control (Git with feature branches). How we build our code (have you met SCons?). How we track issues and tasks (trying to implement JIRA). How we collaborate and share knowledge (it’s hard). Testing and coding style standards and tools, Continuous integration, etc.
- IT stuff. Purchasing and setting up new development computers. Automating stuff (like Ansible for dev-env installation). Setting up internal ESXi servers (or outsourcing such tasks).
We’re always interested in adding new talented developers / thinkers to R&D. If you’re interested, send your CV.
Leave a Reply