How SMART Goals helped me with my Data Engineering Project
Some tips and experiences with using SMART Goals for Data Engineering
Have you heard of SMART goals before? Maybe you've come across them at work or online? Lately, I decided to give them a try for setting my personal and professional goals. I used this method to track my progress on the final project for Data Engineering Zoomcamp, and it was super helpful.
The project I was working on was quite challenging. The goal was to create a data engineering pipeline with fetching the data from a public API, loading the data into Google Cloud, provisioning cloud resources with Terraform, developing data processing functions in Python, aggregating data in Google Big Query, orchestrating process with Mage.Ai and presenting results in analytics dashboard with Looker.
If you are interested in the project you can check my GitHub repository.
After completing this project I got inspired to create a newsletter to spread the word about how awesome SMART goals can be. Here, I'll share some tips and experiences on how to use this powerful system for your own goals, both personal and professional.
But what are the SMART goals?
SMART goals are like your game plan for winning. They help you set clear, doable, and trackable objectives. You can use them in lots of situations. They're great for setting goals and keeping track of your progress.
Let's now explore the meaning of each letter in “SMART”.
SPECIFIC - Goals should be crystal clear, leaving no room for doubt.
Figure out who's involved, whether it's just you, a team, or a whole department. Knowing who's responsible helps divide up tasks and makes sure everyone is held accountable.
Be specific about what you want to achieve. What's the goal? Make sure it's defined clearly to avoid any confusion about what you're aiming for. If it matters, mention where the goal applies. Sometimes location matters, especially in fields like sales or marketing.
Set a deadline. When do you want to achieve this goal? Having a timeframe adds urgency and helps you prioritise tasks. Understand why this goal matters. What's the purpose? What benefits will it bring? Knowing the "why" gives you extra motivation and makes everything clearer.
My final project had clear technical requirements. I made sure to map them to the steps I needed to do, and to plan the time correctly.
MEASURABLE - Goals should be something you can keep tabs on to see how you're doing.
Break your goal into smaller steps that show you're making progress. Each milestone should feel like a win, keeping you pumped and moving forward.
Make a plan to check on your progress regularly. You can use notes, spreadsheets, or project management tools - whatever works best for you. Figure out how often you'll check in on your progress. Depending on your goal, you might want to check daily, weekly, monthly etc.
In my case, I made sure to split the project into a number of tasks and to define which tasks had to be completed in the first and second week. Then I checked my progress each day and made sure to stay on track.
ACHIEVABLE - Goals should be achievable with what you have.
Check your resources—time, skills, knowledge, money and support. Decide if you have what you need to reach your goal. If not, figure out how to get what you're missing or make the most of what you've got.
Big goals can be overwhelming. Break them into smaller steps to make progress easier and keep yourself motivated. Each step should be something you can handle with your current resources. Be realistic about what you can achieve with what you've got and adjust your goals accordingly.
Give yourself enough time to achieve your goals. Avoid setting deadlines that are impossible to meet. Do not forget your other commitments, personal or work related. Keep an eye on your progress and make changes as needed.
For my project I made a decision to stick to the knowledge I had and I got recently through Zoomcamp, and avoid using any other tools and technologies. Learning new things takes time and in that case I might not be able to achieve my already set goals in due time.
RELEVANT - Goals should fit into broader plans and priorities..
Consider how important your goal is for the bigger picture, whether personal or team related. It should address important things that contribute to overall success and growth.
When working in the team, make sure your goal matters to those involved—teammates, clients, or customers. Check if pursuing your goal fits with available resources—time, money, skills, and personnel. Also, evaluate how flexible your goal is to unexpected shifts or challenges.
The rules of my final project required me to use certain technologies and methods. I made sure to align them with my decisions about what technology I will be using for intermediate tasks of this project.
TIME-BOUND - Choose a specific date or timeframe to complete your goal.
First, have a clear end date in mind for your efforts. Then divide your goal into smaller tasks with their own deadlines, to make progress more manageable and to keep momentum.
Do not forget to consider your resources and any constraints, to ensure your deadline is realistic. Also align this with the "Achievable" aspect of SMART goals. Keep track of your progress and make changes to your plan if needed to stay on course to meet your deadline.
My final project already had a clear deadline set. I worked backwards from that date and made sure to set other smaller goals at the right time frame. Then I just made sure to check if I was completing them on time.
Example of SMART goals
Let’s play and learn a bit together! Let's make an example of SMART goals for Skill Development where you will improve your Python programming skills:
Specific:
Who: You, as an individual.
What: Improve proficiency in Python programming.
Where: At home, using online resources and practice exercises.
When: Over the next three months.
Why: To increase chances of getting a new job, to try more complex coding projects or to contribute more effectively to your team or personal projects.
Measurable:
Learn one new Python concept or feature each week.
Complete at least 10 coding challenges or exercises per month from online platforms like LeetCode, HackerRank, or Codecademy.
Create a portfolio of Python projects showcasing different applications of your skills. Aim to have for a minimum of three projects by the end of the three months.
Achievable:
Reserve at least 5 hours per week to study and practice Python.
Break down larger concepts into smaller, manageable steps to prevent being overwhelmed.
Search for resources such as online tutorials, courses, and forums to help your learning journey.
Relevant:
Python is a widely-used programming language in areas such as data engineering, data science, artificial intelligence and web development.
Improving your Python skills will benefit your current role and help future career aspirations.
Improving your coding skills aligns with your long term career plans.
Time-bound:
Pick deadlines for finishing each weekly goal and monthly coding challenge.
Plan times to check how you're doing, fix any problems, and change your study plan if you need to.
Try to get better at Python in three months.
Nice and easy, your goals for learning more Python are done! Let’s not fool ourselves, making plans like this is the easy part. What is hard is to stay focused, determined and motivated. That is why it is important to align plans like this with our main life and career plans.
Conclusion
For teamwork, SMART goals make a lot of sense. They help teams to set expectations, stay focused and to be accountable. In project management these goals are essential for keeping projects on track. They make sure that everyone knows what to do, when and to what standard.
SMART goals also help to spot any issues early and to use resources efficiently for project success. With clear goals it gets easier for teams to work together towards common objectives, and deliver desired results on time.
For me personally, this experiment with using SMART goals was a success! I found out that using the SMART framework really helped me to better organise my time and work. It helped me also to stay focused, motivated and to complete my project on time.
I believe that main ideas from this framework can be used for any other personal goals. For example: when defining goals and steps for a health-improvement plan, when learning new foreign languages or studying for the exam. Check it out and see if it can be helpful also for your case. Give it a try and you might be pleasantly surprised with the results!
Do you have any experience with SMART goals? Feel free to share your thoughts below in the comments!