Starting a career in Information Technology (IT) may be both thrilling and intimidating. This resource is intended to equip prospective IT professionals with a structured curriculum, a wealth of resources, and useful insights into various employment areas within the IT environment. Whether you're a newbie or want to improve your talents, this guide will help you get there.
- Summary
- Overview
- Programming Fundamentals
- Web Development
- Mobile Development
- Databases
- Networking Basics
- Cybersecurity
- Cloud Computing
- General Programming Languages
- Free Courses You Need To Try
- Frontend Mini Guide
- Backend Mini Guide
- Fullstack Mini Guide
- Possible Job Roles
- Training Resources
- 2-Year Time Frame Roadmap
- Tips for building a resume
- Tips for Improving IT Skills
- How to Contribute
- Languages: Python, Java, C++, Rust
- Codecademy Python Course
- Coursera - Programming for Everybody (Python)
- edX - Introduction to Java Programming
- The Rust Programming Language
- HTML and CSS fundamentals, CSS-Tricks
- JavaScript MDN Web Docs
- Frontend frameworks: React, Angular, Vue.js
- State Management: React(Redux, Zustand, Redux Toolkit, Recoil), Vue(Pinia)
- Backend technologies: Node.js, Django, Ruby on Rails
- FreeCodeCamp: Hands-on web development projects
- Android Development: Android Essentials, Kotlin
- iOS Development: Swift
- Cross-Platform Development: Flutter, React Native
- Relational databases: MySQL, PostgreSQL
- Database design: Database Design - Stanford University
- SQL querying and optimization: SQLZoo, LeetCode Database Problems
- Introduction to NoSQL databases: MongoDB University, Firebase
- CS50's Introduction to Databases with SQL: Harvard Univeristy, Edx (Starts on October 1, 2023)
- TCP/IP Illustrated
- Networking Basics - Cisco
- SubnettingPractice
- Wireshark for network analysis
- Cybrary - Networking
- Types of cyber threats: OWASP Top Ten
- Cryptography and Network Security
- Metasploit Unleashed
- HackerRank - Cybersecurity Challenges
- Cyber Security Courses on Coursera
- Introduction to cloud services: AWS, Azure, GCP
- Cloud deployment models: IaaS, PaaS, SaaS
- Virtualization and containerization: Docker, Kubernetes
- AWS Training and Certification
- Azure Learn
Programming languages are the heart of software development. Each language has its strengths and applications. Here's a quick overview:
-
Python: A versatile language known for its readability and simplicity. It's great for beginners and has a wide range of applications, from web development to data science. Learn more
-
JavaScript: The language of the web, used for building interactive websites and web applications. It's also used for server-side development with Node.js. Learn more
-
Java: A versatile and widely-used language for building robust applications. It's known for its portability and is commonly used in enterprise environments. Learn more
-
C++: An extension of the C language, C++ is used for system-level programming, game development, and high-performance applications. Learn more
-
Ruby: A dynamic, elegant language often used for web development. It's appreciated for its clean syntax and developer-friendly environment. Learn more
-
Swift: Developed by Apple, Swift is used for creating iOS, macOS, watchOS, and tvOS applications. It's known for its speed and safety features. Learn more
-
Rust: A systems programming language that emphasizes safety and performance. It's gaining popularity for its modern features and memory safety. Learn more
Remember! Each language has its unique strengths, so pick one that matches your goals and interests. Happy coding!
- Codecademy Python Course
- Coursera - Programming for Everybody (Python)
- edX - Introduction to Java Programming
- Introduction to Computer Science
- Web Programming with Python and JavaScript
- Introduction to Programming with Scratch
- Introduction to Programming with Python
- Understanding Technology
- Introduction to Artificial Intelligence with Python
- Introduction to Game Development
- CS50's Computer Science for Business Professionals
- Mobile App Development with React Native
- Introduction to Data Science with Python
-
Basics
- HTML
- Tags
- SEO
- Accessibility
- CSS
- Layouts
- Responsiveness
- JavaScript
- Fetch API/Ajax (XHR)
- Handling Forms
- HTML
-
Intermediate
- JS Frameworks
- CSS Frameworks
- Other Web Frameworks
- Cross-Platform Applications
- Android, iOS
- Windows, macOS, Linux
-
Advanced
- Frontend Cloud
- Server Side Rendering
- Static Site Generation
- Using Devtools
-
Basics
- Programming Languages
- Python
- Ruby
- Node.js (JavaScript)
- Java
- Programming Languages
-
Web Servers and APIs
-
Databases
-
Backend Frameworks
-
Authentication and Authorization
-
Advanced
- Backend Cloud Services
- Server Deployment
- Serverless Architecture
- API Security
- Caching Strategies
After mastering the frontend and backend basics, it's time to combine them! Start creating fullstack applications that seamlessly blend user experience with server-side logic.
PBL is a dynamic approach to mastering new skills. Instead of just reading about concepts, you learn by rolling up your sleeves and building projects. It's like diving into the real deal straight away. By creating practical applications, you not only gain hands-on experience but also solidify your understanding of concepts in a more engaging way. So, it's a win-win situation where you learn and conquer at the same time
- E-commerce Platform: Build a virtual shop with product listings, shopping cart, and secure checkout.
- Social Media App: Create a platform for users to connect, share posts, and engage.
- Task Management Tool: Craft a robust app to organize tasks, deadlines, and priorities.
- Real-time Chat Application: Develop a chat app where users can exchange messages instantly.
- Portfolio Website: Showcase your skills with an impressive portfolio site.
- FreeCodeCamp: Offers in-depth fullstack curriculum.
- The Odin Project: A fullstack learning path with hands-on projects.
- Fullstackopen: University-level fullstack course with React, Node.js, and more.
- Project Ideas from GitHub: A collection of coding project ideas to challenge yourself.
Job Role | Average Salary (PHP) | US Average (PHP) | AUS Average (PHP) | PH Average (PHP) |
---|---|---|---|---|
Software Developer | ₱1,200,000 | ₱5,720,000 | ₱4,110,000 | ₱500,000 |
Web Developer | ₱900,000 | ₱4,285,000 | ₱2,860,000 | ₱400,000 |
Database Administrator | ₱1,000,000 | ₱4,750,000 | ₱3,570,000 | ₱600,000 |
Network Engineer | ₱950,000 | ₱4,515,000 | ₱3,010,000 | ₱500,000 |
Cybersecurity Analyst | ₱1,300,000 | ₱6,185,000 | ₱3,935,000 | ₱700,000 |
Cloud Solutions Architect | ₱1,500,000 | ₱7,125,000 | ₱5,775,000 | ₱800,000 |
Data Scientist | ₱1,700,000 | ₱8,065,000 | ₱5,500,000 | ₱900,000 |
AI/Machine Learning Engineer | ₱1,600,000 | ₱7,600,000 | ₱4,950,000 | ₱850,000 |
DevOps Engineer | ₱1,300,000 | ₱6,185,000 | ₱4,150,000 | ₱700,000 |
UX/UI Designer | ₱1,000,000 | ₱4,750,000 | ₱3,800,000 | ₱600,000 |
IT Project Manager | ₱1,400,000 | ₱6,650,000 | ₱5,100,000 | ₱750,000 |
Network Administrator | ₱950,000 | ₱4,515,000 | ₱3,620,000 | ₱500,000 |
Software Tester | ₱800,000 | ₱3,800,000 | ₱3,080,000 | ₱450,000 |
Technical Support Engineer | ₱700,000 | ₱3,325,000 | ₱2,750,000 | ₱400,000 |
Note: Salaries are approximate averages and can vary based on experience, location, and other factors.
- LeetCode
- HackerRank
- CodeSignal
- Project Euler
- CodeWars
- uicoach.io (For UI/UX Design Enthusiasts)
Year | Quarter | Subjects to Cover | Resources |
---|---|---|---|
1 | Q1 | Programming Fundamentals Web Development (HTML, CSS, JavaScript) |
Codecademy, MDN, freeCodeCamp |
Q2 | Web Development (Frontend frameworks) Databases (Relational databases and SQL) |
React, Angular, Vue.js, SQLZoo, W3Schools | |
Q3 | Networking Basics Databases (Database design and normalization) |
Cisco Networking Basics, Database Design Tutorial, Advanced SQL | |
Q4 | Cybersecurity (Introduction) Cloud Computing (Introduction) |
Cybrary, Cloud Computing Fundamentals | |
2 | Q1 | Web Development (Backend technologies) Cybersecurity (Cryptography and Network Security) |
Node.js, Django, Flask, Khan Academy Cryptography |
Q2 | Networking Basics (IP addressing, subnetting) Cloud Computing (Virtualization and containerization) |
SubnettingPractice, IPv6 Essentials, Docker Documentation, Kubernetes Documentation | |
Q3 | Cybersecurity (Ethical hacking, penetration testing) Cloud Computing (Cloud services and deployment models) |
Metasploit Unleashed, Amazon Web Services, Microsoft Azure, Google Cloud Platform | |
Q4 | Finalize any remaining subjects Enhance skills in specific areas of interest Continuous learning and project building |
- |
Note: The provided resources are just starting points. Feel free to explore additional online courses, tutorials, and documentation.
Creating a professional and effective resume is crucial when applying for tech-related jobs. Your resume is often the first impression you make on potential employers, so it's essential to present your skills, experience, and qualifications in a clear and compelling way. This README file provides you with guidelines, tips, and a sample resume tailored for the tech industry.
- Getting Started
- Resume Sections
- Formatting Tips
- Content Tips
- Sample Tech Resume
- Additional Resources
Before you begin, gather all the necessary information about your education, work experience, tech skills, and achievements. Having this information on hand will make the resume writing process smoother.
A well-structured tech resume typically includes the following sections:
Include your full name, phone number, email address, and optionally your LinkedIn profile.
Write a concise statement that highlights your expertise, tech skills, and what you can bring to the tech industry.
List your educational background, including tech-related degrees earned, institutions attended, graduation dates, and relevant honors.
Detail your relevant tech work history in reverse chronological order. Include your job title, company name, employment dates, and a bullet-point list of your tech responsibilities and accomplishments.
Showcase your technical skills that are relevant to the tech job you're applying for. This can include programming languages, software, frameworks, and tools.
Highlight tech projects you've worked on, including personal projects, open-source contributions, and relevant team projects.
List any tech certifications or training you've completed, such as programming certifications or cloud computing certifications.
Include tech-related hobbies or activities that demonstrate your passion for technology and innovation.
-
Consistency: Maintain a consistent format for headings, bullet points, fonts, and spacing throughout your tech resume.
-
Readability: Use a clean, professional font and keep the font size between 10 and 12 points for body text.
-
Bullet Points: Use bullet points to highlight your tech responsibilities, achievements, and project details.
-
Length: Aim for a one-page tech resume for less experienced candidates and a maximum of two pages for more experienced tech professionals.
-
File Format: Save your tech resume as a PDF to ensure it retains its formatting across different devices.
-
Tailor for the Tech Job: Customize your tech resume for each job application by emphasizing the tech skills and experiences most relevant to the specific tech role.
-
Quantify Achievements: Use numbers and data to quantify your tech accomplishments whenever possible. This adds credibility to your skills.
-
Action Words: Start bullet points with tech-related action verbs to make your responsibilities and accomplishments more impactful.
-
Be Honest: Be truthful in your tech resume. Any false tech information can have serious consequences.
Here's a sample tech resume that you can use as a reference: Sample Tech Resume
- Tech Resume Writing Tips by Dice
- GitHub's Guide to an Awesome GitHub Profile
- Coursera's Computer Science Courses
Remember, your tech resume should showcase your technical prowess and enthusiasm for the field. Regularly update it to reflect your latest projects and tech skills. Good luck with your tech job search!
- Consistent Practice: Regularly practice coding, problem-solving, and hands-on projects to reinforce your skills.
- Project Development: Create personal projects to apply your newfound knowledge in practical scenarios.
- Collaboration: Engage in coding communities, forums, and open-source projects to learn from peers and collaborate.
- Networking: Attend tech meetups, conferences, and workshops to connect with industry professionals.
- Online Communities: Participate in tech discussions on platforms like Stack Overflow and Reddit.
- Stay Curious: Explore emerging technologies and trends to stay up-to-date in the ever-evolving IT landscape.
- Continuous Learning: Dedicate time to ongoing learning, even beyond the core curriculum.
- Company's Facebook Page: Follow our Icreatechs Facebook page for additional IT insights and updates.
- Collaboration on Discord: Join our Discord group with 17k members to code and collaborate together.
- Facebook Group Community: Be part of our Icreatechs Community Facebook group with 90k members to collectively enhance coding skills.
We welcome contributions to improve and expand this IT Curriculum and Training Guide. Your contributions can help make this resource even more valuable for aspiring IT professionals. Here's a step-by-step guide on how you can contribute:
-
Fork the Repository:
- Visit the IT Curriculum and Training Guide repository.
- Click the "Fork" button located at the upper right corner of the page. This will clone the repository to your GitHub account.
-
Clone Your Fork:
-
Open a terminal on your computer.
-
Navigate to a directory where you want to store the project.
-
Clone your forked repository by running the following command:
git clone https://github.com/carlcastanas/it-curriculum-guide.git
-
-
Create a New Branch:
-
Move into the cloned repository's directory:
cd it-curriculum-guide
-
Create a new branch for your contributions. Choose a descriptive branch name that reflects the changes you'll make:
git checkout -b add-new-resources
-
-
Make Your Contributions:
- Open the
README.md
file in a text editor of your choice. - Make the necessary changes. You can add new resources, update existing content, or contribute in any way you feel would be valuable.
- Open the
-
Commit and Push Your Changes:
-
Save the
README.md
file. -
Add your changes to the staging area:
git add README.md
-
Commit your changes with a clear and concise commit message:
git commit -m "Add new resources for Web Development"
-
Push your changes to your forked repository on GitHub:
git push origin add-new-resources
-
-
Create a Pull Request:
- Visit your forked repository on GitHub.
- Click the green "Compare & pull request" button.
- Ensure the base repository is the original repository, and the base branch is
main
. The head repository and branch should be your fork and the branch you created. - Provide a descriptive title and detailed description for your pull request.
- Click the "Create pull request" button.
-
Review and Collaborate:
- Your pull request will be reviewed by the repository maintainers.
- Be open to feedback and participate in any discussions or requested changes.
-
Your Contribution Is Merged:
- Once your pull request is approved and any necessary changes are made, it will be merged into the main repository.
- Congratulations! You've successfully contributed to the IT Curriculum and Training Guide. ](.)