chore: refactor & improve (#2)

* chore: update resume PDF
* feat: baseline resume
This commit is contained in:
Art Rosnovsky
2024-02-05 10:49:22 -08:00
committed by GitHub
parent b8eeeba4a9
commit 61ac46d7df
8 changed files with 75 additions and 29 deletions

View File

@@ -28,15 +28,15 @@ jobs:
node-version: "20.5.0"
- name: Install dependencies
run: npm install -g pnpm && pnpm install # Install dependencies
run: npm install -g pnpm && pnpm install
- name: Generate PDF
run: pnpm build # Ensure this script generates the PDF from resume.md
run: pnpm build
- name: Commit PDF
run: |
git config --global user.name "${{ github.actor }}"
git config --global user.email "${{ github.actor}}@users.noreply.github.com"
git add output/art_rosnovsky_software_engineer.pdf
git commit -am "update resume PDF"
git commit -am "feat: update resume PDF"
git push

1
.gitignore vendored
View File

@@ -1 +1,2 @@
node_modules
output/*.pdf

19
index.test.ts Normal file
View File

@@ -0,0 +1,19 @@
import assert from 'node:assert';
import { describe, it } from "node:test";
export const markdownFilePath = "./resume.md";
export const outputFilePath = "output/art_rosnovsky_software_engineer.pdf";
describe("generatePdf", () => {
it("should throw an error if the markdown file does not exist", async () => {
assert(true)
});
it("should throw an error if the mdToPdf function fails", async () => {
assert(true)
});
it("should successfully convert the markdown to a pdf and write it to the output file", async () => {
assert(true)
});
});

View File

@@ -1,10 +1,27 @@
import fs from "node:fs";
import path from "node:path";
import { mdToPdf } from "md-to-pdf";
(async () => {
const pdf = await mdToPdf({ path: "./resume.md" }).catch(console.error);
export const markdownFilePath = "./resume.md";
export const outputFilePath = "output/art_rosnovsky_software_engineer.pdf";
if (pdf) {
fs.writeFileSync("output/art_rosnovsky_software_engineer.pdf", pdf.content);
export async function generatePdf() {
if (!fs.existsSync(markdownFilePath)) {
console.error(`File ${markdownFilePath} does not exist.`);
throw new Error(`File ${markdownFilePath} does not exist.`);
}
})();
try {
const pdf = await mdToPdf({ path: markdownFilePath });
if (pdf) {
fs.writeFileSync(path.resolve(__dirname, outputFilePath), pdf.content);
console.log(`PDF has been written to ${outputFilePath}`);
}
} catch (error: any) {
console.error(`Error occurred: ${error.message}`);
throw new Error(error.message);
}
}
generatePdf();

0
output/.keep Normal file
View File

View File

@@ -1,10 +1,11 @@
{
"name": "resume-manager",
"version": "1.0.0",
"description": "Converts Markdown resume to PDF and DOCX formats",
"version": "1.0.1",
"description": "Converts Markdown resume to PDF format.",
"main": "dist/index.js",
"scripts": {
"build": "ts-node index.ts"
"build": "ts-node index.ts",
"test": "NODE_ENV=\"test\" node --no-warnings --require \"ts-node/register\" --test **/**/*.test.ts"
},
"keywords": [
"resume",
@@ -21,8 +22,8 @@
"typescript": "^5.2.2"
},
"devDependencies": {
"@types/node": "latest",
"@types/markdown-pdf": "^9.0.5",
"@types/node": "latest",
"ts-node": "latest",
"typescript": "latest"
},

View File

@@ -14,53 +14,59 @@ pdf_options:
> job@rosnovsky.us | [github.com/rosnovsky](https://github.com/rosnovsky) | Washington state | **Remote Only** |
Dedicated `JavaScript`/`TypeScript` Engineer with a knack for ` React`, `Kubernetes`, and CI/CD. I champion sustainable, ethical tech that makes a positive impact, and thrive in diverse, remote work environments.
Dedicated `JavaScript`/`TypeScript` Engineer with a knack for ` React`, `Kubernetes`, and CI/CD. I champion sustainable, ethical tech that makes a positive impact, by building stable, scalable, efficient, and maintainable software.
## Technical Skills
- **Front End**: `JavaScript`, `TypeScript`, `React`, `Tailwind CSS`, UX/UI Design
- **Back End**: `Node.js`, `Express`, `Next.js`, `MongoDB`, `PostgreSQL`, `gRPC`, RESTful APIs
- **Dev Tools/DevOps**: Git, `Kubernetes`, `Jira`, `AWS`, `Azure`, CI/CD (`GitHub Actions`, `Gitlab Pipelines`)
- **Front End**: `JavaScript`, `TypeScript`, `React`, `Svelte`, `Tailwind`, `CSS`, `HTML`
- **Back End**: `Node.js`, `Express`, `Next.js`, `MongoDB`, `PostgreSQL`, `tRPC`, RESTful APIs
- **Dev Tools/DevOps**: Git, `Docker`, `Kubernetes`, `Jira`, `AWS`, `Azure`, CI/CD (`GitHub Actions`, `Gitlab Pipelines`)
- **Other**: former frontline reporter, can fly single-engine aircraft
## Work Experience
### Software Engineer
> **[Okta](https://okta.com)**, Remote • Mar 2021 - Present
> **[Okta](https://okta.com)**, Remote • Mar 2021 - April 2024
- Delivered the [Quarterly Snapshot](https://auth0.com/docs/get-started/tenant-settings/auth0-teams/quarterly-snapshot) feature on schedule.
- Enhanced Technical Account Managers' workflow with internal tools for Quarterly Snapshots.
- Developed a data reconciliation subsystem for an internal ML tool, enhancing knowledge delivery within the Customer First team.
- Improved and delivered a multitude of internal tools
- Enhanced Technical Account Managers' workflow by building internal tools for Quarterly Snapshots covering **$20M** worth of ARR.
- Developed, deployed, and stabilized an internal AI/ML tool, enhancing knowledge sharing and delivery within the Customer First teams **saving over $10K** of SME productive time every year
- Saved **$20K** annually on AWS bills by strategically decommissioning idle resources
- Improved and delivered a multitude of high-profile company-wide internal tools
- Implemented critical security improvements to key in-house Customer Success tools
### Developer Support Engineer
> **[Auth0](https://auth0.com)**, Remote • Dec 2019 - Mar 2021
- Assisted hundreds of clients with various levels of Identity Management integrations, from simple setups to complex configurations.
- Successfully resolved over 2,000 support cases of various complexity with an average **cSAT of 99%** and **on-time SLA of 97%**.
- Assisted hundreds of major enterprise customers with complex CIAM integration use cases.
- Guided hundreds of developers through Identity Management implementations in every environment imaginable.
### Software Engineer
> **[Microsoft](https://microsoft.com)**, Redmond, WA • Apr 2019 - Oct 2019
- Crafted both the UI and server for an internal search application using `C#`, `.NET Core`, `MSSQL`, and `React`, scaling it from a prototype to a full-scale production app.
- Saved hundreds of hours of account managers' time by implementing a slick search UI and functionality
- Crafted both the UI and backend for an internal search application using `C#`, `.NET Core`, `MSSQL`, and `React`, scaling it from a prototype to a full-scale production app.
- Saved hundreds of hours of account managers' productive time by implementing a slick search UI and functionality
### Web Developer
<div class="page-break"></div>
### Software Engineer
> **Transmark Logistics**, Kent, WA • Oct 2018 — Mar 2019
- Pioneered an internal shipment and task management system, saving users an average of 40 minutes per day through UI enhancements.
- Lead a small team from inception of the project to its MVP
- Pioneered an internal shipment and task management system, saving users an average of 40 minutes of productive time per day through UI enhancements.
<div class="page-break"></div>
### Web Developer
> **[AT&T](https://att.com)**, Bothell, WA • Apr 2017 - Sep 2018
- Executed over 100 updates and rectified 100+ defects in the AT&T MyServices client portal.
- With primary focus on defect resolution, proactively researched and fixed issues
- Executed over 100 updates and rectified hundreds of defects in the AT&T MyServices client portal.
- With primary focus on defect resolution, proactively researched and fixed issues outside of the scope of daily responsibilities
### Web Producer
@@ -76,11 +82,13 @@ Dedicated `JavaScript`/`TypeScript` Engineer with a knack for ` React`, `Kuberne
> London, Canada • AA, Multimedia Design
- Developed 'Hourglass', a student assignment management system.
- Produced a PSA for the local branch of Big Brothers Big Sisters
### RUDN University
> Moscow, Russia • BA, Journalism
- Frontline reporter for country's largest news outlets
- Reported live from significant events, including terrorist incidents.
### Udacity Nanodegree
@@ -89,7 +97,7 @@ Dedicated `JavaScript`/`TypeScript` Engineer with a knack for ` React`, `Kuberne
## Languages
- Russian — Native (comprehends Belarusian, Ukrainian)
- Russian — Bilingual (comprehend Belarusian, Ukrainian)
- Arabic — Basic
## Publications