The process of being, becoming, and staying a developer - adamjberg/coding-curriculum GitHub Wiki

Introduction to 4d2 Curriculum

The process of being a developer is long, arduous, and scary. But, after some point you find out that the point isn't to know or do everything or think of every possible outcome, but it's the accept a life long relationship with software and engineering. If this is not something you are seriously interested in, you will fail.

The process of starting an app, whether you want to charge for it, build it for someone else, or just have your own DIY task app, is complicated because we humans have complicated it. We added big words, shiny new ways of doing things, we made some things faster and a lot of things slower, because our intellect doesn't stop discovering new things, but we forget that we have to go back and look at every new project with beginner eyes. The more that you can come back to a place of enjoyment you're going to have more fun with it, you're not going to burn out, and you're going to learn lots.

I like to try things out in the smallest pieces possible (on paper, mockups, writing etc.) and shape them up later in the more expensive process of actually coding something. As an entrepreneur even with no experience in code, you can basically perform all of the aspects that lead up to coding. But most people are afraid to even take the first step and plan something.

The best way to learn is just to have an idea of something to build. One of the first proud moments of Computer Science 101 was building a command line clock. We had to draw the graphics of the handle so they would spin in conjunction to the time. We did that with a graphic library, but before that we built a clock with basic lines on a screen to replicate one of those LED clocks from the 80's.

It's not about looking at your computer and expect the machine to beget what you'd like to build. It's about knowing roughly what shape of something you'd like to build, then taking the next steps as to finding the resources you need to make it happen. It's that next step that only comes with experience. And in the traditional self-taught education style you will get disillusioned with the number of options available to you.

That's why for the sake of this course, for the sake of the companies that I run, and to just darn well adhere to the KISS principle, we've decided to focus everything employable languages and frameworks. The ones that have the most jobs available after your course is done if you don't choose to stay around with us and put your education right to use.

What that allows us to do is simplify the process of worrying about semantics. So you don't have to learn C, or Python, or Java just to call yourself a programmer. Experience is good, but you can be all of the programmer you can be by just being you and doing what you enjoy. What's important in any lesson shared here forward that programming isn't about writing code at all, it's about finding the simplest way to get from idea to product as quickly as possible without causing things to blow up. Figuratively speaking, but literally, maybe this will be your next step to writing code for something that_does_blow up.

Even if you just want to make things for yourself, for someone one else, turn this side hustle into your next career or startup.