layout | title | author | date |
---|---|---|---|
cv |
Mateusz Zaremba's CV |
Mateusz Zaremba |
8th August, 2024 Dundee, United Kingdom |
Software Engineer
Open to new opportunities. Available to start immidiately.
- Languages: TypeScript, JavaScript.
- Frameworks & Libraries: Angular, React, Ionic, StencilJS
- State Management: RxJS, MobX, React Query
- Styling & UI: HTML5, CSS3, SCSS, SASS, Bootstrap, Angular Material, Material Design.
- Web Graphics & Components: Advanced graphics with Three.js and custom web components developed using StencilJS.
- Development Tools: npm, yarn, ts-node, semantic-release, es-build, Webpack.
- Server Frameworks: Node.js, Express.js, NestJS.
- Databases: MongoDB, SQL.
- Cloud: AWS Lambda, AWS S3
- Docker: Advanced Docker skills including Docker Compose, Docker Hub. Contributed to secure building of Docker images with private npm packages.
- Deployment: Deploying Angular apps inside an Nx Workspace using NginX Docker containers, automated with GitHub Actions.
- Semantic Release: Employed the semantic-release tool for automated versioning and package publication, relying on commit message semantics. Customized release types using specific tags, as outlined in the
.releaserc
configuration, such as this example.
- Design & Workflow: Leading initiatives to shape software design, architecture, and team workflows using tools like Nx Workspace.
- Scripting: git bash/zsh (daily aliases & functions), TypeScript scripting using Node.js file system.
- CLI Development: Building CLI utilities with TypeScript and Commander.js.
- IDE & Code: VS Code, MS Visual Studio, UNIX terminal, XCode, Android Studio.
- Graphics Programming: graphics programming projects with Three.js, understanding of quaternion math and linear algebra.
- Cross-Platform Development: Building apps for iOS and Android using Angular, Ionic, and Capacitor (versions 3-5).
- Testing Frameworks: Unit testing with Jest, Jasmine, Karma, and Playwright. Running these tests on CI tools like Travis CI and GitHub Actions.
- Workflow Automation: Leveraging Nx's Reusable Workflows and running GitHub actions locally with act.
- Technical Documentation Expertise: Authored in-depth technical documents using platforms like Notion and Confluence, ensuring comprehensive knowledge sharing and team alignment.
- Project Management: Agile Methodologies, SCRUM, Notion, Jira, Confluence.
- Communication: Slack, MS Teams, Pair programming with Live Share using VS Code.
- Game Engines: C++, C#, Unity3D, Unreal Engine 4.
- Other: Python 3, Ren'Py, Xbox One, PSVita, Box2D, SFML graphics, DirectX 11, and Networking with SFML.
- Languages & Tools: Python, R, ggplot 2, pandas, NumPy, Gephi.
- Math & Reporting: Statistics, LaTeX.
Soft Skills Developed:
- Mentored interns and onboarded new staff members.
- Spearheaded the tool development team.
- Collaborated with the team to elevate:
- Workflow efficiency.
- Code quality, readability, maintainability, performance, security, scalability, testability, reusability, extensibility, modularity, and portability.
- Actively communicated ideas, progress, challenges, and solutions to team members, ensuring feedback was timely, constructive, and delivered in a positive manner.
Technical Accomplishments:
- Developed an Angular/Ionic fitness app with Capacitor for iOS/Android (you can see it in this LinkedIn post), showcasing a custom design for swift exercise retrieval and ASENSEI SDK - (the SDK to capture, correct and coach human movement). Notable features include:
- Implementation of the Figma design within 2 weeks, encompassing app architecture and ASENSEI SDK integration.
- Video, image, and file streaming from Dropbox.
- Served as a foundation for the second iteration of the ASENSEI SDK.
- Acts as a daily-use demo for company employees to build and test content and a testament to potential clients, such as Powerblock (press release here), AMP (press release here) and many more (full list here).
- Engineered a subsequent Angular/Ionic fitness app highlighting the second iteration of the ASENSEI SDK. Angular/Ionic app fitness app which you can see it in these LinkedIn posts: here, here, here, here)
- Crafted a StencilJS web component that melds Three.js graphics, quaternion math, and RxJS, and is automatically shipped as an npm package via semantic release.
- Constructed an Angular/Ionic content-building tool that employs the aforementioned web component. This tool is a daily essential for two full-time employees.
- Innovated a new version of the proprietary markup language and its accompanying content-building tool, built with TypeScript and Node.js. This innovation led to a development time savings of approximately 10 to 12 months to date.
- Designed a VS Code extension enhancing intelli-sense capabilities for the in-house markup language.
- Transitioned projects to an Nx workspace and introduced reusable GitHub workflows. These encompass tasks such as Docker image building for Angular apps, testing, linting, and more. For an in-depth look, see my Medium article: Optimize Your Angular Application Deployment with Multi-Stage Dockerfiles in an Nx Workspace.
- Augmented the team's productivity through the implementation of tailored bash aliases and functions. Explore some of the git bash aliases and functions I use daily.
- Created VS Code extension to accompany nand2tetris course published on Visual Studio Marketplace
Docker Images with Private npm Packages
Infinite Scroll Component
- Documentation update for the Infinite Scroll Component.
Typo Fix in globalStyle
Stencil Example Project (Audio Player)
- Removed build warnings in the Stencil example project - audio-player.
Replace Google+ with Discord
- Replace Google+ with Discord in space-jekyll-template.
Pink Theme for UE4 LazyTheme
- New Pink Theme for Xerios' UE4 LazyTheme with assets prepared by Justin Meisse.
Reviewing PRs for Unity's Official .gitignore
- Medium articles:
- Optimize Your Angular Application Deployment with Multi-Stage Dockerfiles in an Nx Workspace
- Guarding Data Integrity: Immutable Getters vs. Observable Approach for Sorted String and Number Arrays in BehaviorSubjects
- Write git commits with one letter command —
c your commit message
and no double-quotes!
- Answering math questions on Quora:
- Answering and asking questions on StackExchange.
- My profiles on:
April 2024-July 2024
Front End Developer at Optimove, Dundee UK
- Developing CRM dashboard in React/Next.js/TypeScript/MobX/React Query
- APIs/AWS Lambda,S3
- Email integrations
- Writing tests in vitest/jest
- Close collaboration with the Backend team
- SCRUM
May 2020-Feb 2024
Software Engineer at asensei, San Francisco, CA | Remote in Dundee, UK
- Communication Facilitation: Act as a bridge for effective team communication, ensuring ideas are conveyed and understood universally across the team.
- App Development: Develop cross-platform applications using Angular and Ionic, specifically tailored for iOS and Android with Capacitor, and leverage AWS S3 for cloud storage.
- Web Development: Develop applications using Angular and StencilJS.
- Custom Web Componens: Craft tailored web components using StencilJS, enhanced with graphics from Three.js and reactive programming via RxJS.
- Tools Development: Construct user-centric tools with rich UI/UX using Angular and create CLI utilities leveraging TypeScript and Commander.js.
- Software Architecture: Lead initiatives to shape software design, architecture, and team workflows.
- Graphics Programming: Delve into graphics projects utilizing Three.js.
- CI/CD Management: Steer our continuous integration and deployment processes with GitHub Actions and Travis CI. Package distribution via npm with semantic-release using Travis CI and GitHub Actions.
- Scripting:
- Enhance daily workflows with git bash/zsh aliases and functions.
- Develop bash scripts to streamline file management tasks.
- Script and automate tasks using TypeScript and JSON, leveraging the Node.js file system.
Sep 2017-Jun 2018
Lead Programmer, Abertay University: Professional Project, Dundee, UK
- Developed mobile game for Junkfish and retro platformer for Timex.
- Utilized Unity with C# for Android (Junk Fish) and Windows (Timex). GitHub Repo
- Managed gameplay programming, prototyping, and source control.
- Led team operations: SCRUM, task assignments, and mentoring.
2019-2020
University of Stirling, Stirling, United Kingdom
- GradCert in Mathematics and Data Science
- Representing and Manipulating Data (Merit):
Around the World in 80 Days by Jules Verne, book analysis with Python - Commercial and Scientific Applications (Merit)
- Statistics for Data Science (Pass):
Statistical Data Analysis of Student Goals - Networks & Graph Theory (Pass):
Barack Obama's Retweet Network
- Representing and Manipulating Data (Merit):
2015-2018
University of Abertay Dundee, Dundee, United Kingdom
BSc with Merit in Computer Game Applications Development, 2:1
- 3rd year modules (GPA: 2.83):
- Graphics Programming with Shaders (C+)
- Gameplay Mechanics Development (C+)
- Network Systems for Game Development (A)
- Artificial Intelligence (B)
- Professional Team Project: Planning and Prototyping (C+)
- Professional Team Project: Development and Delivery (C+)
- 2nd year modules (GPA: 4.17):
- Data Structures and Algorithms 1 (A)
- Data Structures and Algorithms 2 (A+)
- Graphics Programming (A)
- Game Programming and System Architectures (A)
- Film and Game Genres (A)
- Mathematics for Application Development 2 (A+)
- 1st year modules (GPA: 3.63):
- Computer and Graphics Architectures (A)
- Programming in C++ (A)
- Narrative Theory in Interactive Game Design (C+)
- Mathematics for Applications Development 1 (A+)
- Games for Change (B+)
- Asset Production for Games (B+):
- <iframe frameborder="0" src="https://itch.io/embed/121052" width="552" height="167">Dragon Maze by matzar</iframe>
- Computer and Graphics Architectures (A)
2019-2020
The Data Lab scholarship, Stirling, United Kingdom
- Fully funded place in Mathematics and Data Science
- £6500 towards tuition fees
- Professional training with Data Scientists
- Data Lab events
Jan 24-26, 2018
Gameplay Programmer/Design/Team Lead, Serious Game Jam, Dundee, United Kingdom
- Mobile game prototype:
- Aid for lectures and students from the University of St Andrews,
- with preparation and explanation of their practical exercises
- Engine: Unity
- Programming language: C#
- Platform: Android
- GitHub
Nov 8, 2017
Gameplay Programmer/Design/Team Lead, AGDS 4-hour Game Jam, Dundee, United Kingdom
- Brief visual novel with animations, telling a joke
- Made in 4-hours with two artists
- Engine: Ren’Py
- Programming language: Python
- Platform: Windows
- GitHub
- <iframe frameborder="0" src="https://itch.io/embed/192517" width="552" height="167">Knock Knock by matzar</iframe>
Aug 15-17, 2016
Gameplay Programmer/Design/Team Lead, Rainbow Game Jam, Dundee, United Kingdom
- Infinite runner chosen to be made in 48-hours with two other artists and a sound designer
- Engine: Unity
- Programming language: C#
- Platforms: Windows, MAC, Linux
- GitHub
- <iframe frameborder="0" src="https://itch.io/embed/83599" width="552" height="167">Rainbow Dash by matzar</iframe>
Jan 29-31, 2016
Gameplay Programmer, Global Game Jam 2016, Dundee, United Kingdom
- Easy pick-up game. My first Unity project and first game jam
- Engine: Unity
- Programming language: C#
- Platforms: Windows, MAC, Linux
Sep 2015-Jul 2018
Member of Abertay Game Development Society, Dundee, United Kingdom
Sep 2017-Aug 2018
Built and managed St Andrew's RC Cathedral website, Dundee, United Kingdom
Sep 2015-Apr 2016
1st Year Class Representative at Abertay University, Dundee, United Kingdom
- Listening to student feedback and liaising with lectures
- Attended training about leadership and teamwork