Skip to content

Commit

Permalink
finish skills
Browse files Browse the repository at this point in the history
  • Loading branch information
jgettings committed Oct 2, 2024
1 parent fd06c57 commit 02d0893
Show file tree
Hide file tree
Showing 10 changed files with 73 additions and 20 deletions.
34 changes: 23 additions & 11 deletions src/data/resume.json
Original file line number Diff line number Diff line change
Expand Up @@ -442,7 +442,8 @@
"Material UI",
"Formik",
"Yup",
"React Hook Form"
"React Hook Form",
"Builder.io"
]
},
{
Expand Down Expand Up @@ -517,9 +518,7 @@
"Docker",
"Git",
"Github",
"Bitbucket"
],
"dev environment?": [
"Bitbucket",
"Webpack",
"Babel",
"Create React App",
Expand All @@ -531,15 +530,15 @@
"Git",
"Mercurial",
"Maven",
"Artifactory"
],
"other tools?": [
"Artifactory",
"Pendo",
"Google Analytics",
"Launch Darkly",
"FullStory",
"Sentry",
"Segment"
"Segment",
"Vite",
"Launch Darkly"
]
},
{
Expand All @@ -549,7 +548,10 @@
"Google Maps",
"Shopify",
"Slackbot",
"definitely more things here"
"OAuth",
"Firebase Authentication",
"Firebase Remote Config",
"Launch Darkly"
]
},
{
Expand All @@ -559,7 +561,10 @@
"Azure Functions",
"Azure Table Storage",
"Azure Blob Storage",
"Azure ServiceBus Queue"
"Azure ServiceBus Queue",
"Azure Storage Queue",
"event-driven data processing",
"message queue"
]
},
{
Expand Down Expand Up @@ -587,7 +592,14 @@
{
"name": "Mobile Development",
"level": "Competent",
"keywords": ["Android Native", "Java", "React Native"]
"keywords": [
"Android Native",
"Java",
"React Native",
"Gradle",
"Google Play Store",
"Google Maps API"
]
}
],
"projects": [
Expand Down
4 changes: 3 additions & 1 deletion src/data/skills/API_Development.md
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
apiapiapiapiapi
While I've been focused on the frontend at my last couple of roles, I still have had a hand in designing the API contracts needed to get various features working. In this capacity I've worked with both RESTful and GraphQL APIs and I've also helped make minor adjustments to them as needed in Python and Kotlin.

In full stack roles I've worked extensively with REST APIs and APIs that return a custom set of data tailored to the frontend without following a standard like REST. Most of this has been in C# and Java. I've also worked with many webapps that were pure MVC or a mix of MVC with some javascript on the frontend for interactivity.
2 changes: 1 addition & 1 deletion src/data/skills/Cloud_Native.md
Original file line number Diff line number Diff line change
@@ -1 +1 @@
fluffy clouds
In my time at _Campus Labs_, we were constantly trying to move things to more scalable infrastructure. We leveraged some cloud services in Microsoft Azure for things like scheduled mailings that needed to go to many people, processing data asynchronously, etc. Pretty much anything that could be done asynchronously outside of the main webapp got moved to Azure Functions (similar to AWS Lambda) and some of these used Azure Tables or Blob Storage for persistence. Many of these services also used Azure Storage Queues or Azure Service Bus.
6 changes: 3 additions & 3 deletions src/data/skills/Devops.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
- I always try to fix any local setup things or automations that will make my life easier and hopefully help others as well
- Campus labs azure
- Being at startups for the past 4 years I've also wound up having some ownership over other tooling as well...
The majority of my deployed devops experience has been in my time at _Campus Labs_ working with Azure. I was very hands on with spinning up new webapps (APIs and/or frontends), scaling existing apps, and monitoring everything. There I also owned a lot of the build and deploy pipelines in Azure DevOps for our team.

I'm also always a big proponent of investing a little bit of extra time making dev processes and scripts easier and more straightforward. This usually comes in the form of iterative improvements to local testing and how we run apps locally. I also really like tools like Storybook to help run and test components in isolation while also documenting them for future devs.
8 changes: 7 additions & 1 deletion src/data/skills/Mobile_Development.md
Original file line number Diff line number Diff line change
@@ -1 +1,7 @@
get off your damn phone
As the relative Java expert in my time at _Studio_, I did a small amount of maintenance on the Central Park Android App in 2015. Learning the basics of mobile development was very interesting but I haven't had a chance to apply those skills elsewhere professionally. In my own time I have tinkered a little bit with React Native but nothing worth showcasing.

Since most of my work has been in webapps I have created many responsive components, apps, and pages. Usually this has involved a component library or css framework but I've also created plenty of responsive UIs from scratch with media queries.

#### Public Projects

- [Central Park Android App](https://play.google.com/store/apps/details?id=com.centralpark.mobile&hl=en_US)
5 changes: 5 additions & 0 deletions src/data/skills/React.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,8 @@
I started using React in 2016 when the team I was on at Campus Labs decided to switch. I began the migration alone, with some guidance from other teams that had already made the switch, and later taught others how to use React. From there I went on to fully frontend roles at Crisp and Wagmo, both using React nearly 100% of the time.

I've worked with class components and _Redux_ for state management but I've also worked a lot with functional components, hooks, and context for global state. For most of the apps I've worked on it's made more sense to persist everything on the backend and use _React Query_ or _Apollo GraphQL_ to access that data.

#### Public Projects

- [Crisp React Store Locator](https://github.com/gocrisp/react-store-locator)
- [Wagmo Marketing Site](https://wagmo.io/) (Builder.io)
7 changes: 6 additions & 1 deletion src/data/skills/Third_Party_APIs.md
Original file line number Diff line number Diff line change
@@ -1 +1,6 @@
hello
Throughout the years I've encountered many third party APIs and I'm sure the list below is incomplete. I've worked with google maps on a few different occasions and a handful of other private APIs specific to the domains I've worked with. I've also created a few simple Slackbots to alert the team to status updates for various internal services.

#### Public Projects

- [Crisp JS Store Locator](https://github.com/gocrisp/store-locator) - Google Maps
- [Central Park Android App](https://play.google.com/store/apps/details?id=com.centralpark.mobile&hl=en_US) - Google Maps
4 changes: 4 additions & 0 deletions src/data/skills/Web_Development.md
Original file line number Diff line number Diff line change
@@ -1 +1,5 @@
I learned HTML and JavaScript in high school and tinkered with websites throughout college. Professionally, I've almost always worked on webapps - either MVC backend with a lightweight frontend or a RESTful/GraphQL backend with a full frontend framework. I've been through all of the browser compatibility issues of the early 2000's and working with plain javascript without a framework enough to understand the fundamentals very well.

#### Public Projects

- [Crisp JS Store Locator](https://github.com/gocrisp/store-locator)
21 changes: 20 additions & 1 deletion src/pages/Skills/Description.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,30 @@ type SkillDescriptionProps = {
};

const markdownComponents: Components = {
// a11y lint rules disabled here because they are requiring content,
// which we don't have until these are used
p(props) {
const { node, ...rest } = props;

return <p className="mb-4" {...rest} />;
},
h4(props) {
const { node, ...rest } = props;
return <h4 className="mb-2 mt-6 text-xl" {...rest} />; // eslint-disable-line jsx-a11y/heading-has-content
},
li(props) {
const { node, ...rest } = props;
return <li className="list-inside list-disc" {...rest} />;
},
ul(props) {
const { node, ...rest } = props;
return <ul className="mb-4" {...rest} />;
},
a(props) {
const { node, ...rest } = props;
return (
<a className="text-sky-600 hover:underline dark:text-sky-500" {...rest} /> // eslint-disable-line jsx-a11y/anchor-has-content
);
},
};

const textFetcher = (name: string): Promise<string> =>
Expand Down
2 changes: 1 addition & 1 deletion src/pages/Skills/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const Skills: React.FC = () => {
<Accordion className="m-4 mx-auto max-w-3xl" collapseAll>
{data.skills.map((skill) => (
<Accordion.Panel key={skill.name}>
<Accordion.Title>
<Accordion.Title as="h3">
{skill.name && <SkillTitle name={skill.name} />}
{skill.level && <LevelRating level={skill.level} />}
</Accordion.Title>
Expand Down

0 comments on commit 02d0893

Please sign in to comment.