Answers To Some Questions by TECHRISE Students

October 23, 2016   

TECHRISE students came up with a bunch of great questions to be answered by a Paypal engineer friend. I’m going to interview her later this week, but I thought why not give my own thoughts on these questions as well :)

I couldn’t cover everyone’s questions, but here’s my take on some of them.

When I check out the foreign students, they seem to be getting better education in an IT field and they actually start learning coding or designing from the very young age. For a developing country like Nepal, even for me, I could access the Internet after 12 grade only. How can we compete with the young and talented and more practiced student in IT field if we have to get better than them?

-Sujan J.

Although starting from a young age might correlate somewhat with your ability to write code, there are many people who have started programming after college and are great programmers. Initially the key to getting better at programming is writing as much code as you possibly can, but at a certain point, it is more about the type of content and information you expose yourself to, of which many are free online. In other words, read a lot of good books programming related or non-programming related and expose yourself to more ideas and more knowledge.

On that note, I’m starting to compile a list of resources that I think are really good (list is incomplete):

Startup Resources

Programming Resources

Another thing to note is that being a whiz programmer doesn’t always mean that you are the most valuable programmer in the company - the person who contributes most to the business and can solve problems most is the person who will be valued the most :)

In the end, our job as programmers is to solve business problems, not to write unnecessary complicated algorithms.

What does it take to make a startup into a successful business?

-Yankee M.

I don’t think we can call TECHRISE a successful business just yet, but I believe that it’s really about trying your best to provide as much value as you can to your customers in a way that others can’t. And to do so, it most likely takes tremendous amount of hard work, diligence, and persistence.

We also try different things out and see what works and what doesn’t. We try to study how we can provide value and how we can provide value to more people as well.

What problem-solving skills do you think will help the most once you enter the real market?

-Yankee M.

In terms of software engineering, I think the ability to solve your own problems and learn new things on the fly is really important, since technologies are changing constantly. Another thing that is really important is to be able to communicate well.

How’s Ruby on Rails stacking up against other languages/frameworks in Startups and big companies?

-Yankee M.

In Japan, there is an enormous amount of Startups using Ruby on Rails. I’d say 80% ~ 90% of the startups that I see are using Ruby on Rails. In the US, it really depends on what kind of startup it is, but using Ruby on Rails backend is really popular. Node.js is extremely popular as well, but there seems to be tons of backlash against JavaScript in general because of a lot of reason (google “JavaScript fatigue” for more information).

For big companies, it really depends but Java is seems to be pretty strong is what I hear a lot.

How to stop jumping from framework to framework and become a real programmer not just a developer?

-Rabin S.

Start building a big project or join/intern at a company. When you start an ambitious project, you’re forced to learn more deeply about advanced topics on your own. The hard part is getting to the part where you can actually learn the things on your own, but that’s why TECHRISE is here :)

You can never learning 100% everything about a framework and furthermore, it’s not just about frameworks, you need to learn about software engineering principles, how to write modular and reusable code, etc.

Why is php getting less popular?

-Rojan S.

I think there are a lot of reasons, but what I hear a lot is that PHP has a negative image for stringy, bad code.

Although I’ve never written in PHP, the more reliable sources of information that I’ve read say that PHP itself isn’t bad, but it’s just the people who write it are not always the best. It’s just a matter of probability, because the barrier to entry for PHP is so low. It’s a really easy framework to get started with, thus you have beginner programmers writing really bad code, which leads to the image of PHP = bad code.

The other factor is that other frameworks like Ruby on Rails or Node.js offer traits that lead to more developers using it. For instance, Ruby on Rails = Programmer Happiness and Node.js = Fast and good for streaming. When the growing companies start to use these newer technologies, more people get interested, and as a result, the older ones start to get less popular.

What is the secret of being a great programmer?

-Rojan S.

I’m not sure there is a secret, and it really depends on how you define “great programmer”. But I really believe that there’s no secret, it’s just about loving what you do every day, spending lots of time with it, and reading about code, writing about code, reading code, and writing code. I don’t think I’m a great programmer by all means - there’s always so much to learn, which is also the fun part about programming.

What does an IT company look for before hiring a fresh candidate?

-Rojan S.

It depends on what kind of positions the company is looking to hire in. For example, for senior engineers they might be looking for expertise in a specific technology.

For junior developer positions though, most companies will be looking for these things:

  • Solid fundamentals of Programming
  • Problem solving skills (US companies will test you on algorithms and data structures)
  • Communication Skills (are you a good person)
  • Ability to learn and adapt
  • Project Experience

Big names vs startups? Which one is more interesting and why?

-Aadesh S.

Personally, startups are more interesting (I guess this goes without saying). While I do think joining big corporate companies could be beneficial, it really depends on your goals. I am personally more interesting in trying new things, failing, then trying again and it finally goes well. I’m also personally interested in putting myself in an environment where I am forced to learn things quickly, which startups tend to offer, since you have to do a lot of things yourself. Startups are creating something from scratch, much like coding.

Seeing some of my friends succeed in their startups, I am always inspired to make as big as an impact as them. They started out small and in a matter of months, they grew into a substantial size.

I also wake up everyday pumped to work on making TECHRISE better, and it’s probably something that’s hard to experience when you join a big company for many reasons.

On the other hand, big corporates offer structure, stability, and a brand. If you join one, you will have that brand with you for the rest of your life, which could be beneficial. You will also have some top talents since joining these companies can be quite competitive, thus you have higher quality talent (you do have top talent in Silicon Valley startups and many other startups as well, on the other hand).

Happy coding!