| This article is incomplete. Please help to improve the section, or discuss the issue on the talk page. |
The internet is filled with a plethora of resources that might overwhelm someone just getting started in software development. Here is a list of resources for basics that can be a good place to start.
For each topic, there is at least one reading source and one video tutorial source. All the resources are open and free.
Which language?
We don't have any definitive answer for this question, but if you want to [1]:
I want to learn how to
|
Consider using
|
make iPhone Apps
|
Swift
|
make Android Apps
|
Java
|
build a website
|
JavaScript, CSS, HTML5
|
write Windows desktop applications
|
C#
|
make 2D/3D games
|
JavaScript, C#, or C++
|
program Arduinos/micro-controllers/robots
|
C
|
do scientific/mathematical computing or data analysis
|
Julia, Python, R, or Matlab
|
do automation and scripting
|
Many languages (Python, Ruby, Bash, Powershell, AutoHotKey...)
|
Programming Languages
Language
|
Reading Resources
|
Video Tutorials
|
Others
|
C
|
|
|
|
Go
|
|
|
|
Python
|
|
|
|
Rust
|
|
|
|
Tools to use
Git
Git is a version control software which is used by most of the open source projects.
Useful resources for learning Git:
Frontend Web Development
Language / Framework
|
Reading Resources
|
Video Tutorials
|
HTML and CSS
|
|
|
Javascript
|
|
|
React JS
|
|
|
Angular JS
|
|
|
Backend Web Development
Topic
|
Reading Resources
|
Video Tutorials
|
Others
|
Flask
|
|
|
|
Node JS
|
|
|
|
Devops
Topic
|
Reading Resources
|
Video Tutorials
|
Others
|
Docker
|
|
|
|
Kubernetes
|
|
|
|
System Design
|
|
|
|
Database Development
P.S: Reader please be mindful that database development and using a database (such as MySQL, PostgreSQL, MongoDB etc.) is quite different, this section has resources related to database development.
- Reddit: r/databasedevelopment ,
Books
Courses
Build your Own Guides
Data Engineering
App Development
Topic
|
Reading Resources
|
Video Tutorials
|
Others
|
Android
|
|
|
|
Kotlin
|
|
|
|
React Native
|
|
|
|
Flutter
|
|
|
|
Game Development
Blockchain
Important Basics
Linux
Opportunities
- List of Open Source Internships
Misc
- Teach Yourself Programming in Ten Years
- School of SRE
- Every Programmer Should Know
- Project Based Learning
- Github Student Developer Pack
- Roadmap to explore various fields
- How to Ask Questions Smartly
- The Art of UNIX Programming
- Resources for studying Computer Science
See also
- Guide to Competitive Programming
- Guide to Deep Learning