avatarJames Stanier

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

7828

Abstract

life debt and saving for down payments on a home.</p><p id="8509">And certainly, if you are optimizing towards your total compensation at all times, then the best thing you can probably do is to keep changing jobs. However, job hopping isn’t a long term game that you can continually play — not just because it’s exhausting. Many other aspects make your career and life rewarding, and those things need your focus too.</p><p id="cd5e">I’ve always liked the model proposed by Dan Pink in <a href="https://www.goodreads.com/book/show/6452796-drive">Drive</a>, which is that what truly motivates us is not the carrot-and-stick approach of ever more money, but instead the ability to craft our careers to give us the following three things:</p><ul><li><b>Autonomy</b>: the desire to be self-directed.</li><li><b>Mastery</b>: the urge to continually hone our craft and increase our skills.</li><li><b>Purpose</b>: the desire to do something that has meaning and is important to us.</li></ul><p id="5f1a">One of the <a href="https://www.youtube.com/watch?v=u6XAPnuFjJc">arguments he makes to support this</a> is that our entire technology industry is supported by the voluntary efforts of extremely skilled people that are doing work for free and releasing it as open source software.</p><p id="4f2f">And of course, <a href="https://www.youtube.com/watch?v=u6XAPnuFjJc">xkcd</a> has a great take on it:</p><figure id="681f"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/0*tJ2D6PwhwhFmGafu"><figcaption>Webcomic by <a href="https://xkcd.com/2347/">xkcd</a></figcaption></figure><p id="3087">Very few of us can afford to work for nothing. But you can work out what you would fill your time with if money had nothing to do with it, and then work on honing your craft so that your passions can become profitable too.</p><p id="d140">This approach has an important corollary. Once you’re able to do what you’d probably do for free, you’ll likely progress even faster because you are genuinely passionate about it.</p><p id="84a3">Focus on the craft and the opportunities and money will come. It’s a worthwhile long-term game to play.</p><h1 id="8fbc">How Do You Get There?</h1><figure id="bd79"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*J-Cheu4_QdCGkGBeKPgrSA.jpeg"><figcaption>Photo by <a href="https://unsplash.com/@aaronburden?utm_source=medium&amp;utm_medium=referral">Aaron Burden</a> on <a href="https://unsplash.com?utm_source=medium&amp;utm_medium=referral">Unsplash</a></figcaption></figure><p id="3f43">The short answer at the beginning of this article stated that your career is your responsibility, and you need to take full ownership of the path that you are on. That’s true, but you’re unlikely to be able to make that journey on your own.</p><p id="f75b">Progression inside any organization is a team play that includes your manager, your colleagues, peers, and whoever else is responsible for approving promotions. It’s not a solo quest that you can win through brute force and friction. It requires collaboration and consensus.</p><h2 id="6595">Understanding How Promotions Work</h2><p id="2697">Every organization is different, with one key similarity: you can’t promote yourself. Promotion or progression typically comes from a combination of your manager supporting your movement to the next level in collaboration with a number of others who act as some form of promotion committee.</p><p id="0cd7">At larger companies, specific groups of people sign off on promotions — typically people at a higher seniority than the role you want to move into.</p><p id="5d14">At smaller companies, the promotion process may not be formalized, but it will happen informally anyway. Your manager may ask the opinions of your peers and leadership and may have to get your promotion signed off by more senior people. Written or unwritten, the procedure is similar.</p><p id="9654">Since moving up involves many people, it’s not enough for you to simply state your case for a promotion and then push to make it happen. Instead, you need to make sure that everyone involved in that promotion process has no doubts that you are able to operate at the next level.</p><p id="486d">Make sure your skills are at the appropriate level for your craft and that those around you see your skills and have zero doubts about them. If you’re not sure how to get to this goal, it’s time to make a plan.</p><h2 id="0a3f">Stating Your Intent and Making a Plan</h2><p id="ebae">Once you’re clear on how you want to progress, the first step is letting your manager know where you want to go. Your manager can work with you in paving the way.</p><p id="6f14">It may take you many years — or even a whole career — to reach your desired level. The more senior you become in larger organizations, the more you will find this to be true. If you want to progress into management or senior management, the organization must have teams for you to lead and leadership roles available.</p><p id="b1f4">But the news isn’t all bad. By identifying the gap between where you are and where you want to go, you and your manager can start building a promotion case for the future.</p><p id="9f45">For example, work together to find and create opportunities to:</p><ul><li><b>Take a lead role on upcoming projects</b>. You can start small by assisting with communication and coordination. Work your way up to being the decision maker.</li><li><b>Mentor staff who are less experienced. </b>Progression isn’t just about making yourself better; it’s about making everyone around you better.</li><li><b>Try line management, assuming that you get the right support.</b> Some companies allow senior engineers to dip their toe into some line management responsibilities before taking the full leap into the role.</li><li><b>Ask your manager to delegate responsibilities to you. </b>Just ask what they’d like to take off their plate. You’ll be surprised how seemingly undesirable tasks can become learning experiences for you.</li><li><b>Present at meetings with senior leadership</b>. Next time your team or project aligns with senior leadership, why not ask to drive the conversation and make yourself more visible?</li><li><b>Do the communication for your current projects. </b>Updating the team, department, or company on progress is a great chance to improve your communication skills.</li></ul><p id="486b">All of these activities and more begin with a simple conversation with your manager about your intended destination. You’ll often find a whole host of ways of making your manager’s life easier while building your desired toolbox of skills.</p><h2 id="150b">Modelling Others</h2><p id="ebb2">Another way to contribute to your progression is to find others you look up to and seek to understand what they do. Consider booking a coffee chat to get to know them better.</p><p id="51f5">For those in your company who have already made it, what are you able to discover?</p><ul><li><b>What do they spend their days doing? </b>How do they balance their time between meetings, programming, researching, mentoring, and writing?</li><li><b>What projects and work are most important to them? </b>How do they get assigned to projects? Do they choose where they get to work, or are they part of a team or group that makes that choice for them?</li><li><b>Which chat channels, mailing lists, and repositories do they hang out in? </b>How do they work with other groups? What does their communication look like? Are you able to contribute?</li><li><b>What did their journey look like to get to where they are? </b>Did they progress from inside the company, or did they gain experience elsewhere before entering at their level?</li><li><b>What advice do they have for you to get to where they are? </b>Was it hard work, luck, or both? Is it r

