Programming Frustration
To everyone out there in the world and by that, I mean non-techy guys, a developer’s job looks pretty sweet. And it should. I mean we are the one's world to demand the most, paid well and all sort of fun perks but truth to be told; the job has moments when we want to pull out our hair (only if there’s left any). If any programmer or developer ever tells me that they have never been frustrated, then I’m not going to believe that.
“Behind every good programmer is a frustrated programmer” they say.
Ever since I started with this programming thing, frustration has been at the very heart of it. (In fact, I’ve thought of a name for it. What about “Frustration Oriented Programming”:D. Yeah, you judged it right. This blog is going to contain more of ‘me’ part. So, let’s see how we can cope with this frustration.
Live it:
First thing first, what we all need to understand is that frustration is not only “normal” but lives at the very core of our job. It is a signal that you are getting out of your comfort zone and learning something. Sometimes you’ll get the things done right away and sometimes it will need your time and patience. “Kabhi Khushi Kabhi Gham” (that’s a Bollywood movie in case you didn’t get the reference.)
So bear with it.
Get a life:
I’ve been hearing a lot that programmers don’t have a life.
That often makes me wonder if I fall into the category or not. (Yeah I happen to have a life.)
I do support the idea that programming requires a lot of practice but giving up your life will only make you more frustrated. What I believe is fresh mind works better. So if you’re stuck with a problem you might just need to get back to it in a little while, go out for a movie, have coffee with your friends, try chocolate lava cake (that’s my personal favorite) and there’s a higher probability for you to find a solution.
Remember!
Programming is not only about writing. It’s 10% writing and 90% thinking. So don’t get yourself stuck on the chair for days. That’s way too typical, be somewhat different. But in the end, it’s you to decide when your program needs your persistence and when a little break.
Think the other way round
Okay, this is just for fun. I don’t really mean for visual studio to be broken. What I mean by this is no matter how complex your problem is, the solution always exist there. If one approach doesn’t work you try the other one. I remember myself doing one of my school assignment and I set up the network for VM’s in the virtual box but it didn't seem working. I checked everything again, everything’s perfect but still not working. Ok uninstall the VM’s, install it again, still not working. Uninstall the whole virtual box, install it again, set the network again but still not working. Like what the heck……It took me a whole day just to figure out that although I restarted the VM but forgot everytime to restart my PC just after setting up the network. (It makes me feel so stupid now). And I came to know that things actually sometimes work after restarting the PC. :D
Anyways the point is looking at the problem from another perspective is always a good idea. So try the ways till you get your way of things working.
Play Team:
There’s this misconception that programming is a one-man show. I BEG TO DISAGREE. Ever wondered why software companies have ‘teams’ dedicated to a particular project. Synergizing always pays off. Stuck on an apparently small problem? Swallow your pride and ask someone. There could be a lot of programmers who encountered the same problem. You might be too stuck on your problem to look at the big picture while the other person might see it all. If you don’t have anyone right next to you to ask, play the team with your system. (Googling is my favorite too.)
Whatever it is. It will not only help you learn but will also save you lots of frustration.
Use Paper:
If you’re stuck with a problem, try writing that code down on paper. Why am I suggesting it? If you have noticed, students are made to attempt their exams even of programming on paper. When in a programming competition, you’re provided with a paper to write your solution on. The reason is when you’re using the paper, you’re more focused on solving the problem rather than syntax which really helps to get things done. Syntax errors can be dealt later on.
Recognize your achievements:
I’ve seen this meme like thousand times on social media saying first computer programmer was a woman that’s why the language of the computer is difficult to understand. Although I’m a woman yet let me say that I agree but only to the extent that programming is hard. It is more like magic as you’re trying to do something that has not been done before and most of the people can’t even think about those things. Can an ordinary person think about Decision Support Systems or Natural Language Processors (Does that mean we are not normal? I guess one has to be a little offbeat to choose CS anyway :D). Everyone started little. I started when I didn’t even know to install windows. (Okay again makes me feel stupid but who cares.) You’ve come this far why not a step ahead. You need to recognize your own achievements and appreciate yourself even if nobody else does. Be proud of yourself for being wizard Harry.
On the end note; it doesn’t matter where you are; what matters is where you want to be and what you’re doing to be there. (Fine I heard it somewhere. Copied) If you’ve chosen this path then set your attitude to ‘Challenge Accepted’. Don’t let this frustration hinder your way of learning. Find your addiction to work. For me, I take tea and coffee. Be silly, be playful and be proud of yourself. Again this is purely my way of dealing with things. Yours might be different. Choose what suits you best. Happy Coding you all. :)