The Namoosori Coaching Program is a meticulously designed course for aspiring software developers who aim to excel in their careers.
Conventional education often focuses on immediate job skills that align with corporate requirements. Unfortunately, even universities are now emphasizing practical training for employment over foundational knowledge. Our program is designed to foster engineers who can solve real-world business problems and derive satisfaction from their work. We hope the Namoosori Coaching Program will be the starting point for this aspiration.
The traditional apprenticeship system, where a master guides a disciple through repetitive practice, is the most time-tested method of engineering training. Software development, being an engineering discipline, requires not only theoretical education but also intensive hands-on training under expert coaches. Modern software education tends to emphasize knowledge transfer while neglecting practical training. This is partly because educators are not always practitioners and due to societal pressures for quick results. Most graduates lack sufficient coding experience, having written fewer than 10,000 lines of code, leading to a precarious grasp of knowledge and uncertain practical skills.
There is a misalignment between the skills companies seek in software developers and the training provided by educational institutions. This often results in graduates entering the workforce without the essential capabilities needed for long-term engineering careers. The Namoosori program focuses on fundamental skills that will serve developers throughout their careers. Our unique training methods include writing nearly 200,000 lines of code, clean coding practices, and personalized coaching. The program is structured into fourteen Gates to assess understanding and proficiency. If a learner fails a Gate, they get retest opportunities, but failing three times at the same Gate requires starting over. After a rigorous 30-week course, participants emerge as capable developers ready to tackle any project.
Our coaching team consists of "education-dedicated coaches," who are professional instructors, and "training-dedicated coaches," who are seasoned developers. Depending on the situation, specific coaches are assigned to guide learners through different periods. Whether one coach handles all periods or each period has a dedicated coach, our approach ensures personalized, optimized guidance for each learner. Coaches also help identify learners' talents and introduce suitable development fields.
Here are the seven periods of the Namoosori course, based on Java:
1. A Period : 2 weeks
- Topic: First encounter with the programming language (Java)
- Goal: 20,000 lines of code (LoC)
- A1 Lecture and Textbook: Java course on the Namoosori YouTube channel
- Understanding programming (syntax, elements, control flow, etc.)
- Understanding the concept of self-directed learning and coaching - A1 Lecture and Textbook: Java playlist on the Namoosori YouTube channel (planned)
- Learning Method: Registration on namoosori.io + self-directed learning + learning log + Q&A
- Gate A1: Invitation to B period after automatic review of the learning log
- Related Services: Dashboard, learning log, Q&A, learning guide, Git server, YouTube
2. B Period : 4 weeks
- Topic: Understanding application concepts and structure
- Goal: 40,000 lines of code (LoC)
- B1 Lecture and Textbook: Travel Club (2 weeks)
- Orientation (video + online workshop)
- Source code: Travel Club (stage 1,2 three times, stage 3 three times)
- Understanding and using UML - B2 Lecture and Textbook: Timestable (2 weeks)
- Orientation (video + online workshop)
- Source code: Timestable (legacy, domain, view, menu)
- Understanding and using UML - Gate B1, B2
3. C Period : 4 weeks
- Topic: Understanding flexible application architecture and expansion
- Goal: 40,000 lines of code (LoC)
- C1 Lecture and Textbook: Travel Club stage 3 store expansion (2 weeks)
- Expansion from memory to file writing
- Source code: Travel Club (stage 4)
- Understanding the concept of resource access layers and mapping - C2 Lecture and Textbook: Travel Club stage 3 CLI expansion (2 weeks)
- Expansion from CLI to GUI (JavaFX)
- Source code: Travel Club (stage 5)
- Understanding the concept of service publishing layers - Gate C1, C2
4. D Period : 4 weeks
- Topic: Pragmatic data structures
- Goal: 20,000 lines of code (LoC)
- D1 Lecture and Textbook: Data Structures (2 weeks)
- Direct implementation of Java Collection
- Source code: Namoo Data Structure
- Presentation and demonstration - D2 Lecture and Textbook: Postal Code Search (2 weeks)
- Memory-based postal code search server
- Source code: Namoo Post In Memory
- Implementation focused - Gate D1, D2
5. E Period : 4 weeks
- Topic: Laying the foundation for networking
- Goal: 20,000 lines of code (LoC)
- E1 Lecture and Textbook: File Transfer (2 weeks)
- Network programming and large file transfer implementation
- Source code: Namoo File Sender - E2 Lecture and Textbook: File Server (2 weeks)
- Implementing a thread-based file server capable of storing/searching files
- Source code: Namoo File Server - Gate E1, E2
6. G Period : 4 weeks
- Topic: Object-oriented programming
- Goal: 20,000 lines of code (LoC)
- G1 Lecture and Textbook: Crosswalk 4 Steps (2 weeks)
- Object modeling (UML): understanding roles, responsibilities, and relationships
- Source code: Crosswalk step 1 ~ 4 - G2 Lecture and Textbook: Crosswalk 6 Steps (2 weeks)
- Extended object modeling and state machines
- Source code: Crosswalk step 5 ~ 10 - Gate G1, G2
7. H Period : 4 weeks
- Topic: Namoogram: Creating a Telegram clone with Java
- Goal: 10,000 lines of code (LoC), UML model
- H1 Lecture and Textbook: Project
- Namoogram server
- Namoogram GUI client
- Source code: Namoogram - Gate H1
Not all participants will complete the course. Those who do will possess a thorough understanding of object modeling, data structures, algorithms, networks, threads, and UI events, and will be proficient in coding these concepts. The most critical skill for graduates is self-directed learning, enabling them to quickly acquire and apply new technologies.
Over 30 weeks, participants undergo 14 Gate assessments and write nearly 200,000 lines of Java code. The program aims to equip learners with the foundational skills needed for long-term engineering careers. All courses are self-directed, supported by coaches and the namoosori.io service system. The program does not cover database, web, and framework-related technologies, as companies prefer hiring engineers with solid foundational skills.
The Namoosori Coaching Program has been piloted offline for five years, applied in corporate new employee training, and Nextree's new hiring. The curriculum has been enhanced with subjects like Crosswalk and Timestable, which have been conducted multiple times, and projects like the Telegram clone, which received positive feedback. Practical coding-based data structures and algorithms have also been added. The coaching process has been verified, and service and content development are ongoing.
namoosori.io
Taeguk Song (tsong@nextree.io)