Options

epeatable?</li></ul><p id="3896">Having additional inputs from others gives you insight that your manager might not have and provides you with more vectors for observation, contribution, and learning.</p><p id="3d1c">Such conversations can also make you aware of other parts of the company that could provide better routes for progression. For example, there may not be any people management openings in your division. However, there may be a critical need elsewhere, but that group didn’t know that you were interested.</p><h2 id="5a3a">Seeing How Your Team and Peers Can Help</h2><p id="c1db">Regardless of whether you want to become a more experienced individual contributor or a people manager, progress never happens alone. Instead of putting all of your attention on reaching outside of your team to progress, much of what you need can be found by thinking about how to make your team better.</p><p id="75ea">If you’re an individual contributor, then you can find your daily practice in communication, mentoring, pair programming, and collaborative design with your team. Don’t turn your back on your current responsibilities to level up — intentionally use them to propel you forward.</p><p id="f1b7">If it’s a comfortable conversation to have, then be open with your intentions for progression with others on your team. Often, you’ll find that your colleagues will be supportive and will want to collaborate with you towards a situation that enables you both to progress.</p><p id="0a71">For example, if you are beginning to take the lead on the technical design of projects, why not bring along someone who is less experienced for the journey?</p><p id="7ba6">There’s always an opportunity to pay it forward.</p><h2 id="bcf5">Increasing Your Visibility</h2><p id="8566">As mentioned earlier, a key ingredient for progression — especially to the most senior levels — is <i>visibility.</i> Fundamentally, your progression in anything, anywhere, will be decided by some form of committee, whether that is explicitly or implicitly organized.</p><p id="4165">As you work, always have in mind the effect that you’re having on your visibility. Imagine yourself in the place of one of the influential decision makers in your organization. How likely are they to have heard about you and your work, and what would they discover if they were seeking that information?</p><p id="10a4">From a reverse angle, think about:</p><ul><li><b>If your teammates were asked about your performance anonymously, what do you think they would say? </b>If you are a collaborative, helpful, and motivated person then it’s likely the comments would be positive. But could any of your behaviors be interpreted in the wrong way? Why? Are there particular individuals on the team with whom you need to work harder on building trust and rapport? How can you work on that?</li><li><b>What examples of your work and ideas could be found? </b>How well are you collaborating when commenting on pull requests or critiquing designs? What code are you shipping? What updates and ideas have you documented, and are they a true reflection of your best self?</li><li><b>How do you show up in meetings and in verbal and written discussions? </b>If you were observing yourself, would you say that you were a net positive contributor to all of these situations? If not, why not?</li></ul><p id="08b9">Visibility and trust are built incrementally — in granular steps. Make sure there is no mismatch between your intentions and the effects of your actions. If you find it hard to self-critique in this way, then ask a colleague you trust to give you an honest answer.</p><h1 id="de40">Bringing It All Together</h1><figure id="79d1"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*AUOKyquW3LZH_TJvM3Ad6A.jpeg"><figcaption>Image created on <a href="https://wordart.com/">WordArt.com</a></figcaption></figure><p id="31a0">Progressing, in general, is a two-stage problem. You need to discover where you’d like to go, and then take positive action to work towards it.</p><p id="c48c">People tend to over index on the prescriptive “how” before spending enough time on the “what.” The search space of possibilities for your career trajectory is effectively unbounded and can rarely be predicted over long enough periods. This unpredictability is a feature, not a bug, and should be embraced.</p><p id="f8e7">There’s no right or wrong career journey, and you should never let others decide what you should be aiming for. You are here only once, so do what you want. Optimizing purely for money, status, prestige, or toil as a badge of honor does not make for a long and rewarding career. Instead, it will make you unfulfilled.</p><p id="a38c">The true game to be played in your career is to continually optimize for honing your craft. For many, that comes from finding the right company to work for that offers autonomy, mastery, and purpose with enough money to lead a comfortable life.</p><p id="3953">You’ll never know where your skills may take you — that’s the beauty of work life.</p><h2 id="d7de">About the Author</h2><div id="9049" class="link-block"> <a href="https://readmedium.com/james-stanier-df5a57365be4"> <div> <div> <h2>James Stanier</h2> <div><h3>Articles, Books, and More by James Stanier</h3></div> <div><p>medium.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*AXNWPVH1n7CYoG_vINF3Og.png)"></div> </div> </div> </a> </div><p id="dff4">If you enjoyed this article, be sure to pick up James Stanier’s books from The Pragmatic Bookshelf:</p><div id="934d" class="link-block"> <a href="https://pragprog.com/titles/jsrw/effective-remote-work/"> <div> <div> <h2>Effective Remote Work</h2> <div><h3>The office isn’t as essential as it used to be. Flexible working hours and distributed teams are replacing decades of…</h3></div> <div><p>pragprog.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*m38i6iMU1T4zFtDx)"></div> </div> </div> </a> </div><div id="46eb" class="link-block"> <a href="https://pragprog.com/titles/jsengman/become-an-effective-software-engineering-manager/"> <div> <div> <h2>Become an Effective Software Engineering Manager</h2> <div><h3>Software startups make global headlines every day. As technology companies succeed and grow, so do their engineering…</h3></div> <div><p>pragprog.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/0*qQnBx5MokjxN6uvk)"></div> </div> </div> </a> </div><p id="8168">If you’d like to be part of the writing process, you can leave feedback for James about his books on the reader forums on DevTalk or even start a book club. You’ll also find a 35 percent off promo code there:</p><ul><li><a href="https://devtalk.com/books/effective-remote-work"><i>Effective Remote Work</i></a> on DevTalk.</li><li><a href="https://devtalk.com/books/become-an-effective-software-engineering-manager"><i>Become an Effective Software Engineering Manager</i></a><i> </i>on DevTalk.</li></ul><p id="9c32"><i>Originally published at <a href="https://www.theengineeringmanager.com/qa/how-do-i-progress-to-the-next-level-in-my-career/">https://www.theengineeringmanager.com</a> on July 17, 2022.</i></p></article></body>

