今日推薦開源項目:《安全化 DOMPurify》
今日推薦英文原文:《How Mentorship Helped Shape My Career》
今日推薦開源項目:《安全化 DOMPurify》傳送門:項目鏈接
推薦理由:這個項目可以用於清洗用戶輸入的 HTML 或 SVG 字元串從而防止可能的 XSS 攻擊,在 README 中提供了一些小的 XSS 輸入例子來演示其對於各種腳本標籤與事件都可以做到檢測與清理,使得處理後的用戶輸入是足夠安全的;唯一需要注意的就是不要讓你的第三方庫再次影響已經處理完成的數據即可。
今日推薦英文原文:《How Mentorship Helped Shape My Career》作者:Marco Ziccardi
原文鏈接:https://medium.com/better-programming/how-mentorship-helped-shape-my-career-b5566d92be76
推薦理由:導師是如何在職業生涯中起作用的
How Mentorship Helped Shape My Career
What good mentorship looks like
During the past 15 years, I』ve explored different ways to acquire the necessary knowledge and skill to move forward in my growth. Most of my efforts were spent on formal training and courses. I thought it was the way to build up the fundaments of my future. I still believe it was the right thing to do, but I didn』t know I was neglecting one of the most effective learning methods.I』m a history lover, and a few years ago, I was reading about the Renaissance movement — a cultural revolution that changed the course of world history between the 14th and 17th centuries. In a chapter about Raffaello Sanzio, one of the greatest protagonists of that magnificent Ere, I found out he was the pupil of Pietro di Cristoforo Vannucci, another legendary artist better known as Perugino. Vannucci, in turn, was the pupil of one of the pioneers of the Renaissance, Andrea del Verrocchio, mentor to other artists like Sandro Botticelli, Domenico Il Ghirlandaio, and Leonardo da Vinci.
Of course, I』m aware that the social and economical ecosystems were the fundamental factors of the Renaissance. However, that example helped me realise how human interaction boosts the learning pace. It improves their existing skills via other people』s knowledge and experience. The learning experience is built around the learner』s personality and attitude, which makes it unique and not replicable in the same configuration for the learner.
That 「learning chain」 made me decide that in order to develop and improve all the different aspects of my work, I needed to gain knowledge from multiple angles and shapes. Courses, training, and books are really important to support the learning process. However, the information flow is unidirectional and flat. It is often based on well-defined structures, which assumes we all acquire knowledge in the same way. I agree that building knowledge at scale requires structures and processes, but I believe we can』t ignore what is, in my opinion, the most powerful learning source: mentorship.
I started to integrate my learning plan with interactive sessions, like workshops, meet-ups, and the one I love the most: 1:1 mentorships.
What I find really empowering about mentorship is that it doesn』t just enable two-way communication between the learner and the source of knowledge — as you can get that from other interactive techniques — but it creates a direct and exclusive relationship. Sessions are often based on day-to-day needs and the knowledge acquired can be applied and validated immediately.
How Mentorship Helped Me
For over ten years, I was a builder. To me, engineering was about coding and project management. I knew from the beginning that I didn』t want to write 40-year-old code. However, I didn』t know how to evolve my career. It was mainly aspirational and idealistic.I was particularly confused about how my skills and attitude could be better used to help the growth of an engineering organisation. I saw myself as a tech person — versatile for sure, but still a techie.
Everything changed when I joined a scaling company, where I』ve been exposed to a different set of issues and people. Two former colleagues, in particular, helped me understand the differences between technical and organisational growth. While they were sharing their stories, I developed a passion for software development methodologies, software craft at scale, and behavioural change management. I could finally see that my background (a master』s degree in HCI), my analytical mindset, and my passion for human dynamics were incredibly valuable to help the company scale.
When I chose to study HCI, I was interested in resolving people』s dynamics while using technology. I never considered people』s dynamics in crafting technology. They are two different sets of problems. However, there are commonalities. Knowing how people interact while using technology, and how the crafting process works, provided me with the fundaments to deal with an engineering team at scale.
The path was already there. Mentorship enabled me to take it and supported me during the transformation process. Topics like resolution of conflict are totally contextual and there are so many variables that without factual experience, any possible approach is basically a guess. Having someone who shared their experience and point of view with me was a blessing. Most of the solutions I』ve adopted were a mixture of scenarios I had never experienced in person.
If it wasn』t for all my mentors, I would have probably pursued a pure tech career. I don』t know if I would have been successful. I doubt it. At any rate, I』ve never regretted my choice.
What Good Mentorship Looks Like
If I had to list the main characteristics I appreciated from my mentors, I would group them into two macro aspects: heterogeneity and reciprocity.Heterogeneity
First, we need to understand that all mentors are different. They come with different experiences and can provide you with alternative views of the same problem. In this regard, I really like the way Ellen Ensher approaches the problem of finding a mentor.「One mentor is not enough. You need a network of different types of mentors because we grow and learn professionally in so many different ways.」
I think this is the essence of mentorship. If we make it mutually exclusive, then we are enforcing counterproductive limiting boundaries.
Reciprocity
The second aspect we need to consider is that the power of mentorship comes from its intrinsic reciprocal nature. As Simon Sinek points out, you learn from your mentor as much as your mentor learns from you. This is extremely important because it』s necessary if you want to create a healthy and balanced relationship.In addition to the two main pillars, there are three related characteristics I』m usually looking for:
- Competence: They have to be an expert in the field you are interested in. They need to have enough experience to help you optimise your efforts. As we said, we can all learn something from everybody, regardless of their experience. However, you need them to have well-developed competencies if you want to be able to absorb them.
- Empathy: Mentors need to be aware of how important their role is in people』s development. They should listen actively, treat people with respect, and be tactful in the way they deliver feedback. Empathy is essential and non-negotiable.
- Challenge: A good mentor is not only a nice and competent person. They need to have the ability to challenge you. If you want to grow, you have to step out of your comfort zone. The mentor has to help you understand who you are and how you can challenge your status quo.
A Good Mentor Is Also a Good Friend
In today』s society, it is not that easy to find people with those characteristics. It may take a good while to find the right person and it could grow frustrating over time. They are the real unicorns, but the payoff is worth the effort.You first need to establish a personal relationship with potential mentors. They are going to help you improve and make difficult decisions that may have consequences on your working and personal life. I strongly believe you need a certain level of friendship in place to be able to get the most out of them and give them the best of yourself.
Thanks for reading!
下載開源日報APP:https://openingsource.org/2579/
加入我們:https://openingsource.org/about/join/
關注我們:https://openingsource.org/about/love/