Seeking Volunteer Mentor to Enhance My Rust Programming Abilities

Hello, Everyone,

I am DOU Xiaobo, a hearing-impaired individual from the People's Republic of China.

In China, my surname/family name is Dou, and my given name is Xiaobo. However, people commonly address me by my given name, Xiaobo.

From September 2004 to June 2008, I majored in Computer Science and Technology while I was a university student.

Due to my hearing impairment, I have faced difficulties in securing a good job for the past 13.5 years and never have the opportunity to work in the field of coding or software engineer.

On October 23, 2021, I visited the Microsoft Office in Shanghai and met a director who offered me a position as an Administrative Assistant at Microsoft. He proposed that I would spend 30% of my time on administrative tasks and the remaining 70% on learning and improving my coding skills.

I worked at Microsoft from February 10, 2022, to February 9, 2024. During the past two years, the director sent an email to his team, asking if any engineers would volunteer to be my mentor and help me enhance my coding skills.

Since February 9, 2024, until now, I have been unemployed and have not had any job opportunities. Because of Microsoft's policy, the maximum duration for an Administrative Assistant role is two years, and they do not renew contracts beyond that period. The director tried his best to find a new job opportunity for me, but unfortunately, I was not fortunate enough to secure one. Job positions are scarce, and the requirements for interviews have increased, making it difficult for me to continue working at Microsoft as a software engineer.

In February 2024, I purchased a new MacBook Pro and began self-studying Rust for three months. I have been working on some small projects in Rust and have uploaded some code updates to my Github, but I am having difficulty improving my coding skills in Rust. Moreover, I often don't know what small projects I should write Rust code for.

Since my mentor at Microsoft have no experience with the Rust language, I would like to request assistance from someone who is proficient in Rust and willing to be my mentor to help me continue and improve my coding skills in the Rust language.

By the way, please don't introduce remote job opportunities to me, because in China, some Chinese work remotely and write code for overseas clients, earning money from abroad. However, they have been caught by Chinese police, as according to Chinese law, working remotely for overseas clients and earning money from overseas is easily deemed as illegal income. Therefore, I do not work remotely for overseas clients, as I do not want to be fined and imprisoned for several years. Right now, I am waiting for a job opportunity in China.

Thank you very much.

Dou Xiaobo.

5 Likes

Welcome to the forum! If you don't find someone to mentor you privately, I suggest using this forum to ask for general help in learning Rust. Many people learning Rust post questions here, including general questions asking for advice as well as specific coding questions.

8 Likes

Welcome Xiaobo!

I would like to second @jumpnbrownweasel, the best way to build connections on this forum is to take a particular question or issue and make a post about it in the Help topic.

The advantage of posting specific questions here is that more than one seasoned developer with professional experience is likely to read your question and take a stab at answering it. Having tried this on a number of occasions myself, it often feels like having multiple "mentors" at once... or maybe like a cooperative hug?

6 Likes

I see. Okay. Thank you very much. I will delete the post after a week probably.

Good. Your advice is very good. I am pleasure to accpet your advice. Thank you very much. I think, maybe after a week or several weeks, I will delete the post.

Although it us up to you, I would not personally recommend deleting your post. I appreciate getting to hear your story and learn a little bit about you. Others with questions similar to yours may stumble upon your post while searching on the web, too, and also benefit from your experience.

Instead, I recommend posting again with a question about a particular error that perplexes you, or about how to use a specific method from a library you want to learn. Read through the Forum Code Formatting and Syntax Highlighting guide and try to provide a code example. You can also link to code examples on the Rust Playground.

Here is a good example of a succinct starting question from a recent post:

This question was relatively successful at soliciting a response, currently tracking at 25 replies. Both of the forum members contributing to offer their help are experienced and respected developers. Note also that they are both have credits for finding solutions to problems posted on the forum. This indicates that they are willing to devote time and energy engaging with new users, and is a fair proxy for mentorship on the forum in this regard.