Photo by Allison Louise on Unsplash

How Do I Progress to the Next Level in My Career?

Answers from The Engineering Manager

https://pragprog.com/newsletter/

Let’s explore another question people frequently ask me. How do I progress to the next level in my career?

This is a broad question, and every single person is different. However, this question is interesting because you can use it to begin some valuable self-inquiry.

What we’ll do is:

  • Explore what careers may look like and what motivates us. These topics are well worth revisiting when you feel like you are getting frustrated or stuck or are wondering what the future may hold for you.
  • Think of practical ways to take your progression into your own hands. Once you know what you’re after, how do you get there?

Let’s get going.

The Short Answer

Image by HomeStudio on Shutterstock

Before we go any further, there is one important axiom that is true about your career, regardless of your experience or role:

💼 It’s your responsibility, and you need to take full ownership of it.

Yes, you may work at a company that provides career tracks. But it’s your responsibility to know what you are after and intentionally make progress in that direction.

Frameworks, like career tracks, act like sat nav systems: they help route your vehicle to the destination, but you are required to enter the destination and actually do the driving.

Sitting back and assuming that the progression will take care of itself with tenure rarely yields the same result as actively taking strong ownership. Clear intention aligns your mind — consciously and subconsciously — and that of your manager and peers, who, in turn, can help find opportunities for you.

