RnD by Sigma
Introduction
It is usually a daunting task to know what to learn next, especially if you are beginning your journey. This guide aims to help you find relevant competence areas to focus on and suggest what to prioritize first to speed up the learning process.
Contribute
If you have any opinions or suggestions then feel free to create an issue and make sure to tag it with improvement for any new suggestions or invalid if any existing information is incorrect.
Levels
Feel free to learn whatever you want regardless of level. However be aware that a higher level suggests that you will have a harder time if you lack fundamental knowledge.
Lv.0 | You might be familiar with some concepts but lack professional experience. |
Lv.1 | |
Lv.2 | |
Lv.3 | You should be proficient with advanced concepts and be able to combine the right technologies and tools from an architectural perspective. |
Lv.4 | You are a master in one or more areas and an active contributor to standards and the open source community. |
Remarks
cold | Is becoming obsolete, but is still commonly used. Should be avoided for new projects. |
hot | Is either very new with great potential or widely adopted with an active community. |
recommended | Is very usefull in most situations. |
required | Necessary for any successful development project. |
Programming Languages
-
C++
Lv. 1requiredRead more: C++
-
Java
Lv. 1Read more: Java
-
Python
Lv. 1Read more: Python
-
Scripting
Lv. 1
Telecom
-
Telecom
Lv. 1
Operating System
Det är viktigt att ha vanan att kunna hantera både grafiska gränssnitt och kommandoradsbaserade gränssnitt. Man förväntas inte kunna agera som administratör men skall kunna arbeta i respektive system på daglig basis.
-
Linux/Unix
Lv. 1requiredRead more: Linux/Unix
Related subjects:
- Embedded Linux Primer Embedded Linux Primer (ISBN 978-0-13-701783-6) Level 2
-
Windows
Lv. 1Read more: Windows
-
OSE
Lv. 2Read more: OSE
Unit Testing
-
Unit testing
Lv. 1Read more: Unit testing
-
JUnit för Java
Lv. 1Read more: JUnit för Java
-
Google Test för C++
Lv. 1Read more: Google Test för C++
-
Mockning
Lv. 1Read more: Mockning
Related subjects:
- Mockito för Java Level 1
- Google Mock för C++ Del av Google Test Level 1
Development
-
Test-Driven Development (TDD)
Lv. 1Read more: Test-Driven Development (TDD)
-
Behavior-driven Development (BDD)
Lv. 1Read more: Behavior-driven Development (BDD)
-
Object-oriented programming
Lv. 1Read more: Object-oriented programming
-
Real Time programming concept
Lv. 1Read more: Real Time programming concept
-
Continuous Integration (CI)
Lv. 1Read more: Continuous Integration (CI)
-
Software Craftmanship / Clean code
Lv. 1Read more: Software Craftmanship / Clean code
Agile Methodologies
-
Scrum
Lv. 1required -
Kanban
Lv. 1Read more: Kanban
Tools
-
Eclipse
Lv. 1Read more: Eclipse
-
CDT (Eclipse C/C++ development tooling)
Lv. 1Read more: CDT (Eclipse C/C++ development tooling)
-
TDD tools
Lv. 1 -
Code review
Lv. 1 -
Jenkins
Lv. 1Read more: Jenkins
-
Modelling tools
Lv. 2
Version handling
-
Distribuerade versionskontrollsystem (DVCS)
Lv. 1Read more: Distribuerade versionskontrollsystem (DVCS)
-
Git
Lv. 1required -
Clearcase (basics)
Lv. 1Read more: Clearcase (basics)
Modelling
-
UML (Unified Modeling Language)
Lv. 2Read more: UML (Unified Modeling Language)
Programming Techniques
-
Design patterns / designregler
Lv. 2Read more: Design patterns / designregler
-
C++ Multithreading
Lv. 2Read more: C++ Multithreading
-
SOLID principles
Lv. 2Read more: SOLID principles
Project Management
-
Project Management
Lv. 3Read more: Project Management
Architecture
-
Architecture
Lv. 3Read more: Architecture
Web Courses
På senare år har konceptet mooc (Massive Online Open Courses) blivit väldigt populärt. Det finns en uppsjö av olika webb-universitet och kurssamlingar att tillgå, alla med skiftande kvalitet. Här följer en liten lista med resurser och en kommentar om vad varje tjänst erbjuder
-
Coursera
En av de första och största mooc resurserna. Det är många stora universitet från hela värden som skapar specifika kurser för Coursera. Kurser finns inom ett brett spektra av ämnen, och de håller generellt en mycket hög kvalitet. Det går att läsa enstaka kurser gratis. Vill man ha en verifikation på att man har läst kursen kostar det pengar, ca $50 per kurs. Det finns dessutom specialiseringar där ett universitet sätter ihop flera kurser inom ett ämne som man kan läsa i ett paket. Dessa avslutas sedan med ett capstone projekt. För att läsa en specialisering så måste man verifiera sig, alltså betala för kurserna. De flesta kurserna är tidsbundna, dvs. de har ett specifikt start- och slut-datum, med inlämningsuppgifter varje vecka.
Read more: Coursera
-
EDX
Är väldigt lik Coursera med liknande utbud på kurser. Man kan även här köpa en verifikation för de kurser man läser, men de har inga specialiseringar. Även här är kvaliteten på kurserna generellt mycket hög. De flesta kurser är även här tidsbundna.
Read more: EDX
-
Udemy
Lite annorlunda upplägg än de två tidigare. Här kan vem som helst skapa en kurs, så kvaliteten på kurserna kan variera ganska mycket. De flesta kurserna kostar pengar, från någon hundralapp och uppåt, men det går även att hitta en del bra kurser gratis. Alla kurser är ”self paced”, man läser dem alltså i sin egen takt.
Read more: Udemy
-
Codeacademy
Codecademy har en ganska liten uppsättning interaktiva kurser rörande mjukvaruutveckling. De är bra om man vill ha en snabb introduktion i ett ämne, men är det djupare och avancerade kunskaper man är ute efter så är detta inte riktigt rätt tjänst.
Read more: Codeacademy
-
Udacity
Udacity har kurser inom framför allt Datavetenskap och mjukvaruutveckling. Bakom kurserna står både universitet och olika företag. Alla kurser är tillgängliga gratis och alla är ”self paced”. En bra detalj med Udacitys kurser är att de är indelade i svårighetsgrad: beginner, intermediate och advanced.
Read more: Udacity
-
MIT Open Course Ware
MIT Open Courseware, är lite annorlunda än de övriga då den inte innehåller kurser som är anpassade för webben. Det är istället MITs vanliga kurser som de lägger ut allt material för på sin webbplats. De flesta kurser innehåller därför bara textdokument, men det förekommer kurser med videomaterial, antingen filmade live-föreläsningar eller specialgjorda för webben.
Read more: MIT Open Course Ware