Drooling over lazy weekends, unable to find an idea for a weekend project, I happen to crash into this on Twitter. Some crazy, yet sensible advises gushed in, making this inactive mind think and agree. One such significant portion was this article. Read it. No, seriously. It changes the way you think about the things that have come into this world from the digital mind.
Developing code isn't an easy job. And optimizing it isn't easier. Let us first write some lines of code, no matter how complex we think. It then boils down to editing, reviewing and rewriting code. Only then, the so-called, "Design Patterns", "Principles", "Scalability" and other nonsensical tech terms pop in. You cannot just think about writing an interface in the first instant!
All you need is some idea to begin with and a language to start communicating with the computer. Be it any language of your choice. You might be wondering whether it'd help in switching for a better career in the market. Truth is, the job market out there is weird and extremely complex. Everyday, the job requirements change, urging you to learn them just to "stay in the herd". Fact is, it doesn't matter. Nowadays, people look at how you think rather than what you used. This principle is what I've noticed in startups, to an extent.
I thus stuck to Java. It might irritate the Python lovers but let us keep the language wars aside. Learn a language properly and then think about switching, if it isn't serving the project's purpose. And yes, let us keep those rules aside and write some code. Please. And interviewers, stop asking the basic Singleton pattern or Factory pattern in your interviews. Most of the code these days don't work in that line!