So you need to take responsibility for getting where you want to go. But that leads to another important question.

What Do You Actually Want?

Photo by Belinda Fewings on Unsplash

This is where the introspection begins. When we consider our careers, we can fall foul to shallow thinking about what will make us fulfilled versus what we truly want, free of assumptions, projections, and bias.

For example, we may imagine our career will be a linear progression where we travel up and to the right gaining experience, new job titles and increased remuneration along the way.

However, the reality is that it is very hard to predict the future. Up and to the right is an illusion.

For example, take my own story. When I was doing a Ph.D., I was 100 percent sure I was going to be an academic, working towards my dream of becoming a professor. But postdoctoral positions were limited when I graduated and I was only able to make the shortlist for the positions I wanted. A pressing issue was that I needed money. I had rent to pay, so I joined a local startup as an engineer instead.

As I continued to hone my craft at building software, I got interested in managing people and leading teams. Whilst preparing myself by reading books and articles, the company raised a significant amount of investment and grew quickly. This preparedness gave me the opportunity to lead a team, and over time, I progressed into senior management as VP of Engineering.

Did I think I wanted to take that path ten years ago? Nope, I didn’t even know it was possible. And it’s likely that you’re going to be unable to predict what’s possible for you in the same timeframe.

Think about this: if you are in the early stages of your career, the young founder you may end up working for in twenty years may have just been born. Imagine that!

Careers really look like a squiggle, rather than a ladder.

As you grow and evolve as a human being, your preferences for work grow and evolve concurrently. You progress through different stages, seeking different challenges, interests, domains, and balances between time, money, and willingness to expose yourself to risk and stress.

Changing preferences mean that your future self may make choices that your present self would find unappealing. That, in turn, means it’s hard to guarantee that you’re making globally optimal choices that will serve you well later. Thus, on one hand, the squiggle represents changing desires.

But the squiggle also represents factors that are outside your control. You may face recessions, layoffs, bad timing, illness, and changing family circumstances that all affect your direction. But, balancing the bad with the good, you may also have an incredible idea for a business or meet your future co-founder. You may become passionate and skilled in something that hasn’t been invented yet. You may come into a lot of money via a company exit that gives you more freedom to choose how to spend your time.

In order to be happy with your career progression, you need to embrace that there will be unexpected possibilities and unpredictable change in the future. Turn your attention away from limiting criteria (like aiming only for position X at company Y, or salary Z) and instead turn inward to hone your craft and align your passion. By turning inward, you can make sure that you are correctly placed and skilled for whatever may arise in the future.

Turning Inward

Image by Neveshkin Nikolay on Shutterstock

Be wary of playing myopic games. They can erode your long-term freedom.

Take money for example. We’d all be pleased if we earned more money. Who wouldn’t be? Money motivation is strongest at the beginning of our careers where we are trying to get our longer term financial futures in order by paying off our education and early life debt and saving for down payments on a home.

