Resources for software development

From Metakgp Wiki
Jump to navigation Jump to search

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

Topic Reading Resources Video Tutorials Others
Bitcoin But how does bitcoin actually work? - 3Blue1Brown
Ethereum
Solidity
Hyperledger Fabric

Important Basics

Linux

Opportunities

  1. List of Open Source Internships

Misc

  1. Teach Yourself Programming in Ten Years
  2. School of SRE
  3. Every Programmer Should Know
  4. Project Based Learning
  5. Github Student Developer Pack
  6. Roadmap to explore various fields
  7. How to Ask Questions Smartly
  8. The Art of UNIX Programming
  9. Resources for studying Computer Science

See also

  1. Guide to Competitive Programming
  2. Guide to Deep Learning