product + design + engineering
As a product driven software engineer in Artificial Intelligence, you'll typically find me using the following tools as they're great for building products end to end:
- Dynamic, interpreted, programming languages such as
python
andjavascript
to build the backend and frontend. - Static, compiled, programming languages for heavy lifting such as
golang
or those that run on the JVM,java
. - Markup languages for presenting and styling information and content such as
html
,css
withsass
, andjsx
for React. - Version control systems like
git
andhg
hosted on GitHub, GitLab or Atlassian to work collaboratively, ideally using trunk based development. - Miscellaneous operational tools and services such as
docker
to contain services,kubernetes
for orchestrating them, CircleCI for buildingCI
andCD
pipelines, andaws
to put services into production. - Data exploration tools such as
juypter
andipython
paired withnumpy
and other tools to figure out if things are correct or to gain new insights.
If you don't see what your team is using, don't worry! I use the right tools for the job and I'm not tied to any particular stack. Personally, I believe it's really important to build things with sound engineering principles regardless of the stack that also makes sense for the business.