Welcome to varcade_games Discussions! #26
Pinned
Code-Over-Time
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
In this Q&A you will find hands-on tasks.
Before getting started you will need to create a new branch. So run the following command from your
varcade_games
directoryOnce you run that you will be operating on a new branch called 'development'. This is where you will do your development.
What you are doing here is creating a branch from an existing
tag
. This tag is basically a snapshot of the codebase in a certain state. You will be working on your tasks against a more simplified (but less pretty) version of Varcade Games.We need to do this because the main branch of Varcade Games will be continually evolving, but we want to have a consistent
snapshot
of the project to ensure that everyone who is doing the tasks is working against the same code.So this
development
branch will be your main branch..!!! info
An important note on this. When you switch to this branch, the code you have on your file system will change. However, you have already built and run the project locally. This means you will have a mismatch between the code and the running project. For details on how to tackle this, check out this Code Over Time blog post.
Workflow
I'd recommend following a pretty simple workflow:
Which looks something like this with Git:
After that you can use Github to create your pull request.
Experience Level
Each task will have an associated
experience level
. This will give you an idea of how challenging the task will be, depending on how much experience you have working with Varcade Games.The levels are:
Junior
tasks tend to be small tweaks and bug fixes that are applied to isolated parts of the projects. For example changing some UI, or adding some additional logging to one of the server projects.Mid
tasks are for people that have a good working knowledge of all of the various projects within Varcade Games. These may involve updating multiple projects, for example adding a new field to the website database, updating an API to include this new field and finally updating the UI to display this new field to the user.Senior
tasks will usually include some sort of architectural considerations. For example, adding an entirely new feature to Varcade Games. This work will need deep thought and consideration about the far reaching consequences of the changes you are making.Principle
tasks are the most technical advanced tasks. These may include profiling and optimization work and will require deeper understanding of the underlying concepts and design of the various libraries and applications used to build Varcade Games.Needless to say, you should complete all of the tasks at each level before proceeding to the next level.
!!! info
These levels mirror the titles you may expect to find in engineering organizations, and I have tried to set the content of the tasks according to what may be expected of engineers at each level.
Beta Was this translation helpful? Give feedback.
All reactions