This site is under active development. Feedback and pull requests welcome!
At Elewa we remember learning to become developers, for some of us it wasn’t even a year ago! It felt like we spent more time finding what we needed to learn and where to learn those skills than we did actually learning them.
What we found difficult was tying it all together into a unified skill-set. With the great variety of opinions and resources it felt impossible to figure out what was most important, or what we should learn first.
We’ve spent the last year talking to employers, developers and students to answer these questions. What are the most versatile skills for a junior developer? How can you future-proof yourself? Can these skills be learned from the very beginning?
This curriculum is our attempt to share what we’ve learned so you can start with a leg up.
The Elewa Team
We believe that no one should have to study alone, and that everyone should have access to quality, open learning materials. Our instructors have worked hard to embed their professional experience into the design & delivery of this curriculum, we hope this helps you reach your goals!
The true focus of these projects is how to think in abstractions, construct solutions, identify separation of concerns, divide work for collaboration, use pseudocode and other visualizations … In short, how to use code effectively. Skills like these are usually taught after students have begun to master their language.
From our experience and research we have learned that these skills can, and should, be learned at the very beginning of your programming experience. Perhaps even before you master your programming language! The fundamental skills we cover in this curriculum can be learned effectively programmers of any skill level.
We’ve designed our projects to be as instructive as possible. The code for these projects is very simple, and this is intentional. It’s much easier to focus on, and learn, these collaborative skills when you aren’t also trying to understand complex code and new libraries. Keep this in mind and you’ll find that you can learn a lot from these projects, even if you’re no stranger to programming.
All of our projects require you to work directly with Git & GitHub, completing finished repositories to showcase your work. At times this may feel like a lot of extra work, but stick with it! We have intentionally designed our course to be this way.
A common difficulty for new developers is transferring their skills from friendly, guided learning environments (videos, integrated code execution, quick tips) to real development contexts. By interacting with our curriculum in a professional development environment (Git/Hub, Terminal, Editor, Browser) you are building fluency with the tools of the trade as a natural part of your learning process.
These carefully designed projects are the core of our curriculum. If you study them as recommended you will learn the fundamentals of programming & software development, skills that transfer between any language or development environment.
Each project is meant to be just a starting point. After you’ve finished the requirements and you’ve understood the main learning objectives, take the simple base provided and make it something awesome.
To study the projects we recommend you fork+clone the project repos. This will allow you to take notes, study sourcecode, and modify samples directly from your computer.
Stay tuned! We’ll release more projects as we finish moving them to GitHub.
This wiki is full of everything you should need to know, or at least a link to it. Your one-stop shop for everything from learning and study tips to interview preparation tips. But don’t worry about reading it all at once, the projects and code alongs will link you to the relevant pages.
Feel free to contribute!
Our mission is to make learning open and collaborative. If you are interested in setting up your own Meetup or study group around this curriculum we would love to help out! Get in touch with us and we’ll get back to within a week.