Asking For Help

I have always had a perfectionist streak long internalized in my thinking to the point where if I can't figure something out I must be horribly flawed in some way. Have I finally broken myself from this cycle? I think so. At least I have at my job where I don't have time to sit forever on a problem that I don't know how to solve on my own. Now don't get me wrong, I will try everything that I think will work by myself and when that doesn't work I present my issue to someone with more experience on my team and explain my thought process behind solving the problem. Sometimes I think that turns into information overload, but the way I figure it: if I'm looking at the problem the wrong way then they know so they can maybe explain why I should be exploring the problem in a different way.

I tend to understand a problem better if I can talk through it with someone else. Sometimes I come to the answer on my own and had to actually speak with someone more knowledgeable to be sure I wasn't going off on a tangent. Then through talking it out I come to understand the problem, product, and troubleshooting processes better. They become more engrained so next time I run into a similar issue I am usually able to work through it more quickly.

I have finally internalized that I would rather ask someone and learn something new than stew in the fear of failure. Fear of failure is not productive and doesn't really lead me anywhere. I won't get the satisfaction of learning something new if I'm never able to "get it" because I don't know which questions to ask Google. Talking to a human rather than google has all the benefits mentioned above plus the benefit of them being able to meet me where I am in my understanding of a problem and leading me towards the solution.

I have also realized that because I haven't asked for help I flounder when I try to pry myself away from tutorials. Tutorial hell. If I try something myself and I constantly fail and can't figure out what questions to ask good I get discouraged. When I get discouraged I jump back to tutorials so I can learn just learn one more concept. But it's no good in the long run because with tutorials I'm never really applying what I've learned, I'm just following along with someone else's instructions.

Here's to self discovery! How do you ask for help? If you don't, what holds you back from asking?

12 Months 12 Projects

I was reading through dev.to and came across an article about doing 12 startups in 12 months. I read through and it seemed like an intriguing idea. I'm not sure if the user was able to follow through with that goal, but it got me thinking: Maybe I should try 12 projects in 12 months. They are varying levels of complexity. I really want to do this for myself. I feel like I've just been wallowing in tutorial hell and it's really time to get out of it. So down below are my 12 projects:

  1. A journaling app

I journal everyday, this including drawing a tarot card for reflection and writing out a list of things I want to do in a day

  1. A tv show catalog

The more I wrote out the different things I wanted to do with this app the more I realized that it was going to be a clone of MyAnimeList. Which is perfectly fine, reverse engineering things definitely is a way to learn

  1. A writing sprint app

I want this to have a place for you to write out your sprint with a live word count counter. I want there to be customizable time to the side. I also want the option for the user to be able to export what they have written.

  1. Coffee shop website

I want to incorporate slick maps that highlight where a coffee is from. I want to highlight coffee/snack pairings and seasonal coffee picks. I want this to be a good example of a coffee shop business website that I could use an example for freelancing

  1. Tea shop website

Basically the same as the coffee shop. I want a section on homeopathy properties of different herbs that can be added to the tea. I want there to also to be a showcase of media themed tea blends

  1. Indie bookshop/coffee shop

I want to highlight coffee/book pairings and snack pairings. I also want to incorporate a wish list and shopping cart for the books from the shop

  1. Recipe app

This is something I have wanted for a while. The main concept is the user enters in what food and pantry items they have in their kitchen then they will get recipe recommendations based on what they have in their kitchen. I also want the user to be able to mark the recipe as used and for the app to automatically deduct those ingredients from their kitchen.

  1. Witchy herb app

I want to be able to give herb recommendations based on what the desires of the user. Do they want herbs for health? They will select health, then they will receive a list of herbs for health. I want the user to be able to create herb blends, name, and save them to their account.

  1. Drawing app

A MS Paint clone essentially

  1. Prompt app

I want the user to be able to generate prompts for writing or drawing

  1. Trello clone

I really like this list managing app and I would like to try to recreate it

  1. A book suggestion app