And certainly, if you are optimizing towards your total compensation at all times, then the best thing you can probably do is to keep changing jobs. However, job hopping isn’t a long term game that you can continually play — not just because it’s exhausting. Many other aspects make your career and life rewarding, and those things need your focus too.

I’ve always liked the model proposed by Dan Pink in Drive, which is that what truly motivates us is not the carrot-and-stick approach of ever more money, but instead the ability to craft our careers to give us the following three things:

  • Autonomy: the desire to be self-directed.
  • Mastery: the urge to continually hone our craft and increase our skills.
  • Purpose: the desire to do something that has meaning and is important to us.

One of the arguments he makes to support this is that our entire technology industry is supported by the voluntary efforts of extremely skilled people that are doing work for free and releasing it as open source software.

And of course, xkcd has a great take on it:

Webcomic by xkcd

Very few of us can afford to work for nothing. But you can work out what you would fill your time with if money had nothing to do with it, and then work on honing your craft so that your passions can become profitable too.

This approach has an important corollary. Once you’re able to do what you’d probably do for free, you’ll likely progress even faster because you are genuinely passionate about it.

Focus on the craft and the opportunities and money will come. It’s a worthwhile long-term game to play.

How Do You Get There?

Photo by Aaron Burden on Unsplash

The short answer at the beginning of this article stated that your career is your responsibility, and you need to take full ownership of the path that you are on. That’s true, but you’re unlikely to be able to make that journey on your own.

Progression inside any organization is a team play that includes your manager, your colleagues, peers, and whoever else is responsible for approving promotions. It’s not a solo quest that you can win through brute force and friction. It requires collaboration and consensus.

Understanding How Promotions Work

Every organization is different, with one key similarity: you can’t promote yourself. Promotion or progression typically comes from a combination of your manager supporting your movement to the next level in collaboration with a number of others who act as some form of promotion committee.

At larger companies, specific groups of people sign off on promotions — typically people at a higher seniority than the role you want to move into.

At smaller companies, the promotion process may not be formalized, but it will happen informally anyway. Your manager may ask the opinions of your peers and leadership and may have to get your promotion signed off by more senior people. Written or unwritten, the procedure is similar.

Since moving up involves many people, it’s not enough for you to simply state your case for a promotion and then push to make it happen. Instead, you need to make sure that everyone involved in that promotion process has no doubts that you are able to operate at the next level.

Make sure your skills are at the appropriate level for your craft and that those around you see your skills and have zero doubts about them. If you’re not sure how to get to this goal, it’s time to make a plan.

Stating Your Intent and Making a Plan

Once you’re clear on how you want to progress, the first step is letting your manager know where you want to go. Your manager can work with you in paving the way.

It may take you many years — or even a whole career — to reach your desired level. The more senior you become in larger organizations, the more you will find this to be true. If you want to progress into management or senior management, the organization must have teams for you to lead and leadership roles available.

But the news isn’t all bad. By identifying the gap between where you are and where you want to go, you and your manager can start building a promotion case for the future.

For example, work together to find and create opportunities to:

  • Take a lead role on upcoming projects. You can start small by assisting with communication and coordination. Work your way up to being the decision maker.
  • Mentor staff who are less experienced. Progression isn’t just about making yourself better; it’s about making everyone around you better.
  • Try line management, assuming that you get the right support. Some companies allow senior engineers to dip their toe into some line management responsibilities before taking the full leap into the role.
  • Ask your manager to delegate responsibilities to you. Just ask what they’d like to take off their plate. You’ll be surprised how seemingly undesirable tasks can become learning experiences for you.
  • Present at meetings with senior leadership. Next time your team or project aligns with senior leadership, why not ask to drive the conversation and make yourself more visible?
  • Do the communication for your current projects. Updating the team, department, or company on progress is a great chance to improve your communication skills.

All of these activities and more begin with a simple conversation with your manager about your intended destination. You’ll often find a whole host of ways of making your manager’s life easier while building your desired toolbox of skills.

Modelling Others

Another way to contribute to your progression is to find others you look up to and seek to understand what they do. Consider booking a coffee chat to get to know them better.

