Mastering Rust
It’s been a while since I last used Rust. it was objectively fun trying to figure out how to generate an image mosaic with rust and WASM. If I am going to start playing with rust and try and get good at it, I need a project. A goal of some sort that will keep me focused, How about we build a 3D asset viewer?
Phase 1
Create a simple 3D model viewer. something that can load common 3D file types and display the model with some controls to manage the viewport.
3D libraries in Rust:
Phase 2
UI elements to add comments to specific points in the asset, I can see the logic for achieving this. So definitely do this.
Updates
25.05.2025: Thought of starting a website built with Rust. explored a couple of web frameworks and decided I should focus on building something more fun than a blog website.
06-07-2025: In addition to all of the above, I am Jobless now. I have to get into an intensive learning mode. I need to brush up on some of the core CS concepts in the next 15 - 20 days.
Transitioning to Systems Engineering
This is what Google’s AI spat out when I asked it if I could make the transition from web development to systems engineering:
- Existing Foundation: As a full-stack developer, you already possess a strong foundation in both front-end and back-end development, giving you a comprehensive understanding of how software components interact.
- Overlapping Skills: Both roles involve software engineering principles and practices, problem-solving, and coding, creating a transferable skill set.
- Targeted Learning: Focus on gaining knowledge in areas like:
- Operating Systems Concepts: Understanding how memory management, processes, threads, and file systems work.
- Low-Level Programming: Learn about concepts like pointers, memory allocation, and interaction with hardware resources.
- Concurrency and Parallelism: Explore techniques for handling multiple tasks simultaneously in systems environments.
- System Design and Architecture: Gain expertise in designing scalable and efficient systems.
Strategies for the Transition
- Identify Skill Gaps: Analyze job descriptions for systems engineering roles to identify the specific skills and knowledge areas you need to develop.
- Targeted Education: Consider online courses, certifications, or even pursuing further formal education to acquire the necessary systems engineering knowledge.
- Hands-on Projects: Build personal projects that showcase your ability to apply systems engineering principles and languages like Rust.
- Networking: Connect with people working in systems engineering to gain insights and potential job leads.
- Seek Mentorship: Find experienced systems engineers who can guide and support your career transition.
- Highlight Transferable Skills: In your resume and during interviews, emphasize your problem-solving abilities, coding experience, and ability to learn new technologies.
The journey from a full-stack web developer to a systems engineer demands dedication and continuous learning, but with a strategic approach and a willingness to embrace new challenges, this transition is achievable.