Beginning the long journey of becoming a developer can be particularly intimidating. For some, the steps become too long, the technologies too difficult, and the field too large to conceive of a specialty to focus in on. I know, before I began a bootcamp, frameworks just seemed so intimidating to even begin to wrap my head around. Having learned some python to experiment in, I thought learning one of the dedicated python web frameworks, like Django or Flask would be the natural next step. However, online tutorials just went at a break neck speed where creating virtual environments, http requests, etc. etc. were glossed over without being explained.
How I tend to learn is by moving from big to small, or from outside in. Grasping a higher level abstraction of what each piece does before moving inwards to how each line of code is written is a good way to not get lost in the weeds. And I think, equally important, is to be motivated to learn and bounce back from when the technology feels alienating.
This brings me to the main point of this post. YOU HAVE TO CARE. By default, the projects you create in online tutorials, like a to-do list or twitter clone or blog aren't your own. Obviously you have to start somewhere and get a footing in the tech. But how the site looks or functions is still up to YOU. And this starts with caring about what you make. This also applies to projects made at University or in a Bootcamp.
To me, caring seems to be all encompassing and hard to deconstruct so I'll just list some things that come to mind.
When a project is just assigned to you, it's very easy to put your head down and charge through it like it's nothing. There's nothing inherently wrong with this, but it lacks substance.
Actively caring about the thing you're creating is an instructive tool for learning and will help you remember what it is you're learning. A lifetime of being assigned things can dull our senses to what we really want to do. Being interested or having fun with your projects is indicative that you care about what you're doing and trying to make it the best thing within your power.
Defining things negatively can also be of help. Meeting the bare minimum for a project to turn in as an assignment is a good indication that you weren't actively invested in the outcome or the process. This can be as instrumental a tool as knowing it because it allows you to zero in on those things that do mean something to you.
Coding projects present an interesting way for developers to really go as far as they'd like to. Did you get the functionality down? What else can be done? Does your site look like it rolled straight out of the nineties? What styling can we make to change that? Does your site have a flaw or annoy the user in some way? How can you make user experience better? What tools can you use?
Staying curious about a topic, whether it be authentication, machine learning, design, graphics, game dev, or whatever stimulates you and leads to a much more meaningful experience for yourself and the user. You get what you put in and no one found anything that someone begrudgingly made interesting or cool.
This isn't to say that getting something done because you have to is bad. But knowing that it is just that is important and will clue you into what is really meaningful.
I tried originally writing this post about how to inject creativity into the projects you make, but the more I thought about it the more just simple caring was important. It is important for making your project your own, making an impact with what you make, being proud of what you make, and learning to be an effective developer.