Skip to content

a set of materials useful for learning how to be a developer

Notifications You must be signed in to change notification settings

sbarlster/developing

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 

Repository files navigation

developing

A set of materials useful when learning to develop software. The software (and hardware) landscape is wide

the command line and other tools

You will spend a lot of time here. So it is worth getting familiar and comfortable with a prompt. You do not need to be a master, just not scared.

other concepts worth knowing about

To build software you will be travelling around many computers. Networks and connectivity play a larger part than previously. File systems are everywhere.

ssh, certificates and keys, encryption, file systems, others...

source control

You will definitely want to control the source.

https://rachelcarmena.github.io/2018/12/12/how-to-teach-git.html

https://guides.github.com/activities/hello-world/

https://github.com/joejag/coaching-plan/blob/master/tech/vcs/slides/slides.md

https://github.com/sbarlster/developing/blob/master/git-faq.md

building your source

Once your source is controlled it may need building.

maven, gradle, other...

pipelines and CI/CD

How do we demonstrate the quality or what we produce and how do we control its flow towards the LIVE systems.

jenkins and other pipeline tools, quality checks, other...

environments and hosting

Your software will want to run somewhere. And not only on your local machine.

docker, ansible, AWS (there are other clouds), other...

software design principles

What makes great (read working to expected design and maintainable) software? Whatever the language or framework, there are some guiding principles that will make your software shine.

small, single responsibility, abstractions, immutability, DI, low dependencies - all driven by testability

your first language

A short while back I would have said go for Java. It has stood the test of time. 20+ years and is still in wide use. But I am unsure about its suitablility for learning and maybe its time for one of the young(er) guns to take over.

Go, javascript, typescript, other...

About

a set of materials useful for learning how to be a developer

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published