How I Approach New Projects #3
Not in any particular order.
When I am offered the opportunity to work on a new project, I don't prioritize the financial aspect of the job. Instead, I focus on the project's value and the problems it aims to solve. This approach allows me to make informed decisions and contribute to projects that align with my values and passions. I usually sign up to work on a project if the project is exciting or solves an interesting problem.
When starting a new project, I like to get as much setup out of the way as possible, particularly tasks that can be time-consuming or difficult to implement later on. This may include tasks like setting up Terraform, choosing a hosting provider, creating docker images, and establishing logging and monitoring systems. By tackling these tasks early on, I can ensure that the project is set up for success from the beginning. This also helps to identify and fix the issues earlier rather than later.
When starting a new project, I usually try to choose the latest technology stack that I want to learn and improve upon. This way, even if the project fails, I will still have gained new skills and knowledge that I can use in the future. Of course, this also depends on business requirements for example: "Use mature tech stack". (An example of mature tech would be Laravel framework or Nestjs.) I also make sure to do thorough research and consider the feasibility of using the chosen technology stack for the specific project. By constantly learning and staying up-to-date with the latest technologies, I can ensure that I can tackle any challenges that may come my way and deliver the best possible solution for the project.
In conclusion, when starting a new project, I prioritize value and problem-solving over financial gain. I also prioritize setting up the project for success by tackling time-consuming tasks early on and by choosing technology stacks that they want to learn and improve upon. By staying up-to-date with the latest technologies and doing thorough research, I am able to deliver the best possible solution for the project and gain valuable skills in the process. However, I also take into consideration business requirements and may choose to use a more mature technology stack if necessary.