the JoeGo

Welcome to the Joe-niverse!

    can be defined as:
    a talk, especially an informal one, between two or more people, in which news and ideas are exchanged
    Oxford Languages
    i enjoy this definition because of my passion for learning and keeping an open mind, so the idea of ideas being exchanged excites me if you speak to anyone who knows me well, they can tell you that i almost always play devil's advocate, so much so, that i sometimes call it playing joey's advocate, and i like to do that because i think its important to always understand the other side, if i cannot fathom it, then i often question whether my belief is on solid ground or is based in ignorance this practice of mine stems from one of my favorite quotes:
    the sign of an educated mind is the ability to entertain a thought without accepting it
    Aristotle

    The role I last worked, with Topologe and the United States Air Force, was as a senior full-stack developer. Early on I worked 50/50 frontend, primarily with JavaScript and React, and backend, primarily with Java and Spring Boot. As time went on I became the lead engineer for the UI, which meant I was architecting new code as well as refactoring pre-existing code to work more effectively. (I always like to keep an open mind that existing code can be written better). I also was mentoring/teaching the other engineers how to work in the frontend with React. I was working with a lot of people who had never worked on a UI, and often never worked with JavaScript or React. I also represented the team in meetings with other engineers and tech leads. I worked closely with the project manager and designer to help write stories. The position was technically a DevSecOps role so I also had to work with technologies to secure and deliver the product. I helped set up our CI/CD pipeline in GitLab as well as working with Fortify, SNYK, and SonarQube to make sure our code was secure.

    As a person I’d like to think I’d be a great fit in any culture that I'd be interested in joining because I love people. My degree is not Computer Science, but I did focus on diversity, history, and sociology. I used college as a time to really grow as a human being and learn about different people/cultures from my own. I’d like to think that has made me a better listener and has opened my mind to new ideas, which helps in a workplace. I try to give others the chance to be heard because often times people will come up with brilliant ideas that may only be because they thought about a single part of a complex problem slightly differently. People really are amazing. I love to learn and to have the opportunity to continue growing as a human being.

    Some more background on me is that I found my love for code relatively late in my life, but I researched and found the best coding school that specialized in technical communication and working with others. Then I busted my butt, learned a lot, and eventually worked my way into a Senior Software Engineer role in only two years. I know that employers are often scared of the limited experience, but if you invest in me, it will be worth it! I obviously still have a lot to learn, as we all do, but you will see that my potential is high to grow a lot more as the smart, efficient, full-stack developer that I already am. (Confident and humble too!)

    work email:

    joseph.michael.corrado @gmail.com

  • TECH STACK: JavaScript, React, React Java, Spring Boot, PostgreSQL, HTML, CSS, Jest, React Testing Library, GitLab, GitLab CI, Concourse CI, BASH, Pivotal Cloud Foundry, Kubernetes, Webpack, RESTful APIs, Material UI, Formik, Yup, Axon, Lodash, Eventing
  • Took on leadership responsibilities among my team, such as: mentoring other engineers and supporting them in the process of picking up new skills in tech, especially in React, as well as representing the team in anchor meetings, walk-throughs, and town halls
  • Created bonds with the Project Manager, Design team, and engineers that I’d like to think fostered an environment for communication and trust that helped lead to team success
  • Anchored a Jest/React-Testing-Library overhaul of our test coverage, helping to create a custom test harness and a team-wide approach to the structure and documentation creation process based on the three A’s: Arrange, Act, & Assert (like user story’s Given/When/Then)
  • Built a React-based UI using Material-UI components and Formik with Yup validation to allow for smooth UX while forming a pleasing frontend design
  • Leveraged Spring Boot annotations and JPA to set up and event-driven database to be able to create snapshots of data to be able to step through time to see different states of our app
  • Transitioned Sass styling to CSS-in-JS to centralize and focus styling to specific components allowing the styles to be reused more easily
  • TECH STACK: JavaScript, Node, React, Jest, HTML, CSS, Next.js, PostgreSQL, GraphQL
  • Developed a React-focused, modular global state management library utilizing the Flux and Observer patterns, dynamically building closure-based globally-accessible state eliminating the need for prop-drilling without complex boilerplate
  • Created custom React Hook to establish global state-management library to be used with functional components that work efficiently with server side rendering (SSR) as file sizes can be minimized efficiently, reducing client’s load burden
  • Benchmarked Redux against SMEE to validate its capabilities to behave consistently, to persist state data, and to work with different UI layers, comparing the required boilerplate code and the different structural patterns
  • Employed GraphQL to connect relational database (PostgreSQL) to server, sending queries to test SMEE’s handling of rich data that persisted safely outside of the environment of the application in an effort to increase local state speed
  • Used Webpack and Babel to minify and uglify JavaScript files, transpiling ES6+ syntax to ES5 to ensure compatibility
  • Implemented Next.js to understand how a developed global state framework worked with server-side rendering
  • Structured NPM package to ensure viable global state by initializing subscribers to only requested pieces of state from global store to listen for changes and run the necessary functions to generate a new observable and re-render the component
  • ENTER WEB COMPONENTS / Build with Code NYC (2019) - Presented new possibilities from the growth of web components with and without other popular frameworks
  • STREAMLINING STATE / Build with Code NYC / 2020 - Introduced SMEE as competitor to Redux and demonstrated the improvement of first meaningful paint