A retro of 2023
prologue
2023 is going to far away from me, I will walk into the new year 2024, as a software engineer, I am very familiar with the idea of a "retro", Retros are an important step in the agile methodology, allowing a team to look back over a sprint, a project or some other unit of work to determine what this did well, what could be done better, and any lessons learned to take forwards.
However, we often do not take time to look back at our own individual journeys and reflect on your personal achievements, as a software engineer, I am so proud of myself in anywhere at anytime, I strongly believe that I have an amazing year in 2023, refering to my life and my job.
Identify what exactly you want it
I do not mean that I have already had the root answer about what exactly I want it. But, I think there are some things really need us having a deeper consideration. Frist of all, you must know what it is the most important, your personal gains, or your stable job, honestly, not at all. There were so many people asked me study hard and work hard, just earning more money, in some cases, this is right, yes, but earning more money is neither the whole of our life nor the only important thing, in the most people's mind it seems like if we want a better life the only thing we can do is earning more money, and natrually we will cherish our job very much. That is not right, let me ask you some questions.
Are you sure you are very safe or you are improving your life because of you have a stable and good job? What time you would know you just waste lots of time from your daily grind? In most cases, people are always making everything is better, we try our best to maintain our everyday, we do not want to lose anything, at this point, I want to tell you the most important thing is free yourself, taking more time to do some things, to do what you like, what you are interested in, releasing yourself is the most important thing. Only this way, you can get what you want it, as a result, you can deserve your achievements, because you are not wasting your time on balancing your life and your work, because you can identify what is your redundance, you can grab every chance for your better future.
This is my retro, isn't it? Since I have know what I want it, I just start to take more time to study and improve my professional knowledge, and I just decided to find a new me with more strong and more knowledgeable throughing more ways.
You are the only one be able to make decisions for yourself
Again, do not hesitate, especially in makeing decisions for yourself, you really should not consider others. Let me put this another way for you, no one, nobody cares about your career as much as you do except your loved ones. This year I have learned that my career is 100% my responsibility, because it is entirely up to me make the right choices that will lead me to my desired career outcomes.
Three years ago I entered into tencent, and I was assigned to CCTV's project, until this year, I was still in charge of co-maintaining the Big Data Platform, this is a self-developing platform from tencent called TBDS. Typically, I need to make sure the TBDS platform running smoothly as my daily working, I also accepted clients's demand and assisted them in accomplishing it with our efforts, so I can code with java, pyhton and golang.
At this point, maybe someone will say, as a software engineer I kind of have a good position, I should be proud of myself, that is true, yes, but I think I should not proud because I get others' recognition, because I am still restricted by my job, I did not release myself, this is just my work, this is not my goal, we do not need to pay more attention others' recognition. All right, I think I need to start the introdution for my working, it means what I have learned this year.
Collaboration and TeamWork
If you want to have a job in software company, you must know the collaboration and TeamWork is very important, usually, there is always a proper software architecture in your company, the places where is very easy have issues is between the components, is in the connection. On the other hand, if we are assigned to maintain different components, we really need to fouce on the connection or relationship between the components, it seems should not happen our servers is running soomthly, but the other components have a outage. The stakeholder and manager will definitely think all of you have responsibilities, which means there are some connections between employees.
One of the key areas where I have seen progress this year is collaboration and teamwork. I have had the opportunity to work with a number of different teams and individuals to achieve common goals, and I have learned a lot about the importance of effective communication and coordination in software development. This has included working closely with stakeholders to ensure clear and effective communication about project goals and progress, as well as making decisions about software architecture design that take into account the needs and preferences of our users.
One of the most valuable experiences I had in this area was when I helped the third-line team how to check severs quickly and correctly, and taught them how to use TBDS's tools. our project can split into three parts, the third-line team is responsible for monitoring the business outcomes through front-end interface around the 24 hours, I belong to second-line team, I also work in site, I am responsible for establishing and improving the monitoring system, avoid problems and reduce the outage time, and identify risks and enhance the processing of issue management. the last one fist-line team they need to help us pinpoint and resolve the problems which we did not have any ideas. Basically I taught third-line team, improve their capability about maintained, I also seek for resolution from one-line to have a high-level security system.
So, it was a great opportunity to not only share my knowledge and skills with third-team but also to learn from one-line team's perspectives and experiences. I learned a lot about the importance of being open to feedback and input from others, and how to effectively communicate and collaborate with a diverse group of people.
In addition to working with others on specific projects, I have also had the opportunity to lead and mentor others this year. As a maintenance engineer, I have provided guidance and support to my colleagues in the same team, and I have learnd a lot about the importance of building a positive and supportive team culture. I have learned to be patient and understanding with others, and to offer encouragement and support whenever possible,
Overall, my experiences with collaboration and teamwork this year have taught me the importance of effective communication and coordination in software development, and the value of leading and mentoring others.
Problem-solving and critical thinking
Another area where I have seen growth this year is in problem-solving and critical thinking, I have faced a number of challenges and setbacks, and I have learned to approach these challenges with a proactive and analytical mindset.
Actually, there are some things we need to concern about as a software engineer, how to address problems quickly so that everyone is satisfied with you, as a engineer, I think first of all, you should be able to handle every situation and try you best to make use of everything you can, including your experiences, your colleagues. Most engineers will very happy for having a sense of achievements, for instance, you resolved the problem alone. But some kind of it is not right, technically, the reason why is not right is that the problem should better be resolved by the processing of problem management rather than individual, we should let every related person join this meeting, and taking advantage of everyone's capabilities.
One of the strategies I have developed for tackling complex problem is to judge how serious is the negative impact, and retain related evidences quickly, send them to others, let them know what exactly it happened in a rapid speed. I have also learned to be more flexible and open-minded in my approach to problem-solving and to be willing to try different approaches until I find one that works.
Professional and Personal Development
Some of the key areas where I have focused on professional development this year include Flink, Spark, ETL, Kubernetes, Data Governance.
Communication and presentation skills have also been a focus for me this year. I have learned to be more clear and concise in my communication with others, and I have gained experience in presenting my ideas and findings to both technical and non-technical audiences. I have learned the important of tailoring my communication style to fit the needs of my audience, and I have gained a deeper understanding of the role that effective communication plays in software development. Communication is a precious skill, in my opinion, a special skill and one of the most transferable. By communication, I mean: The ablity to explain complex topics using simple words;The ability to present without losing your audience's attention; The ability to persuade people; The ability to deal with uncomfortable situations.
Time management and productivity have also been important areas of focus for me this year. I have learned to be more strategic in my time management, and I have developed strategies for staying focused and productive even when faced with distractions and competing priorities. I have learned to be more mindful of my energy levels and to take breaks when needed, and I have gained a deeper understanding of the importance of self-care in maintaining my over well-being as a software engineer. One of the strategies I have found most helpful in this regard is using task management tools like Trello to organize my work and prioritize tasks which have helped me to stay focused and productive.
In addition to techinal skills and accomplishments, I have also focused on personal growth and well-being this year. I have learned the importance of self-care and maintaining my well-being as a software engineer, and have taken steps to prioritize my health and well-being.
One of key challenges I have faced in this regard is imposter syndrome, which is a feeling of doubt about my competencies and capabilities that can lead to feelings of inadequacy and fear of being "caught" as an imposter. To overcome this, I have learned to be more confident in my skills and ro recognize that it is normal to have moments of doubt. I have also learned to seek support from others when needed and to be more proactive in seeking feedback and input from others.
So my experiences with personal growth and well-being this year have taught me the importance of self-care and maintaining my well-being as a software engineer, and value of seeking support and feedback from others.
Conclusion
In summary, my experiences as a software engineer in 2023 have been a journey of growth and learning. I have faced challenges and setbacks, and I have learned to approach these challenges with a proactive and analytical mindset. I have focused on professional development, and have learned to be more strategic in my time management and productivity. I have had the opportunity to collaborate and work with others, and to lead and mentor others. And I have learned the importance of self-care and maintaining my well-being as a software engineer.
I am grateful for the experiences and lessons I have learned this year , and I am looking forward to continuing to grow and learn as a software engineer in the years ahead.