The user can be recommended a random book based on genre or just generally a random recommendation. I want to have buttons for where the user can buy the book. I want the user to be able to mark the book as read or want to read or not interested. All of these except for want to read will remove the book from the random pool

  1. A dress up game

Dress up a stick figure and choose colors for their clothes. I want the different clothing pieces and accessories to be click and drag to the stick figure.

Well, there we are. 12 apps I want to get done this year. We are a week into November and I'm working on Nanowrimo right now. I am not going to work on this list in order how I wrote it out here. I am definitely going to be flexible. This month, for example, I am going to pick something off of the list that i think will be easier for me to achieve this month with my novel and the upcoming holiday.

Will you join me on this quest? I am going to be doing this on top of my daily, weekly, and monthly goals I mentioned a few posts back. Will you come up with your own 12 month challenge?

November Goals

Hacktoberfest is over, but the coding is not! In this post I will go over some of my November goals. Keep in mind that I am doing Nanowrimo during this month so my goals are loose and always subject to change.

Daily

  1. Do at least one exercise in the Grasshopper app

  2. Do at least one exercise on freecodecamp

Weekly

  1. Watch at least one instructional video

  2. Do at least 2-3 coding challenges on hackerrank, leetcode, or pgexercises.com

Monthly

  1. Finish one small app

Note a ton there, but I am writing a 50k word novel so I think it's acceptable considering. Despite the holiday and business of December, I plan on doing much more. Perhaps I'll restart the 100 days of code challenge that I started quite a while ago and dropped because life got busy.

But this is where I leave. A short post for sure, but I'm not doing a ton in November. What are you doing this November? Got any coding projects planned?

Apps You Might Enjoy

Ever get so busy you just can't make it to your computer to get some coding done? Not even one little coding challenge? Well, luckily there are several different apps and tools to keep you coding or learning about coding while on the go. Note: some of the things on the list are just for IOS and made easier for me to use on my iPad by the fact that I have a bluetooth keyboard. I'll be sure to mention when the separate keyboard is best in my opinion.

On to the apps!

Grasshopper: a cute little Duolingo type app for on the go learning. The app is really clever in that the typing involved is restricted to actual text or numbers. No fiddling to bring up the parenthesis or brackets on your on screen keyboard. The upside: it helps you with pattern recognition and logic. The downside: no muscle memory for typing out actual code and the coding challenges are just for JavaScript.

Mimo: This little app also has some similar features to Duolingo like Grasshopper, mainly the daily goals and streaks. The actual content of the app goes over front-end basics. This is a good app for anyone who has never touched code at all and want to know what the heck HTML is exactly. They have a ton of different languages and categories, but these seem to be behind a pay wall. It isn't terribly expensive but I think it's worth mentioning.

