← Back to Upcase

Technical interview


(charlieanna) #1

After going through one of the podcasts https://learn.thoughtbot.com/giantrobots/59, I wish to know more on this topic of becoming a better developer If I want to handle product development and wish to get into a product based software development company

How important is it to be good at algorithms and designing effecting databases? I think these things come down to improving performance. And how do they rank in front of testing or writing beautiful understanding code.

I was surprised to hear Joe say that he doesnt think being good at algorithms is an add on because imany algorithms can be search on stackoverflow.
Instead he sees how someone attacks a problem and how much he is willing to learn.

But then should I focus on learning algorithms and database designing or in developing the whole product from end to end to become fulll stack developer if I want to get into a product based startup/mid level company


(Joel Quenneville) #2

Most web applications are written at a higher level of abstraction and don’t require a knowledge of algorithms. For example, if I have a an array and call sort on it I don’t need to know if it uses a merge sort, bubble sort, binary sort some other algorithm.

I would say that

testing or writing beautiful understanding code.

and

developing the whole product from end to end to become full stack developer

is definitely the most valuable. Databases are part of that full stack. You don’t need to go too deep at first. A familiarity with SQL and basic normalization will take you a long way.

To answer you question:

  • Test-driven development is a vital concept that should be added to your toolbelt
  • Being a full-stack developer will make you much more hirable than knowing algorithms. This includes knowing databases on the back end and javascript on the front end.