The AK Foundation provides a structured embedded systems training program, covering topics such as:
Think of your profile as a diary - documenting your learning and work results throughout your journey. Every time you complete something, show it to the world! Your thoughts, experiences and enthusiasm are the things that will draw people in.
Every post, every commit is a chance to look back at your own journey, reassess your direction, and adjust where needed. In the age of AI, recruiters starve to see real humans having a real online presence. By having a professional look that still speaks true to you, you boost your credibility.
- Make it unique - keep it concise and genuine, not polished like an ad. Templates are for references only, not for copying.
- Less AI, more you - the reader wants to understand you, not a whatever's produced by AI.
- Use real photos - need I say more?
- Post in a variety of languages - opens up broader opportunities, including foreign companies in Vietnam.
- Show results, not just tasks - specific numbers and impact are always more convincing than a list of duties.
Job searching is hard, but not having a strong look will only make it harder. During this training course, each student is required to create at least 3 profiles, with each profile links to the others.
- Show yourself - show your work history, professional skills, and notable learning activities.
- Stay active - LinkedIn's algorithm favors active accounts, the more you active you are, the higher the chance you'll be seen.
- Ask for referrals - that could be from mentors or seniors - a genuine review from a real person is worth far more than a self-description.
- Be intentional about your pinned repos - each repo pinned on your profile is a concrete showcase of your skills. Keep repo names short and include a clear
Aboutsection. - Documentation, documentation, documentation - your
README.mdfile should include screenshots or demo videos so viewers immediately understand what the project does. - Pick one naming convention and stick to it! - keep a consistent naming conventions across files, branches, and commits.
- Make commit messages meaningful -
fix bugorupdate codeare not it. - Commit regularly - this shows a clear development history in your projects. Avoid commiting everything in one go.
- Pin your most important repos - do also include a personal profile repo. That will often be the first thing recruiters set their eyes on.
- Practice daily - try to commit to at least one problem everyday and slowly build yourself up to harder problems.
- Sync your submissions to a GitHub repo - here's a guide: How to sync LeetCode submissions to GitHub
In the AI era, technology evolves rapidly. The ability to learn and adapt quickly is essential for every engineer. While LeetCode skills alone are not always needed in a day to day basis, the ability to solve problems fast and reason it through will always be essential.
-
Improve reading comprehension and information absorption.
-
Strengthen problem-solving and logical thinking.
-
Keep your brain challenged beyond repetitive daily work.
-
Prepare for technical interviews at top technology companies.
Consistent LeetCode practices can significantly improve your thinking speed and problem-solving efficiency.
-
Recommended roadmap for Embedded Engineers: algorithm_roadmap.md
-
AK Contest Guide: ak-contest-guide.en.md
Note: The contest platform is normally closed and is only opened during the official AK Foundation training programs and competitions.
This course aims to help you develop the mindset and skills required to become a product engineer. Here is a sample game
The greatest value of this course is not building a game itself, but developing a product engineering mindset. Students learn how to transform an idea into a complete product-one that delivers a great user experience, maintains high code quality, and is supported by clear documentation. This is the key difference between someone who can write code and an engineer who can build products.
Base on the AK Embedded Base Kit source code, you will develop and complete a game that meets the following requirements:
- Deliver an engaging gameplay experience.
- Write clean, concise, and maintainable code.
- Create clear design documentation that is consistent with the source code.
- Complete a software from concept to a fully usable application.
In practice, delivering a product that meets 100% of its requirements is extremely challenging. Many engineers can make a product function correctly, but often fall short in areas such as user experience, code quality, and documentation.
Through this course, you will learn that a great product does not just work. It must also be easy to use, maintainable, and ready for future development.
Over nearly 10 years of training Embedded interns and engineers, with more than 1,000 students participating in our programs, only a handful have been able to complete 100% of the requirements. Most students typically achieve around 60–80% of the expected outcomes.
- Understand the resource limitations of embedded systems and learn how to maximize application performance.
- Gain experience delivering a complete project with a meaningful level of complexity.
- Learn how to work with and extend a large existing codebase.
- Understand the key elements required to build a high-quality product, rather than simply implementing features.
- Develop the discipline, attention to detail, and perseverance needed to bring a product to completion.
