My Dilemma

I realize now that I didn't have to feel any less gifted than anyone else. I have all the brilliance I need. I'm not average but balanced.

How I got introduced to programming is simple: my Dad's a programmer. However, the journey to grasp the basic concepts was not simple in the least. In fact, I probably had it harder than most people, simply because of three flaws I've struggled with since I was a kid. No, not mental illnesses or defects, thank God. It's simply the way that my mind works and processes information. Let me tell you about the three dilemmas of self that I had to overcome in order to be a better student in general.

Taking Things Too Seriously
Often Distracted
Lack Of Confidence
You're In Control

Taking Things Too Seriously

How has this been a problem for me? Well here's an example. It took me some time to understand that not every time someone says "pattern" we are talking about design patterns. Because I in Java there is something called a pattern which is "a combination of a test, which is called a predicate; a target; and a set of local variables, which are called pattern variables ." — Oracle see article on Pattern Matching

Or for the word "instance", often in a tutorial statement, one may say "in this instance..." and I would mistakingly think they were talking about object/class instances. This made me go "What instance? Where? Did I miss something?" Even with the word "interface", I was getting stuck. My brain could not reconcile the concept of Java interfaces with APIs or GUIs, not realizing that each aren't even contextually the same kind of "interface". In moments like this, it's best to learn a term by its standard-dictionary definition to better understand why in this situation a certain term has been given its name.

This is why, even in everyday life, I usually need specificity in order to carry out a task. It gets better with time. I was only ten years old when I first started computer programming and need some time for my mind to fully develop in this regard.

So what's the fix for this? Come in close... When you're taking notes and come across a concept you cannot seem to understand, do not— I repeat— do not paraphrase. I know what you are thinking: So plagiarize? Um... yeah. Because if you write down something the way it's supposed to be defined or described, then when you come back to your notes years or months later, you may have the capacity to finally understand it. Trust me, it works. But coming back to inaccurate notes where you wrote down only what you thought was correct may just confuse you further.

Often Distracted

Being homeschooled allowed me to make my own schedules for work. This was the only way I believe I could have ever been successful in school— the fact that I could learn on my own time. But along with that and not being the oldest child, it gave me a lot of leeway to become comfortable with gliding past hard-core self-discipline. I had more time to focus on my dreams than my older siblings, like getting better at arts and crafts or writing and publishing my first book.

Software development is not for the faint of heart. As my Dad often says to me, "You need to be excited about this because it takes all of your mind. That means learning on your free time wherever you go." This statement always scared me. I have always been someone who likes to make room for my hobbies and dreams throughout the time that should be designated for work. Then once that time was over, I spent even more time doing what I loved. But this opposing line of reasoning— of making more room for work than dreams, quite literally shook my world apart.

You might be like me and think "Hey, I only got into this because I know it'll make me big money." I wasn't about to completely discard my hobbies. And as a writer, I am also working on my story in my head long before it ever meets the page. I was always a "head in the clouds" gal, not really sure when I'd make a genuine effort to add structure to my free life.

Being homeschooled allowed me to make my own schedules for work. This was the only way I believe I could have ever been successful in school— the fact that I could learn on my own time. But along with that and not being the oldest child, I- was given a lot of leeway to become comfortable with gliding past hard-core self-discipline. I had more time to focus on my dreams than my older siblings, like getting better at arts and crafts or writing and publishing my first book.

I really hope it doesn't sound like I had no structure whatsoever. That's simply not true. But that was the structure given to me by my parents, not myself. To become creative with setting up my work ethic and environment on my own takes self-discipline. Something I minded but hadn't mastered.

For so long I blamed myself as though there was something wrong with me as a person. I thought, "Why can't I be consistent? What is wrong with me?" This often left me spiritually and emotionally torn.

But when I look back on those years of my life now, I can appreciate the blessing of being blissful, carefree, and creative like I was. I actually don't regret anything. See, It took me some time to understand this truth, but I now see that God made me who I was for the season I was in. I did not need to be too alert and responsible then so I wasn't ever given the compulsion for such a thing, unlike my father and mother who were both the oldest in their families and had a lot of responsibility placed on them. I believe God gave them the spirit to tackle the issues of their environment and to grow up faster than most people.

But sure enough, the season came when my eyes became more aware of the world around me. Eventually, the emotional attachment to my distractions lessened. Not lost; lessened. And my desire to learn programming, leadership, and time management grew. But it didn't happen overnight. I had to be open to the change, and I prayed to God that he would give me that desire.

I realize that my problem was not the drawing, the writing, or the excess screen time. Whatever the medium I used, I had made it my crutch. I chased after distraction. Luckily, I had a family to fall back on. I am so blessed to have parents and siblings (that goes for my younger siblings, too) that provide structure to my life and teach me about responsibility.

Each day, I have to reckon with that daunting scripture 1 Corinthians 13:11: "When I was a child, I spoke as a child, I understood as a child, I thought as a child; but when I became a [wo]man, I put away childish things." Each day, I have to deny myself and follow Christ, trusting all the while that he will lead me to my best future.

So, what's my tip?  Do yourself favors: Make a schedule and stick to it. Set a time for your work and your hobbies. In between those times is when you should be learning. Overall, appreciate who you are. Be content with the character/personality God gave you but challenge yourself to do better. Soon, you will be granted the mindset for good habits.

Lack Of Confidence

"Maybe I'm not cut out for this?"
"Don't I have to be a genius?"
"Why am I so inept?"

All of this was me. It's what I told myself every time I became stumped with anything, not only Java. I can't say that I'm not smart, but I also can't say that I'm the smartest person I know. On the flip side, I may be creatively talented but not the most creatively talented person I know. I had long ago decided that the worst thing I could ever be in life was average. I often wondered, if I had no one helping me, would I be successful? Would I push myself in the way that I do now?

Well, the answer was, is, and always will be no. And so it is for everyone else. No one is who they are solely because of themselves. I realize now that I didn't have to feel any less gifted than anyone else. I have all the brilliance I need. I'm not average but balanced.

I know that if I want, I can truly learn anything. But it takes a different style than others. That's why I started this blog. Not only to help me learn by teaching but to give others the kind of breakdowns I needed to succeed as an aspiring software developer.

My advice is to stop doubting yourself and create your own way of learning, but you have to learn. You don't have to be a genius, just dedicated.

You're In Control

They say computers are dumb. I didn't buy that. When it came to me and the CPU, I was the dummy. I couldn't understand the kind of confidence that experienced programmers like my Dad have as though they know they'll figure out a problem soon. I was afraid of the thing I was supposed to program and had this feeling that experts were looking over my shoulder, judging me as I typed. Well, news flash— no one is watching. I had to realize that being a programmer meant I had control over the machine. Someone say "duh".

But seriously, I control the way I solve a logic problem. I control the framework I use, or the style with which I code. And most importantly, I control my understanding of it all. Once I became completely aware of that, I was free to actually perform without fear of failing. This goes back to confidence. When you are confident that you will find a solution, it's likely that you will.

Know the rules. Understand the language. Research the other frameworks and tools you need to create complete apps. Once you know what you're working with, you should feel like you are actually having fun and being creative with your code, not like you are forever mimicking what someone else did.


I wrote this entry because I wanted to help other novice programmers understand that they are not the only ones who struggle. If I can learn, so can you. Hopefully, this was helpful. Keep coding lots of fluff.