Software Engineering Workflow
Tags: workflow, tools, engineer
Published: 2024-04-08 20:56:02

---
title: Software Engineering Workflow
description: Collection of software and resources I use for work.
tags: 'workflow, tools, engineer'
canonical_url: null
published: true
---

![Blog Post Thumbnail](https://raw.githubusercontent.com/spencerlepine/blog/main/content/software-engineering-workflow/thumbnail.jpg)

This is a collection of resources and my general workflow for Software Engineering. Note: workstation is running MacOS.

### **Dependencies/Libraries:**

* [Homebrew](https://brew.sh/) - package manager for linux-based OSs.
* [Git](https://git-scm.com/downloads) - version control, manage files during project development
* [Node.js](https://nodejs.org/en/download/) + [Nvm](https://github.com/nvm-sh/nvm) - runtime for javascript without a browser
* [Npm](https://docs.npmjs.com/downloading-and-installing-node-js-and-npm) - large organization of libraries/packages available to use in projects.
* [Python 3](https://www.python.org/downloads/) - python language interpreter for python ^3.0.0.
* [MySQL](https://www.mysql.com/products/workbench/) - SQL database software for development
* [Redis](https://redis.io/) - real time data storage with different  data structures in a cache
* [Heroku CLI](https://devcenter.heroku.com/articles/heroku-cli) - manager for Heroku apps from the command line
* [Amazon CLI](https://aws.amazon.com/cli/) - manager for AWS services from the command line


### **Communication:**

* [Slack](https://slack.com/)
* [Zoom](https://zoom.us/)


### **Recording:**

* [OBS](https://obsproject.com/)
* [Zoom Meeting Recording](https://zoom.us/)


### **Other Software:**

* [Chrome](https://www.google.com/chrome/) - main browser with debugging tools
* [Postman](https://www.postman.com/) - API platform for easy endpoint testing
* [Flux](https://justgetflux.com/) - screen eye strain assistance
* [GIMP](https://www.gimp.org/) - photo editing software


### **Toy problems:**

* [ExcaliDraw](https://excalidraw.com/)
* [LeetCode](https://leetcode.com/)
* [CyberDojo](https://cyber-dojo.org/creator/home)
* [TopCoder](https://www.topcoder.com/)
* [Coderbyte](https://coderbyte.com/)
* [HackerRank](https://www.hackerrank.com/)


### **Note taking:**

* [Notion](https://www.notion.so/)


### **IDE:**

[VSCode](https://code.visualstudio.com/download):
* MacOS Quick Action: Open Folder from finder -> [Configure Quick Action](https://stackoverflow.com/questions/64040393/open-a-folder-in-vscode-through-finder-in-macos)
* [ESLint](https://marketplace.visualstudio.com/items?itemName=dbaeumer.vscode-eslint) Extension - Integrates ESLint JavaScript into VS Code.
* [Bracket Pair Colorizer](https://marketplace.visualstudio.com/items?itemName=CoenraadS.bracket-pair-colorizer) Extension - A customizable extension for colorizing matching brackets
* [Open In Default Browser](https://marketplace.visualstudio.com/items?itemName=peakchen90.open-html-in-browser) Extension -  A VSCode extension to fast open html file in browser
*  [Stylelint](https://marketplace.visualstudio.com/items?itemName=stylelint.vscode-stylelint) Extension - Modern CSS/SCSS/Less linter
* settings.json:

    ```json
        {
           "editor.lightbulb.enabled": false,
           "editor.parameterHints.enabled": false,
           "editor.renderWhitespace": "all",
           "editor.snippetSuggestions": "none",
           "editor.tabSize": 2,
           "editor.wordWrap": "off",
           "emmet.showExpandedAbbreviation": "never",
           "files.trimTrailingWhitespace": true,
           "javascript.suggest.enabled": false,
           "javascript.updateImportsOnFileMove.enabled": "never",
           "javascript.validate.enable": false,
           "eslint.alwaysShowStatus": true,
           "explorer.confirmDelete": false,
           "python.pythonPath": "/usr/bin/python3",
           "workbench.editorAssociations": {
               "*.ipynb": "jupyter.notebook.ipynb"
           },
           "[javascript]": {
               "editor.defaultFormatter": "vscode.typescript-language-features"
           },
           "css.validate": false,
           "window.zoomLevel": 2,
           "editor.hover.sticky": false,
           "editor.formatOnPaste": true,
           "editor.formatOnSave": true,
           "editor.defaultFormatter": "vscode.json-language-features",
           "workbench.iconTheme": "material-icon-theme",
           "security.workspace.trust.untrustedFiles": "open",
           "liveshare.allowGuestTaskControl": true,
           "liveshare.allowGuestDebugControl": true,
           "liveshare.anonymousGuestApproval": "accept",
           "python.defaultInterpreterPath": "/usr/bin/python3",
           "editor.largeFileOptimizations": false,
        }
    ```

## **Interested in working together?**

Follow my journey or connect with me here:
- LinkedIn: [/in/spencerlepine](https://www.linkedin.com/in/spencerlepine/)
- Email: [spencer.sayhello@gmail.com](mailto:spencer.sayhello@gmail.com)
- Portfolio: [spencerlepine.com](https://spencerlepine.com)
- GitHub: [@spencerlepine](https://github.com/spencerlepine)
- Twitter: [@spencerlepine](https://twitter.com/spencerlepine)