Relentless

self

development

Suneel Chakravorty

Thoughts on learning to code, startups and personal betterment.

github

linkedin

Why I Didn't Want to Be A Developer

I always had a strong aversion to the idea of being a developer. From what I saw on TV, the life of a software engineer did not seem glamorous or interesting at all.

But I wanted to do my own startup and knowing how to code is a game changer. So, despite my baseless prejudices, I took a shot at being a developer, and it's been more thrilling, rewarding and empowering than I ever could have imagined.

Here are the main misconceptions that almost prevented me from entering this amazing world of technology and startups.

1. A developer mostly does boring things like fixing bugs

Whenever I used to think of software engineers, I imagined all they did was fix bugs. My CS friends complaining about hours of debugging only corroborated this. Programming sounded extremely boring, but I now know that it's quite the opposite.

As a developer, I get to work with powerful technologies and build awesome features that have the potential to affect thousands of people. My teammates and I create cool open source projects that are intellectually challenging and benefit the community by solving important engineering problems. It's super exciting!

2. The “idea guys” have the most impact, not developers

I want to be a founder someday soon, so it made sense to me that I should be concerned with “ideas” and “strategies”. But there’s no one at a startup whose job is to be the idea guy; everyone is a doer.

Especially in the early stages, it's the developers who make the most impact, because they are on the front lines, building and changing the product. Being a developer is more than just writing code. It's about coming up with ideas and actually implementing them.

If anything, becoming a developer has actually made my ideas more potent, because I now have the ability to realize them.

3. To be a developer, you need a CS background

I loved pure math and languages, so that’s what I studied in college. I thought that I needed a computer science background to be a developer, so I never really considered it as an option.

You don't need a CS background. These days, there are so many great resources to help beginners learn to code. I don’t have a CS background, and the same is true of some of my fellow developers at Yipit. Learning to code wasn’t trivial, but after 6 months of focused learning, I was ready to apply for jobs as a junior developer.

Over the last year, I’ve also been seeing this trend among my college friends, whose majors ranged from Economics to English. After graduation, they decided they want to become developers, so they started learning how to code. They’re loving it and are actually becoming proficient!

4. Being a developer doesn't prepare you for entrepreneurship

I thought developers were just drones who sit in a room and write code, more technicians than founders. I couldn't have been more wrong.

Developer culture is very entrepreneurial. Most of my developer friends are always working on a side project or participating in a hackathon, where coders dash to build an app or a website, sometimes within 24 hours. It’s great practice for doing your own startup.

Most importantly, these technical skills have empowered me to translate my ideas into reality. Now that I'm a developer, I feel more prepared than ever to be a founder.

Fellow developers, what mistaken notions did you have about being a coder?
Non-developers, what’s holding you back from trying it out?


The 2 Biggest Mistakes I Made When Learning to Code

One year ago, I was fresh out of college and determined to take on the real world. I had so many startup ideas that I wanted to bring to life. But, I didn't know how to code.

Following the advice of Vin Vacanti , Yipit co-founder, I began to teach myself to code.

While I eventually learned enough to build my own prototypes, it was a rocky road. If you're on the same path, I hope you can avoid my mistakes.

Mistake #1: I spent too much time learning things that I didn't actually need

I had no clue where to even begin. There's just so much out there , so many buzz words and so many competing viewpoints that it was hard to get a sense of what was important. After trawling Hacker News, Quora, and StackOverflow and randomly pulling terms from the most popular articles, I came up with this crazy, hodgepodge list:

HTML, CSS, AJAX, PHP, Javascript, Heroku, Celery, SQL, jQuery, Django, POSTGRES, nodeJS, BackboneJS, Ruby, Rails, MongoDB, Python

I didn't know which components I needed and which ones I didn't, so I just tried to learn all of them.

I should've narrowed down the list to only what I needed for a working prototype.

Ultimately, I figured out what everything in the list actually did and reduced it to:

  1. HTML: structures a page’s content (e.g., this is a link; that is a title).
  2. CSS: styles the content (e.g., makes a link turn bold when you hover over it).
  3. Javascript: makes the content dynamic (e.g., launches a popup when you click a link).
  4. jQuery: a Javascript library with easy-to-use plugins (e.g., a picture slideshow).
  5. Python: processes the data (e.g., pulls users’ purchase histories from a database and recommends products they might like).
  6. Django: a web framework written in Python that connects all the above pieces and provides a lot of built-in, necessary functionality (e.g., a readymade login system and an easy way to access any kind of database using just Python). Use a framework. It makes your life easy!

Mistake #2: I didn't start coding right away.

I spent too much time reading coding books. I had no assurance that what I was reading would actually be useful for my project. Worst of all, because I wasn't applying what I was reading, nothing even stuck with me.

I should've learned by working on small projects from the very beginning.

  1. Actively take some tutorials and code the examples. David Sinsky, a fellow Yipit developer, has some amazing suggestions.
  2. Pick an easy project and code it. Try creating a simple blog or a basic polling app.
  3. Repeat #2 a few times.
  4. Build your startup prototype.

There are so many benefits to jumping right in. You'll quickly get over any fear you may have of programming. You'll start seeing the fruits of your labor right away. Most importantly, you'll rapidly develop the skills you need to build your product.