Hey guys,

It has been a while, but I am back. I was honestly caught up in a complex project that’s why. But I’m back now. Hopefully more frequently this time.

Dear You-Contemplating-If-Coding-is-For-You,

As you know, I dived into android programming right away, without ever taking any course. My journey has been nothing but rocky, and fun. So today, I’d like to share with you what has helped me jump from Beginner beginner status as a programmer to Senior beginner. Yes, you heard me right. I am not good just yet in Java. My learning curve is somewhat what I had not expected.

  1. In android studio, red is no red flag (Irony, I know). It is a chance for redemption. Seriously. So no need to be alarmed when your whole Integrated Development Environment starts showing red zigzag lines all over your code. You didn’t kill anybody, probably just a typo!
  2. Infinity. The answer is infinity. infinity is the number of times all developers google the most basic of things. Sometime back I got to read an article from dev.to by a senior developer at google. He cracked me up when he gave me the secret: he had forgotten how to convert variables into string and he ran to stack overflow. My point is, don’t doubt your ability when you are googling every single element of an Easter egg of your app. It is normal. It is part of the process. It gets better.
  3. YouTube, almost like stack overflow, is your new best friend. Forget the vines, forget the funny clips, and the endless “informative” videos you spend hours on YouTube. Three months ago, my YouTube feed was full of videos just like yours. But after looking up how to do many things, my feed is replaced with tempting videos from Code Archery, CodingWithMitch, and EDMT. Now and then when I open my YouTube app, I’m almost always tempted to learn something new.
  4. Sleep. I am serious. You know how you say I’ll sleep after doing this, and you don’t. Change now. Sleep after doing that. Set a sleep schedule, whether it is based on time or the tasks you want to fulfill. I know it’s tempting when you finally solve an error at 5 a.m., and think… “Wouldn’t it be awesome if I did this before I sleep?” Nope. Don’t do that. Sleep after doing the last thing on your task list. I can’t emphasize how many times I wrote code before I slept, and the next morning, I got new ideas of doing my stuff more efficiently. The light bulb goes on, mainly after sleeping.
  5. Do you hate reading? Sorry, you got to start loving it. In your quest for implementing anything you have no idea about, you’ll have to read upon multiple lines of code and explanations. You’ll read on stack overflow or on GitHub, or just on random websites. I used to hate reading code because I couldn’t understand anything, but now I’m getting better. At least I can rationalize what someone else’s code is doing and see if it fits my requirements. I overcame my code-reading phobia by committing myself to reading and understanding the longer codes first.
  6. The distinction between stupid and serious questions in code doesn’t exist. There is no stupid question in code. You’ll be shocked to hear that I sometimes forget how to declare dynamic arrays in Java and just ask somebody. Recently, I thought I had a really tough question, so I posted it on Stack Overflow and surprisingly, the answer was just the fact that I had one parameter in a code that required two parameters!
  7. Memes. Well, if you hate memes… you might let go of these one. I started following tweets from @UserInputSucks and @CodeDoesMeme. These tweets are hilarious yet educative. It is kind of a secret box where programmers share their horrific, yet educative knowledge in a humorous way. These are probably the places that have offered me refuge when I was struggling with concepts of perfect code and self-doubt. I have learnt things like “if it works don’t touch it” via memes.
  8. Write things down, don’t mess your workspace with written stuff though. I have a small notebook where I write and post stuff. Mainly I write my daily tasks. I also write things I’d love to implement in my code in future, so that when I’m about to push to development, I really don’t have forgotten features. By now you know how perfection gets to me! This is the only way I write imperfect code without feeling too guilty.
  9. Use as many Logs and timber as you can. You see, in Java, there is a way you can show how sequentially your code runs by using things like Log and timber. They are basically codes that the user won’t see, but you the developer will see them. They will print whatever message you ask them to print in your logcat where you’ll be able to track how your code is running. I recommend using them in every essential function—that means every function—why else would you write a function that isn’t essential to your program?
  10. It isn’t a bad idea. And as Steve Jobs said, “the customer doesn’t know what they want”. While beginning on my project, I had these “customer” (she is a good friend really) who imagined how our app should have a map and everything, but over my course of development, I realized I didn’t like the whole map idea. So I switched the layout without her consent, and I kept beating myself up that I should change it. We met for our routine check and guess what, she loved my layout more than she loved hers and mine is what we are going with. But I don’t mean you ignore other peoples input… stay open minded and always strive to giving yourself the first voice! Also acknowledge that other people’s idea could be better than yours!

I think that’s it for today. I hope you find these helpful. Happy Coding!

Regards,

Senior Beginner Programmer.

Leave a comment

Design a site like this with WordPress.com
Get started