If you could travel back 10 years, what advice would you give to your younger self?
One piece of advice I would give to my younger self if I traveled back to the beginning of my career - "Set a variety of goals for what you want to achieve. No goal is too big, as long as you have the right plan and vision. ."
I have had successes and failures over the past 25 years. This journey is unforgettable because it taught me the importance of failure and success. Every success is close to my heart and keeps giving me a better understanding of teamwork and fulfillment, but every failure offers me a new and innovative way to find extraordinary solutions.
Another quality that has helped me get here is taking risks. I'm never afraid of obstacles, looking for challenging tasks rather than taking on the first project I come across. Consciously stepping out of my comfort zone allowed me to learn advanced skills faster than my peers.
When I look back over a decade ago, there are a few things I wish I should or shouldn't have done. These career tips could have helped me avoid bad decisions and move forward in a more focused and faster way. That's why I decided to write down some advice for my younger self to help those who are just starting their career journey in software engineering jobs.
If I could go back in time, these are the 18 pieces of advice I would have taught my younger self as a software engineer (10-18 in this post, 1-9 in the previous post):
10. Continuous Learning: Upskilling/Reskilling Programs
The digital world is moving at a high speed, and software engineers need to understand not only their own technical domain, but also in-depth knowledge of other domains. Continuous learning, upskilling/retraining programs are the best way to do this. When a person is certified in various technical disciplines, he can better understand the problems and client requirements.
Continuous learning and certification can help engineers demonstrate their competence, commitment to the profession, and build expertise in specialized areas. Additionally, certification training and continuation topics are often improved on a regular basis to ensure that anyone practicing in the field can keep up with the latest trends and developments.
11. Software engineering is simple, but people are complex
For software engineers, in order to be successful, it is critical to know and understand the social aspects of their work. Too often, human engineers don't realize the value of understanding the social aspect, which then limits careers in some way.
One of the biggest reasons is that many times we have to work with other people or teams where technical skills are less important and communication and collaboration are more important. That's why it's crucial to not only focus on technical skills, but also to interact with and understand those around you.
Building Your Social Network "Social fabric" is the group or community that surrounds you and supports you. It can be your family, friends, colleagues or neighbors. This is a community that is there for you when you need it. The way in which the integrated values interact in each chain determines whether this is the social bond that binds people together.
The quality of the social fabric determines how effectively a person structures their organization for inclusive, sustainable prosperity. The key to creating a stronger and more cohesive social fabric is not to create rigid, inflexible values, but to consciously update and supplement the cohesive values that underpin the social fabric.
12. Find a mentor
The right mentoring relationship can be a powerful tool for career development—it can lead to new jobs, promotions, and even a better work-life balance.
The best way to find a mentor is to know your goals (both short and long term). The more specific your goals are, the easier it will be to find the right mentor. The principles of creating effective and achievable goals can be found in SMART: specific, measurable, attainable, relevant and time-bound.
The second best way is to understand your existing network. The more people know about your work and abilities, the more effectively they can guide you. Of course, make sure the person you're looking for also has the expertise you need.
Thirteen, study for a master's degree
Computer and information technology jobs are expected to grow 12 percent, adding 546,200 jobs. A master's degree is a crucial step in career development, especially if you have limited professional experience, want to change careers, or even want to move to the next level even though you're already in the industry.
Further studies in the degree allow you to gain experience in systems thinking, business ethics and organisational strategy, taking your strategic thinking skills to the next level. In addition, this lifelong academic certificate also demonstrates one's expertise and dedication to the field, while also expanding professional networks.
14. JOMO instead of FOMO
"Fear of missing out" (FOMO) refers to the possibility of missing a good time, and it is a feeling of anxiety or regret that accompanies hearing about an event and needs to be acted upon in case something is missed. But the good news is that the fear of missing out can be replaced with a healthier, happier one: the joy of missing out (JOMO).
The joy of missing out teaches us the value of being in the right place and at the right time. This does not mean saying no to every social event or opportunity, but it means knowing when to say yes or no, the right to choose.
15. Software Engineering Ethics
Software developers are integral to protecting our critical infrastructure. Their job is to write algorithms that have a huge impact on people's lives. Academic and professional societies are in a unique position to develop ethics for software engineers, but they don't have that much influence. A software engineer's code of ethics shouldn't look like a code or a checklist.
It should be more like "All software developers should educate themselves about programming biases and their potential harms, examine their plans and follow-up code for such biases, be able to explain how they deal with these issues, be willing to accept their code reviews, be asked to be responsible for any findings found in the code Deficiencies can lead to bias and address issues raised by oversight committees."
16. Choose Your Career: Technology Management, Product Management or People Management
There are many different ways of thinking when it comes to solving the challenges of scaling a business. Fortunately, software engineers have access to a wide variety of work environments that allow them to shape their ideas on the right track and move on.
17. Addressing Myths About Motivation
To answer the question of work motivation, a software engineer needs to be able to clearly picture how his day-to-day work fits into the bigger picture, and whether he wants to know that the work they do is relevant.
The first step is to list the reasons why you want to achieve your goal. That's why you need to be grounded in your purpose. Also, be prepared for temporary setbacks or sheer exhaustion, but don't take it to heart and move forward with full determination.
18. Spend time in software engineering patterns
Observability: It is a tool or technical practice that enables engineering and operations teams to diligently debug their systems. It explores new patterns and properties that may not be pre-defined or identified. Since code may behave differently in production, it's important to proactively observe what's going on in production situations that affect users. To perform true system observability, the code needs to be tested to generate telemetry that helps to ask any new questions.
Monitoring as code: This is the practice of enabling operations teams to observe and understand the different states of their systems, usually through predefined metrics, dashboard reports that update in real time. The basis for providing data for these dashboards is to assemble a set of predefined metrics or logs that are important.
Over the next 18 months, individuals will learn about the following areas: Quantum Computing and Q#, Distributed Computing, RUST, TensorFlow, Snowflake, Unity (for 3D modeling, AR, VR, MR), 5G.
You might be wondering: why is this career advice so important? Isn't it enough to satisfy your immediate boss? The answer is usually no. There are some unexplainable challenges on the journey to success, but when you're headed in the right direction from the start, it's easier to deal with them and act faster than others.
These career advice are worth it in the long run.
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。