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!
Modern computer science and IT technology is a continuation of the much older tradition of technological innovation being applied to real-life challenges. Almost every great leap in computation has been made as a step towards or as a tool a solution for some real-life challenge. Computer science should not be taught as a collection of tools and methods, but as the mind-set and solution processes that originally gave rise to.
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 out of the professional development environment (Git & GitHub, terminal, browser, editor), 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.
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 you within a week.