For those in your company who have already made it, what are you able to discover?

  • What do they spend their days doing? How do they balance their time between meetings, programming, researching, mentoring, and writing?
  • What projects and work are most important to them? How do they get assigned to projects? Do they choose where they get to work, or are they part of a team or group that makes that choice for them?
  • Which chat channels, mailing lists, and repositories do they hang out in? How do they work with other groups? What does their communication look like? Are you able to contribute?
  • What did their journey look like to get to where they are? Did they progress from inside the company, or did they gain experience elsewhere before entering at their level?
  • What advice do they have for you to get to where they are? Was it hard work, luck, or both? Is it repeatable?

Having additional inputs from others gives you insight that your manager might not have and provides you with more vectors for observation, contribution, and learning.

Such conversations can also make you aware of other parts of the company that could provide better routes for progression. For example, there may not be any people management openings in your division. However, there may be a critical need elsewhere, but that group didn’t know that you were interested.

Seeing How Your Team and Peers Can Help

Regardless of whether you want to become a more experienced individual contributor or a people manager, progress never happens alone. Instead of putting all of your attention on reaching outside of your team to progress, much of what you need can be found by thinking about how to make your team better.

If you’re an individual contributor, then you can find your daily practice in communication, mentoring, pair programming, and collaborative design with your team. Don’t turn your back on your current responsibilities to level up — intentionally use them to propel you forward.

If it’s a comfortable conversation to have, then be open with your intentions for progression with others on your team. Often, you’ll find that your colleagues will be supportive and will want to collaborate with you towards a situation that enables you both to progress.

For example, if you are beginning to take the lead on the technical design of projects, why not bring along someone who is less experienced for the journey?

There’s always an opportunity to pay it forward.

Increasing Your Visibility

As mentioned earlier, a key ingredient for progression — especially to the most senior levels — is visibility. Fundamentally, your progression in anything, anywhere, will be decided by some form of committee, whether that is explicitly or implicitly organized.

As you work, always have in mind the effect that you’re having on your visibility. Imagine yourself in the place of one of the influential decision makers in your organization. How likely are they to have heard about you and your work, and what would they discover if they were seeking that information?

From a reverse angle, think about:

  • If your teammates were asked about your performance anonymously, what do you think they would say? If you are a collaborative, helpful, and motivated person then it’s likely the comments would be positive. But could any of your behaviors be interpreted in the wrong way? Why? Are there particular individuals on the team with whom you need to work harder on building trust and rapport? How can you work on that?
  • What examples of your work and ideas could be found? How well are you collaborating when commenting on pull requests or critiquing designs? What code are you shipping? What updates and ideas have you documented, and are they a true reflection of your best self?
  • How do you show up in meetings and in verbal and written discussions? If you were observing yourself, would you say that you were a net positive contributor to all of these situations? If not, why not?

Visibility and trust are built incrementally — in granular steps. Make sure there is no mismatch between your intentions and the effects of your actions. If you find it hard to self-critique in this way, then ask a colleague you trust to give you an honest answer.

Bringing It All Together

Image created on WordArt.com

Progressing, in general, is a two-stage problem. You need to discover where you’d like to go, and then take positive action to work towards it.

People tend to over index on the prescriptive “how” before spending enough time on the “what.” The search space of possibilities for your career trajectory is effectively unbounded and can rarely be predicted over long enough periods. This unpredictability is a feature, not a bug, and should be embraced.

There’s no right or wrong career journey, and you should never let others decide what you should be aiming for. You are here only once, so do what you want. Optimizing purely for money, status, prestige, or toil as a badge of honor does not make for a long and rewarding career. Instead, it will make you unfulfilled.

The true game to be played in your career is to continually optimize for honing your craft. For many, that comes from finding the right company to work for that offers autonomy, mastery, and purpose with enough money to lead a comfortable life.

You’ll never know where your skills may take you — that’s the beauty of work life.

About the Author

If you enjoyed this article, be sure to pick up James Stanier’s books from The Pragmatic Bookshelf:

If you’d like to be part of the writing process, you can leave feedback for James about his books on the reader forums on DevTalk or even start a book club. You’ll also find a 35 percent off promo code there:

Originally published at https://www.theengineeringmanager.com on July 17, 2022.

Jsengman
Leadership
Career Advice
Software Engineering
Programming
Recommended from ReadMedium