Hi, my name is Alex Petrusca
And I like coding.
I am passionate about

Skills

My relevant computer programming skills. High ratings correspond to "very comfortable with" and low ratings correspond to "not very comfortable with."

Other

Experience with x86 Assembly (NASM), NumPy, Git, Apache Maven, LaTeX and Unix/Linux.
Java experience includes backend development and testing with Spring, JUnit, and Selenium.
JavaScript experience includes frontend development with AngularJS, JQuery, and CoffeeScript.

Experience

Full-Stack Software Engineer at DataVisor

2019 - Present | MOUNTAIN VIEW, CA
  • Built tools that allow customers to monitor, analyze, and take action against fraudulent activity in real time using Angular, React, and Node.js
  • Created interactive heat maps, graphs, and dashboards to visualize fraud using D3.js
  • Led the technical design and development of an integration testing framework based on Selenium that was used by the UI and QA team to write 200+ test cases
  • Implemented a framework in Java to query Prometheus and generate snapshots of Grafana dashboards on-demand for secure external display to customers
  • Maintained build script, Dockerfile, and Helm config for frontend Node.js server

Full-Stack Software Engineer Intern at DataVisor

2019 | MOUNTAIN VIEW, CA
  • Developed an internal dashboard to manage UI releases to client environments
  • Ported 10+ internal administrative webpages from AngularJS to Angular 8
  • Automated the deployment of UI services using Bash, Groovy, Docker, and Jenkins

NLP Undergraduate Researcher at UCSC

2019 | SANTA CRUZ, CA
  • Implemented a baseline LSTM sequence-to-sequence model with attention mechanism for neural story generation using Pytorch (Test Perplexity: 20.97)
  • Wrote evaluation metrics in Python to gauge inter- and intra-story repetition
  • Worked with PhD researcher to help write, peer-review, and submit research paper
  • Paper accepted to AACL 2020 and INLG 2020 (Paper Link)

Software Engineer Intern at Paxata

2018 | REDWOOD CITY, CA
  • Enforced expected behavior through 20+ bug fixes and 10+ integration tests
  • Fixed a widespread performance issue related to lack of parity between frontend and backend object representations
  • Fixed a performance issue with dataset version loading related to multiple unnecessary server calls from the frontend

Software Developer at Gesher Labs

2018 | REDWOOD CITY, CA
  • Build internal tools for the 50+ Gesher Group members to use
  • Built a Slack bot to help facilitate interviews between new and veteran members of Gesher
  • Developed a web-scraping application for UCSC cafeterias and presented it to the members of Gesher

Full-Stack Software Engineer Intern at Paxata

2017 | REDWOOD CITY, CA
  • Developed a landing page to expedite common workflows using Agile methodology
  • Designed Scala APIs and AngularJS interfaces that query MongoDB for metadata on prioritized projects (NoSQL)
  • Wrote JUnit tests and Selenium integration tests for the new landing page

Education

UNIVERSITY OF CALIFORNIA, SANTA CRUZ
Computer Science B.S., 2016 - 2019
  • Received over 3 years for "outstanding academic achievement"

Relevant Coursework

  • looks_one CMPS 128: Distributed Computing
    Available, fault-tolerant distributed key-value store that provides causal and eventual consistency with sharding and replication.


    Topics: Distributed communication, naming, synchronization, consistency and replication, fault tolerance, security, parallelism and scaleup, and peer-to-peer systems.
  • looks_two CMPS 109: Advanced Programming
    Distributed parallel password cracker for UNIX salted passphrases.
    Reliable distributed parallel MSD Radix sorter.
    Configurable test harness for geometric bounds checking.

    Topics: Multithreading, distributed computing, TCP, UDP, Berkeley socket communication, and object-oriented design. Focus on C++.
  • looks_3 CMPS 142: Machine Learning and Data Mining
    Topics: Classification learning, density estimation and Bayesian learning regression, online learning, neural networks, decision trees, boosting, and nearest neighbor techniques.
  • looks_4 CMPS 102: Introduction to Analysis of Algorithms
    Topics: Divide-and-conquer, greedy algorithms, dynamic programming, min-cut max-flow, Big-O runtime analysis, algorithmic proof of correctness, and LaTeX.
  • looks_5 CMPS 104A: Fundamentals of Compiler Design
    Fully working compiler with Preprocessor (CPP), Lexer (Flex), Parser (Bison), symbol table and type checker, and intermediate code generator.

    Topics: Compiler structure, symbol tables, regular expressions and languages, finite automata, lexical analysis, context-free languages, LL(1), recursive descent, LALR(1), and LR(1) parsing; and attribute grammars as a model of syntax-directed translation.
JavaScript Take a look
Checkers Engine

Artificial Intelligence

Connect Four Engine

Artificial Intelligence

Handwritten Digit Classifier

Artificial Intelligence

JavaFX Breakout Game

Graphics

NASM x86 Assembly Take a look
x86 Assembly Virus

Miscellaneous

JavaScript Take a look
WebGL Model Drawer

Graphics

Resume

ABOUT ME
I am a software engineer specializing in backend/full-stack work. I like building passion projects from scratch and learning new things to get my projects off the ground. Over five+ years of programming, I have picked up experience working with Java, Scala, JavaScript, Python and C/C++ on projects ranging from video games and music visualizers to deep neural networks and distributed key-value stores.