Push Gaming
During my time at Push Gaming I have had the pleasure of working as part of the game tech department, an agile and talented team responsible for maintaining and improving bespoke game creation tooling.
My time at push has been a period of rapid learning and consolidation of my technical knowledge. In particular, I have found great interest in learning Typescript along with React and frameworks such as Electron. As well as working on frontend development, familiarity with backend technologies such as Electron interprocess communication and Webpack along with its many components (e.g. dev server, module bundlers, plugins) has been achieved.
An additional valuable experience learned at Push was interacting with build automations and CI / CD pipelines. When creating features that require the editing of multiple library dependencies, the ability to understand software versioning and how node installs packages from Github along with how to use both the package and package-lock files to control this has been vital.
Working with a team has improved various non technical skills such as:
- Using a work management platform such as Clickup to manage and track progress on a collection of tasks within a Kanban board
- Assisting others on the use of the editor and being able to debug errors on the fly to remove blockers
- Interacting with team members on standup meetings, communicating my personal progress on tasks and providing delivery estimates as well as contributing to ideation and providing feedback on current products.
- Communicating with QA testers and writing pass criterias for implemented features
- Writing documentation for new features
- Using semantic commit messages
Collaboration has also improved various technical skills such as:
- Using clean code practices and a developers standards document to adhere to the current quality of the codebase
- Creating, tracking and providing feedback on pull requests and draft pull requests
Adaptability is a vital trait of an effective team member. Understanding a codebase quickly and being able to start meaningfully contributing to the team leads to opportunities to work on poignant tasks and take ownership of projects. During my time as a junior at Push I have been given responsibility on impactful tasks such as:
- Undertaking an investigation into the feasibility of an architectural shift by creating a prototype of the shift.
- Taking ownership of a prototype game project which required custom/experimental editor support leveraging my knowledge of shaders and render textures
- Using react flow to create the frontend editor for an implemented backend process, using http methods to interact with a dev server.
Under changing times with the rise in popularity of AI tooling I have cautiously embraced these new technologies. I am able to use AI as a productivity tool for research, API exploration and automating repetitive tasks, whilst ensuring architectural decisions and implementation remain my own. This approach allows me to maintain a deep understanding of the codebase, produce maintainable solutions and remain effective regardless of how AI tooling and its pricing evolves.