The reason I point this out is to illustrate kind of the simplest intended use of the site, or a mental model for how the get value out of the forum. This style may not suit you, and that is OK too, but I encourage you to give it a try.

1 Like

Yes, please don't delete the post. I find value in it. Sorry I'm not able to help you personally as a mentor, but I can also assure you that you will find lots of help on here for specific questions. Also you can start reading other posts that interest you. You can learn a lot by that.
And most importantly. Don't give up! I'm sure there is a way for you to make it in the software world. :smile:

1 Like

Okay. Thank you very much. Right now, I don't know what project I will practice writing code in Rust.

Okay, thank you very much. I have decided not to delete the post. I hope that God will bless me with good luck and give me a pleasant journey in coding.

1 Like

Never giving up is key, always ask questions when you're stuck.

1 Like

Okay.

Hi Xiaobo, I asked ChatGPT for some project ideas for you. Here's the list it gave me! I hope one or more of these sound like something you'd like to work on! @douxiaobo

  1. Command Line Todo List Application:
    Description: Create a command-line tool that allows users to manage a todo list. The application should support adding, removing, and listing tasks.
    Skills Practiced: File I/O, command-line argument parsing, data structures.

  2. Simple Web Server:
    Description: Build a basic web server that can handle HTTP requests and serve static files. Later, extend it to support dynamic content or basic routing.
    Skills Practiced: Networking, concurrency, understanding of HTTP, asynchronous programming.

  3. Chat Application:
    Description: Develop a simple chat application that allows multiple users to communicate in real-time. This can be either a command-line or GUI application.
    Skills Practiced: Networking, concurrency, handling user input, real-time communication.

  4. File Encryption/Decryption Tool:
    Description: Create a tool to encrypt and decrypt files using a chosen encryption algorithm (like AES).
    Skills Practiced: Cryptography, file I/O, command-line interface.

  5. Markdown to HTML Converter:
    Description: Write a program that takes a Markdown file as input and converts it to HTML.
    Skills Practiced: Text parsing, data transformation, file I/O.

  6. Basic Game (e.g., Tic-Tac-Toe or Snake):
    Description: Develop a simple game such as Tic-Tac-Toe or Snake, with a text-based or graphical interface.
    Skills Practiced: Game logic, user interface design, event handling.

  7. RESTful API:
    Description: Build a RESTful API for a simple service, such as a library system to manage books and patrons.
    Skills Practiced: Web development, REST principles, database interaction.

1 Like

Hi @angel, welcome to our forum. Please be aware that we have a forum rule [see the TOS page and find the word 'machine' in the text] banning machine-generated content, including AI-generated responses. The reasoning is simple, people come to a forum in order to interact with other humans - if they are interested in ChatGPT's ideas or answers, they could ask ChatGPT directly.

I appreciate the transparency that the list of ideas came from ChatGPT. AI can even help as inspiration for writing answers, or to help with boilerplate in a code example; I've successfully used it myself to that degree, but it shouldn't be used to throw the human out of the loop. E.g. if you use ChatGPT to think up (or remind yourself of) some initial ideas for coding hobby/practice projects, you could choose the most promising ones yourself, explain them in your own words, and throw in some original thought, or personal experience.

8 Likes

Okay.Thank you. but I have no idea what project within Command Line Todo List Application that I will read code in Rust.

No problem.

There is

for example. If you search on GitHub, I'm sure there will be a lot more of such learning projects you can get inspiration from

1 Like

Hi @steffahn, thanks! I was unaware of the rule, but when my post got hidden, I read up on it. I appreciate your thoughtful response here explaining the situation!

7 Likes

Good. Thank you very much. I will visit the github right now.

@douxiaobo this is a good set of challenges that focus on real world software, reference implementations of which we already use: Coding Challenges - Intro | Coding Challenges

Wish you the best ahead.

1 Like

Good. Thanks for sharing.