0% found this document useful (0 votes)
12 views4 pages

90-Day Software Engineering Program

The 90-Day Software Engineering Program is designed to help individuals become proficient software engineers through structured phases focusing on foundational skills, web development, and advanced topics. Each phase includes recommended readings and practical exercises to reinforce learning. The program emphasizes continuous improvement and portfolio building to showcase skills and projects.

Uploaded by

Godwin Olewunne
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views4 pages

90-Day Software Engineering Program

The 90-Day Software Engineering Program is designed to help individuals become proficient software engineers through structured phases focusing on foundational skills, web development, and advanced topics. Each phase includes recommended readings and practical exercises to reinforce learning. The program emphasizes continuous improvement and portfolio building to showcase skills and projects.

Uploaded by

Godwin Olewunne
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

90-Day Software Engineering Program

Becoming an excellent software engineer is a journey of continuous


learning and practice. Here's a well-structured 90-day program to help you
get there, along with a recommended reading list:

Phase 1: Foundations (Days 1-30)

Objective: Build a solid foundation in programming fundamentals, data


structures, and algorithms.

1. Week 1: Programming Basics


Language: Choose a language like Python or JavaScript (great for
beginners).
Reading:
"Automate the Boring Stuff with Python" by Al Sweigart - A fun and
practical introduction to Python.
"Eloquent JavaScript" by Marijn Haverbeke - A comprehensive guide to
JavaScript.
Practice: Solve coding challenges on platforms like HackerRank or
Codewars.

2. Week 2: Data Structures and Algorithms


Reading:
"Cracking the Coding Interview" by Gayle Laakmann McDowell - A
classic guide to interview preparation and data structures.
"Introduction to Algorithms" by Thomas H. Cormen et al. - A
comprehensive textbook (more advanced).
Practice: Implement data structures like arrays, linked lists, stacks, and
queues.

3. Week 3: Object-Oriented Programming (OOP)


Reading:
"Head First Object-Oriented Analysis and Design" by Brett McLaughlin -
A fun and engaging introduction to OOP.
Practice: Design and implement classes and objects in your chosen
language.

4. Week 4: Version Control with Git


Reading:
"Pro Git" by Scott Chacon and Ben Straub - A comprehensive guide to
Git.
Practice: Learn basic Git commands and create a simple repository.

Phase 2: Web Development (Days 31-60)

Objective: Gain experience in web development, including front-end and


back-end technologies.

1. Week 5: Front-End Development (HTML, CSS, JavaScript)


Reading:
"HTML & CSS: Design and Build Websites" by Jon Duckett - A visual and
engaging introduction.
"JavaScript: The Good Parts" by Douglas Crockford - A guide to best
practices in JavaScript.
Practice: Build simple web pages and interactive elements.

2. Week 6: Front-End Frameworks (React, Angular, or Vue)


Reading:
"React.js for Beginners" by Wes Bos - A beginner-friendly introduction to
React.
"Angular in Action" by Jeremy Wilken* - A comprehensive guide to
Angular.
Practice: Build small web applications using a chosen framework.

3. Week 7: Back-End Development (Node.js, Python/Django, or Ruby on


Rails)
Reading:
"Node.js Design Patterns" by Nathan Peck - Practical patterns for Node.js
development.
"Django for Beginners" by William Vincent - A beginner-friendly guide to
Django.
Practice: Create a simple API or web service using a back-end framework.

4. Week 8: Databases (SQL and NoSQL)


- **Reading:**
- *"SQL for Dummies" by Allen G. Taylor* - A beginner-friendly guide to
SQL.
- *"MongoDB: The Definitive Guide" by Kristina Chodorow* - A
comprehensive guide to MongoDB.
- **Practice:** Create and query databases using SQL and NoSQL.

#### Phase 3: Advanced Skills and Projects (Days 61-90)

**Objective:** Develop advanced skills and apply your knowledge through


practical projects.

1. **Week 9: Advanced Topics (Testing, Design Patterns, Security)**


- **Reading:**
- *"Clean Code" by Robert C. Martin* - Principles for writing readable and
maintainable code.
- *"The Pragmatic Programmer" by Andrew Hunt and David Thomas* -
Timeless advice for software developers.
- **Practice:** Implement unit tests and explore common design patterns.

2. **Week 10: Capstone Project**


- **Task:** Choose a project idea that interests you (e.g., a web application,
mobile app, or a data analysis tool).
- **Practice:** Design, develop, and deploy your project using the skills
you've learned.

3. **Week 11: Continuous Improvement**


- **Task:** Focus on areas where you need to improve (e.g., performance
optimization, code refactoring).
- **Practice:** Seek feedback from peers or mentors.

4. **Week 12: Portfolio Building and Networking**


- **Task:** Create a portfolio showcasing your projects and skills.
- **Practice:** Attend meetups, hackathons, and connect with other
developers.

### Recommended Reading List

- *"Code Complete" by Steve McConnell* - A comprehensive guide to


software construction.
- *"The Mythical Man-Month" by Frederick P. Brooks Jr.* - Classic insights
into software development challenges.
- *"Refactoring: Improving the Design of Existing Code" by Martin Fowler* -
Techniques for improving code quality.
- *"Design Patterns: Elements of Reusable Object-Oriented Software" by
Erich Gamma et al.* - Essential design patterns for software development.

### Final Thoughts

This program is a roadmap to becoming an excellent software engineer.


Remember, consistency is key! Dedicate time each day to learning,
practicing, and building projects.

What specific areas of software development are you most interested in


exploring? Let me know, and I can provide more tailored resources and
guidance!

You might also like