(This post is mostly applicable to Software Engineers in Bangalore with 0 – 4 years of experience, but I’d like to believe there is something in it for everyone. It contains a lot of [mostly informative] links, which are its true purpose, but by no means do they form a comprehensive list. I’d like to thank the respective authors/creators for their hard work and inspiration. The views expressed are my personal, representative over-generalization and are not intended to single out any individual or company.)
We’re Living in Startup Decade
Never before in history has this planet witnessed the co-existence of:
- So many people with innovative & creative ideas to solve problems;
- The mass availability of education, tools & technologies to turn their ideas into reality;
- Such a large number of rich people looking to get richer by risking investments in the problem solvers’ ventures, a.k.a. Startups.
I’m not just talking about “tech”, “web”, “internet” or “IT” startups (which is the popular usage), problems being solved and new markets being explored by startups include mobile banking, solar power and curated fashion products, not to mention anything that can be sold or re-sold online (a.k.a. e-commerce). Although the term “startup” is fairly recent, the concept isn’t new: 30 years ago if you couldn’t get a government job and rented a shop to sell your cousin’s home-made jewellery instead, you were an entrepreneur. The only difference is that now startups have
become fashionable gained popular recognition.
Consider the statistics: last year, 1200 new technology companies were started in Bangalore alone. Many of them were funded. Some of them probably won’t make it through to the end of this year. Yet others will pivot as they struggle to narrow the gap between the need as perceived by them vs as perceived by their customers. But by any standard, this is a large number of companies to be starting in one city in a single year (Bangalore ranks 19th in Startup Ecosystems globally).
With all these opportunities around, is a 9-to-9 job at a well-established “corporate organization” (that typically still works on principles established decades ago) the best use of your time & skills? Take a few minutes to reflect on “Why I Quit A Six Figure Job” and “Doing What You Love”.
While we’re on the topic of figures, starting salaries at most large organizations (You know the ones I’m talking about, the ones that established a thriving “outsourcing” ecosystem many years ago but neglected to evolve further, with the result that in 32 years of IT they produced zero software products, only services. But there is hope yet.) have remained stagnant for the last 4 years, if not more. The unabated rise of Social Networking has made the concepts of “individuality” and “personal branding” popular, accessible and increasingly, a replacement for traditional thought. Unfortunately, organizations of yesteryear are still struggling with that concept. They are still looking for “skilled resources”, whereas the rest of us have moved on to become, well, human beings with personalities, interests and capabilities beyond skills granted to us by formal education. Which is probably why applying for jobs doesn’t really work that well anymore.
Small, Specialized & Smart Companies are the Future
There was a time when government jobs were considered secure. Then massive organizations employing hordes of engineers became the employers of choice (not just for the engineers, they also brought up ancillary administrative & support industries such as transportation, security, food, facilities management and so on). In today’s unpredictable economy, you’re fooling yourself if you think any job (or investment) is secure. For a deep long-term view, read this. When a planet’s resources are stressed by a single overpopulated species, unexpected outcomes occur. Therefore, work for a startup. Chances are that your job, as long as you have one, will be more satisfying than any other. It is also more likely that you will be solving a real problem rather than an imaginary one (imaginary problems are the ones that created by overstaffing, micromanagement, megareporting, multitasking, email ping-pong and customer interfacing by the wrong people at the wrong time).
So Where do I Start?
Boy, am I glad you asked.
The very foundation of the digital age is Networking. Not just networking as in the Internet. Here, by networking I mean the kind that involves stepping out of your comfort zone, going to places (events) you haven’t been to before, talking to people you don’t know, and most importantly, remaining in touch with them. Diversify your personal network into newer areas, technologies and ideologies. Give something back, help other people out and remain active all year round. If your LinkedIn activity suddenly grows 300% around the time you’re looking for a new job, you’re not networking, you’re leeching. On the topic of LinkedIn, (a) please be considerate: who you choose to add also reflects on those already in your network, and (b) please don’t be discourteous: e.g. don’t request someone you just spent 15 minutes with to write you a recommendation.
LinkedIn is not just for working professionals. Even as a fresher (or student), you can showcase Projects, Test Scores, Certifications & Skills, besides joining special interest groups (which exist for virtually every professional topic imaginable). Besides LinkedIn, you can get expert answers at Quora and StackExchange.
In the real world, here are a few events you can check out: BarCamp Bangalore, Startup Jobs Fair, Unpluggd and of course, always keep an eye on HasGeek. Look out for interesting events happening at co-working spaces like Jaaga. Bangalore is also proud home to several accelerators, such as Microsoft Accelerator, GSF and Kyron. Make yourself known in these circles as a smart person with skills, and you might just find an opportunity of a lifetime (startups are always looking for cheap labour 🙂 ). But let me tell you that “Myself XYZ, looking for a job” is not the way to go about it. We’re talking non-traditional methods here, and they work best through sheer serendipity.
Finally, when an opportunity presents itself, grab it.
2. Other Non-Traditional Job Sources
When was the last time you met someone who got their current job through Naukri or Monster? I can’t recall. Try the more relevant HasGeek Job Board instead. Keep yourself abreast of the latest happenings and trends in the startup ecosystem through NextBigWhat and YourStory. Get in touch directly with founders and co-founders of fresh companies that interest you, using a creative approach that convinces them that you can add value. Even if they don’t hire you, they might refer you to another startup where your skills are a better fit (because entrepreneurs network, too).
3. Building Skills
If you’re stuck in a dead-end job doing something (or nothing at all) that is not relevant to your educational background, past experience and/or future aspirations, fear not, you are simply experiencing real life. The good news is, with an Internet connection, a little bit of self-discipline & motivation, and lots of coffee, you can learn any skills you want. Online courses started catching on from the time when MIT put their courseware online (M as in Massachusetts, not Manipal), and gained traction with Edx, Udacity, Coursera, Khan Academy and the like, and have gained such popular recognition that now you can get actual credits for them. You can use these courses to pursue technical competencies, management skills, design expertise, communication skills, foreign languages or anything else for which you haven’t had the opportunity yet.
Next, there are millions of Free and Open Source (FOSS) projects out there, to which you can voluntarily contribute (why?) as a Developer, a Domain Expert, a Tester or just help out with Documentation & Translation. No matter what the size or scope of the project (ranging from small hobby projects to the widely used Firefox Web Browser). Moreover, just about every major platform in use today supports Apps (e.g. iPhone, Ubuntu and Facebook) or add-ons/extensions/plug-ins (e.g. aforementioned Firefox, Winamp and GIMP) which anyone can develop freely (in every sense of the word). You can start by exploring SourceForge, GitHub and CodePlex for projects either of your interest, or an area that you would like to build competency in. The possibilities (and repositories) are literally endless, including, if you’re feeling adventurous, to kick off your own project (you can even crowdsource the funding if you need it). Try as much as you can to stay active in the community and remember to continue to give back (if possible, more than you take).
If you already work for a badly managed organization that has put you in front of a computer with nothing productive to do, please get the hell off Facebook, YouTube and E-mail and try your luck at TopCoder, CodeChef or TechGig Skill Test instead. There really is no reason for you be frustrated with your employer if they have given you free Internet with access to such fine resources as HackerEarth. If you’re good, you can even make some extra money on the side while sharpening your skills on sites like oDesk, Freelancer, Elance, Guru, ProgrammingBids and Projects2Bid (or you can just do it for a noble cause). We don’t yet have such interesting programs as Hacker School, Tech@NYU, Code Club and DevLabMTL in India yet (an opportunity for you?), but there are resources to learn just about any type of programming skills, whether general or specific. And once in a while, you will come across something potentially life-altering like the C42 Launchpad. No matter where you are in your career, I strongly believe you should always be working on one (if not more) side project. And you don’t have to be a programmer or a techie, voluntary opportunities exist for every type of skill set.
If you are a programmer though, remember:
1. The best programmers in the world are self-taught (for example the ones that write mind-blowing game engines)
2. There are only two ways to become a better programmer: (a) Read code and (b) Write code
Companies of any size tend to keep their employees deeply rooted in their own culture, processes and practices (how else would they get work done?), so make sure you keep yourself up-to-date on the latest advancements & thoughts in your field of work (some useful links for software engineers are on the right). If you don’t already, use modern tools like Twitter, Feedly & weekly newsletters to filter the information inflow. With a little bit of luck though, you can actually use this to your advantage: Look around for opportunities for improvement within your own team or department, and offer to build smalls tools or utilities, e.g. to automate a laborious review process (This concept is called “taking control of your own destiny”). What better way to learn an emerging language, platform or paradigm?
Finally, don’t hesitate to showcase the above in your CV — your initiative to go beyond your circumstances (i.e. bad fit in your college or first company) will make all the difference.
Let me take this a notch up and say if that you think you have an idea that no else has thought of yet, start your own company. Not everyone can do it, and if you think you can, there is no reason why you should not. Besides the greatly increased freedom & and sense of self-worth, in India it has the added advantage of being able to generate [meaningful] employment. If you think you’re not ready yet, identify your weaknesses and work on them.
More than anything, think big and consider the possibility that the primary function of everyone else on this planet is to prevent you from achieving your full potential (because just about everyone you meet will discourage you). Life is too short to be stuck in the wrong job, and this is the only life that has been proven to exist. Make it count… Good luck.
Update 1: June 28, 2013
After having discussions with a few people who read this post, I’d like to emphasize that in order to achieve the above you first need to get organized. At the very least, do you use a decent mail client (as opposed to web mail), keep your bookmarks organized, use a calendar to stay focused, have a system to manage your tasks, an offline and/or online method of keeping notes, a means to collaborate with others and maybe even keep track of where you’re spending your time? Or something else along these lines?
Update 2: July 01, 2013
If you’re a reasonably good programmer in any one language, you can learn another one in a few minutes.
Update 3: July 06, 2013
Programmer. Come work for us. (Bring sense of humour.)
Update 4: July 18, 2013
Dr. Dobbs summarizes the most relevant advice for new programmers here.
Update 5: September 24, 2013
Update 6: January 04, 2014
Update 7: March 16, 2014
Update 8: August 24, 2014
- “it’s not just costs that are at historic lows. So, too, is the level of competence required to engineer a product.“
- Why I decided to make the leap