The problem: When I started with programming I wanted to / had to learn everything at the same time. But after a while I got confused and felt the urge to focus on something. So I sat down with some colleagues and discussed a possible curriculum.
The fix: Here is my curriculum for the next months. A great read along the way are the first 2 chapters of the book Mindset. It helped me a lot with my own approach to learn.
- HTML / CSS (Oktober - December 2015)
- Revisit basic HTML and CSS. Build a parallax scrolling website.
- Revisit Bootstrap Grid
- Revisit Box Model
- position, display, inline-elements
- Project: ClojureBridge Website - Code
- SQL (Oktober 2015 - January 2016)
- Lecture in university on Databases
- Entity–relationship model
- Relationship cardinalities
- Queries, Structured Query Language (SQL)
- Data Manipulation (DML) & Data Definition Language (DDL)
- Project: entity–relationship model for the event organizer app
- Ruby / Rails (since February 2016)
- Finish Rubykoans
- Improve code with Rubocop
- Read code(interview tasks) together with other colleagues
- Revisit Classes, Modules etc.
- Namespacing
- Do some Metaprograming
- Make a Twitterbot
- Write Skripts with Nokogiri
- Rspec
- Learn more about TDD
- Take a step down and do a test-driven TO-DO-List-App
- Project: Build event organizer app
- JavaScript (Planned May 2016)
- Revisit JavaScript / start online course
- Modify a website with JS
- Build a Node.js app
- Make a game
- Visual Interaction
- Reference: https://learnxinyminutes.com/docs/javascript/
- C#
- Basic C# Windows 10 app
- Basic Skype Bot
Side project: Clojure
These are the technologies I came across during my first 2 years as a web dev junior and computer science student. Some I know and I can use. Some other I just heard about but have no idea how they work. There is still a lot to learn. You may take them as inspiration on what to learn next. I linked tutorials/information pages with the technologies.
- Ruby
- Java
- Clojure, ClojureScript
- Rails
- HTML, erb, haml
- CSS, Scss
- JavaScript, CoffeeScript
- jQuery
- React
- C#
- ASP .NET
- Pair programming
- Test Driven Development (TDD)
- SQL, MySQL, PostgreSQL
- Version control, git, GitHub
- Pull request reviews
- Deploying to production environment
- Monitor production
- Testing, using a testing system/environment (staging)
- Travis CI
- CodeClimate
- Rubocop
- Quality Assurance (QA)
- Agile, Scrum
- Manage, estimate your tasks with Jira
- Developer meetings
- Find and trace bugs
- User interface & User experience design (UI & UX)
- Using a stylguide
- Service Oriented Architecture (SOA)
- Solr, Redis
- Model, View, Controller (MVC)
- Minimal Viable Product (MVP)
- Translations, Internationalization
- Ruby scripts
- Mobile first approach
- Floating point number problem
- HTTP, request & response cycle
- RESTful
- Inside a datacenter
- Servers, operations, hosting
- Authentification, authorization
- SSH, SSH-Keys
- Formal language, automata theory
- Regular expressions, pattern matching
- Logic gates, logical connective
- Soldering
Make a JS game: Vielleicht wäre ja 2048 nachbauen eine Option. Du könntest auch einen Fork von 2048 machen und eine neue Variante daraus machen.