Coda by Panic: A very versatile text editor on IOS and Mac. I don't have a Mac so I'm only going to be talking about the app here. Also, this is an app that works best with a Bluetooth keyboard. The upsides: color coded text for the language you are working in and multiple languages available to work in. There is also text completion that I am used to working with in Visual Studio Code. The downside: no pushing to Github support (though they might have that in another one of their apps I'm not sure). I'll cover that in my next app. This app is also a paid app, and it's not very cheap. I wish there was a trial feature on IOS, but there isn't. If you are looking at this app I would check out YouTube to get a more hands on view of what the app is like.

Working Copy: A true Git client for the iPad. There is a text editor built in, but, at least in comparison to Coda, I didn't like it much. Instead, I use this app by exporting my repos files from Coda into Working Copy then initializing the repo and pushing the repo from there. Not everything is super intuitive, but with some trial and error I was able to figure out how to actually get my code online. I think it goes without saying that for the text editing portion of this app a Bluetooth keyboard is a must in my opinion ESPECIALLY because, at least from what I could find, there is no text completion on the app. So you will be typing out every parenthesis and bracket. This app is paid as well, but there is a trial period within the app. So it's free to download and use, but there's no dark mode in the free version and you can't commit to Github. In the settings you can turn on the trial and see if you like it though. This app is cheaper than Coda and has a text editor, so this might be a good first app to dip your toes into developing on an iPad.

Dev.io: I know I know! This is totally cheating! It's not an app per se and it doesn't require actual code writing. BUT! I should have put it in my resources list and I totally missed it. So, why am I putting it here then? Because amongst all of the listicles like this one (ha!) there are some great examples of code and explanations of said code and the thinking that went into that code. Sure you can go to the Github and creep on other people's code, but unless they have great comments the code alone tell you the whole story. WHY did they choose that framework? What made them think that this language was the best for the job? Maybe in the end they learned it wasn't actually all that great for this project, but unless they put that in a comment or text file somewhere you'll never know.

This small list contains the few apps I use every day! For learning there is an Udemy app, but the reason I didn't put it on this list is because well.. It's on that other list and it's not exclusively a coding app. There are tons of resources out there! Try to use them to their fullest! Until next week!

Goal Setting And Tracking

You have a ton of resources to choose from and you have a passion to DO ALL THE THINGS! But hold on now. Don’t get overwhelmed with the sheer amount of stuff you can do and things you want to learn. Take a step back. Take a look at everything. Then pick one or two things out of all of that to focus on. This is important, as you are one person. You can only do and learn so much.You have a ton of resources to choose from and you have a passion to DO ALL THE THINGS! But hold on now. Don’t get overwhelmed with the sheer amount of stuff you can do and things you want to learn. Take a step back. Take a look at everything. Then pick one or two things out of all of that to focus on. This is important, as you are one person. You can only do and learn so much at a time.

But if you are like me, then you won’t be able to just leave those other things to the side. You want to get back to them after all. In that case, which is often the case, I take stock of everything that I’ve collected: resources, project ideas, tutorials, etc, then I throw them all into lists. Specifically Trello, but I think any list app that you can check on the go will be most invaluable. I like to add things to my list as I come across things I want to look at more thoroughly in the future if I don’t have the time currently, for example. Lists are one of my favorite things, only after checking things off a list. The trouble you might come across now is: ALL of the lists you have now! That’s where some goal setting and planning is key. And it’s cousin: time management.

I have a job, but thankfully I’m not in school too and I have no kids so I have more free time than some. I cherish the free time I have and do my best to use it to it’s fullest. For me this means giving myself some daily, weekly, and monthly goals. These goals can be incredibly mundane depending on the day and my energy levels. Sometimes it’s just: journal, read a tech article, and exercise. Some days I have way more mental and physical energy to accomplish more which is great, but I always try to be mindful of how I’m feeling on any given day.

Below I want to go over some of my usual goals. Things to help give you an idea of what you want your own goals today.

On the daily goals!

  1. Try to learn one new concept

  2. Read one new tech article

  3. Assess your progress

  4. Try to watch one instructional video

  5. Try one coding challenge

  6. Read over your old code

  7. Plan out your next monthly project

  8. Record your progress

  9. Work on one problem from your monthly project

Weekly goals!

  1. Make some progress on your monthly project

  2. Plan out this month's project

  3. Complete all daily goals for x days

  4. Complete x amount of coding challenges

  5. Complete x amount of tutorials

  6. Refactor some old code in your project

  7. Read over the code in your monthly project

  8. Record out your weekly progress

Now to monthly goals!

  1. Complete one small project a month

  2. Go to at least one meetup

  3. Track your progress on your monthly project

  4. Complete x amount of weekly goals

  5. Record out your monthly progress

  6. Record out your successes

  7. Record out your struggles

  8. Record what you've learned

You'll notice that a lot of these goals are about recording your progress. For me, this blog is just that. A way to track my progress and write out my thoughts on development. You don't have to have a blog of course. It can be a document on your computer or even in a journal if you want. The point is to see how you've grown. When you have a crappy day where you can't figure out that problem no matter how hard you try, look back at how far you've come. Look at all that you've learned! And yeah, you might look back at your notes and think some of these things are easy now, but remember: they weren't easy for past you and you still made it through.

That's my challenge to you, dear reader. Keep track of your goals, your progress, your struggles. Memory can be fickle, but words live forever.