First Week Experience
I just finished my first week in the new place and I would like to write down some thinking on the first week. For new company onboarding, I have a dedicated Trello board for myself tracking things (so far I really enjoyed it). I am still setting up my work laptops, building workflow and habits. I did ship my first PR into prod😁, a really simple change in the website. It was a good learning process to understand from updating code, submitting PR, PR reviewing, deployed into Prod and checking the result. There is good documentation within the team and everyone is welling to jump into a call helping me through to the end.
For me, the past week has been fabulous. After staying in a place for more then 3 years, lots of things become habits. It is so normal for me that I am not questioning or exploring any more. Switching environment gives me the opportunity that I can review the past years, reflecting on it, breaking old habits and rethink new ideas. The best thing, in the new working place, is always meet people, people coming from different background and having different experiences.
It feels like starting a RPG game. There are many place is covered under the fog of war and wait to be explored. I need to find out information, tools, tasks and finish work. I get the opportunity to chat with different people, and start to build new relationships.
First week is also different on the emotion side. People are naturally behave differently when they get into a new environment. It is actually a good time to observe myself in the case. Through the week, I can feel my egos and some existing pattern of thinking and actions. It is a great opportunity to learn to drop the ego and get to the ground to learn new way of thinking and working.
The rest of this post is what my thinking in different perspectives when onboarding in a new place. Hopefully it is helpful for both employees and employers and smooth the onboarding experience and processes.
What Do We Care As Developers
As developers, we are working with so many tools, systems, codebases, and environments everyday.
Code Repos
Code repositories are the all final truth.
Pipeline
The maturity of pipeline could represent how a company is adapting to modern software development.
- How is release managed
- How is CI/CD set up
- How is test set up in the pipeline
- What is the strategy to rollback
Environments (PROD / STAGING / UAT / DEV)
- Is the Environment on Cloud or on Prem
- Is there any dashboard monitoring PROD
- Is there any alerts on PROD issue, and how it looks like
- What is STAGING, UAT, and DEV environment
- How could developer verify his/her change before it is going to PROD
Database
Database could be managed by other team, and not all devs could access the database directly. It is really depends on the size and workflow within the company.
- What type of database is used in Environment (SQL or Non SQL)
- What is database (MSSQL / MySQL / Mongo / DynamoDB etc.)
- What is the tool team has been using to connect to database
Boards
Whether it is Scrum or KanBan, boards is a place where the work starts.
- What is the tool used to track progress of the work
- What is the flow and how each stage has been defined
Wiki / Documentation
Good documentation could save time for both new starters and other teammates. Documentation should contains “how we work” and “what are our values”. Those are going to help new starters understand the standards of the team. Accessing documentation from business & design team could also help devs understand context, background and decisions about projects, and code bases.
Dev Machine Set up
Those who would perfect their work must first sharpen their tools. (I am planning write another post later the year on this topic)
Internal Tools
There are always some internal tools to use within the company for staff doing different jobs. Quick access those tools and master how to use it could help improve new starters’ productivity.
Communication Tools
It is always about communication.
- What is the IM used within the company
- What is the email used
- Important thing, do we have a email signature ? 😆
Beyond Tech
However, only writing good code is not enough to be a good developers.
Git Commit Message And PR Descriptions
Good written git commit message and PR descriptions could save others time on understanding the change within the code, and give feedbacks on the changes.
What Is Good Commit Messages
This really depends on teams’ preference, and if there is any existing conventions. The following just as reference:
- How to Write a Git Commit Message
- How to Write a Good Commit Message
- Conventional Commits
- Write Joyous Git Commit Messages
- Understanding Semantic Commit Messages Using Git and Angular
What Is Good PR Description
Same with commit message, please check if there is any convention or template has been used. Some reference:
- Pull Request Etiquette
- The Many Benefits of Good Pull Request Descriptions
- Writing A Great Pull Requst Description
Documentation & Ticket
Documentation and board tickets is no doubt a critical part of software development. Learning how to maintaining documentation and creating tickets could help devs get into work. Some reference on writing documentations
- Should Developers Write Documentation? Yes, and Here’s Why
- The one skill every Software Developer should master
- How to write proper Software Documentation
Introduce Yourself
It always takes time to know each other when a person joins in a new place. There is not much shortcut. However, I think what my current new place has a trick is quite good. In the team wiki, every team member writes a profile page containing
- What others could expected from you
- What you expect on others
- What do you like chat about (or what is your hobby) So far, I like this way of introducing yourself. I would like to observe it more and see how this could help for team knowing each other.
Business Understanding
It is a good process that using the company’s product as a user and go through all process. Without the experience using the product as end user, developers could make wrong decision during the development process. It also gives time for developers to learn the language used in company and communicate with other team member easily.
Security, Security, Security
Since the first day of IT, security is born with the industry. For company, security breaching could damage the reputations and get involved in law suits.For public company, it could also impact share prices. As an IT professional, thinking about security should be always concern before doing anything. Learning and obey new company’s security policy is always top priority.
What Do We Care As Employees
As employees, we have our workplace obligations and rights.
Payroll
Getting paid is surely an important part of the working. Understanding payment cycle, payment amount and payment process is critical for everyone in the workforce. People do make mistakes, it is our responsibility to make sure that we get paid and the right number.
Annual Leave, Sick & Care Leave
In Australia, a full time employee should get 20 days annual leave and 10 days sick and care’s leave. We should read documents on this carefully and aware of any process to applying those leaves, and if there is any requirements (ie. doctors note for sick leave or 1 month before the annual leave).
Probation
Probation is the time for employers measuring our performance and if we are fit into the culture. It is also a time that we get to know our team and working environment. It is more like a dating period before the marriage (legal obligation). It is ok to end in the probation with different reasons. Learning through the journey is the most important thing.
Fair work
Employee Assistance Program
Employee Assistance Professional Association of Australia
What Do We Care As Human
According to Maslow’s Hierarchy of Needs, our demands are not only about our safety needs.
Making Impact
For sure one of our reasons to come to work everyday is getting paid. But there could be something beyond salary. The work we have done is a contribution to the society and the world. We are surely not like the Superheroes saving the world and thousands of lives in the movies. But our work could make our customers or client happy and sad.
Company values
When the company values aligned with our personal believes, it is going to make our day to day work a bit different. Company is like human beings. Those companies truly believe good values would make good impact to this world. Those values are the core principles underlining our daily behaviour.
In Summary
It is really long post, and each heading could be expanding into a topic. There are so much to read and think about the whole journey. Thanks for reading, and please leave any comments or thoughts.