Databases, Schema, And A Backcountry Permit - Week 7 of My Software Development Bootcamp
We wrapped up the new content, for my bootcamp, this week with databases.
A database is a place to structure and store data for later use.
We learned about MongoDB this week. MongoDB is a document-oriented, NoSQL or non-relational, database. MongoDB stores data in documents. These documents are structured similarly to a JSON file format.
Documents hold data. These documents are grouped together in categories called collections, and the collections are held in a database: Database => Collections => Documents.
Now, there are a number of different types of data and an innumerable amount of things you can do with data. It is therefore very important to have a plan for storing data before it shows up in your database.
Enter the schema.
A schema is the tool used to create this plan or structure for incoming data.
A schema determines the type of data a value must be and connects that value to its corresponding key.
It’s kind of like going to a concert. The person checks your ticket and then shows you to your seat.
In the same way, a schema validates incoming data to make sure it matches the requirements before allowing it to enter the database.
If you don’t have a ticket, you get thrown out of the concert. If the data isn’t the right type, it throws an error in the program.
The schema is then used to create a model that reflects a specific data entry.
This model is then allowed to enter our database and be stored as a document for later use.
Schema validation reminds me of the requirements that exist, at times, to enter the backcountry.
Backcountry Permits.
That phrase makes my hands sweat.
A permit is your gateway as a hiker to the magic of public lands. They are amazing to have, but can be so stressful to figure out and get.
I’ve done some crazy things for permits: camped out for days, literally waited for my number to be pulled from a bingo cage, called a backcountry office twelve times in one day, watched my computer clock for the exact minute to refresh my browser when the permit season opened, and became instant friends with strangers to share a permit for a few days.
Basically, I’ve done whatever it takes to get into the places we have wanted to explore.
I’ll just say the headaches and anxiety have been worth it.
Permits make sense, and public lands are amazing.
Permits help ensure that amazing places stay the way that they are.
Permits tell you where you are supposed to be and make sure you have the right knowledge and gear when you are there.
I’m a rule follower and the stress of being in a permitted area without the right paperwork would ruin any experience I would have. Nothing makes me feel more alive than being in a place that requires work to get there and has a specific time limit to enjoy it. I am present and striving to squeeze every drop from the experience.
I am starting to feel the stress of knowing that my bootcamp permitted time is coming to a close.
To be honest, I have anxiety about getting a job.
But, I know this is natural. One thing I have learned from hiking is to enjoy and take care of what you need to today. Sometimes, you just can’t plan the future.
No matter how much I think about it, I can’t plan when someone will stop and pick us up while hitch-hiking into town. Sometimes it takes minutes, other times hours.
In the same way, I wish I could say, “I’ll finish my bootcamp at the end of April, go on a vacation with my wife, and then start a job a week later.” It would be great if things worked out in my ideal timeline, but instead of focusing on the "what if", I’m choosing to take the steps I need to today in order to be prepared to apply for jobs in the future. I’m working on my project for this weekend. I’m reflecting on what I’m learning by writing this very blog post. I’m restructuring my resume.
I’m doing the work, and that’s what matters.
Last summer I wanted to get to Square Top Mountain in the Wind River Range. It was the highlight of the CDT for me and a dream to see. In reality, I was only there, in that valley, for a few hours, and I literally had to walk thousands of miles to get there.
Reaching your dreams requires effort. Today is not a Square Top Mountain day.
But it is a day to bust out some miles and get me one day closer to seeing my dream come true.