How Can I Take My Coding Skills from Intermediate to Expert?

https://news.ycombinator.com/item?id=18019495
by JoHawth31 • 8 years ago
25 8 8 years ago

I started coding about 4 years ago but I feel like I'm in a bit of a rut lately. I understand the basic building blocks perfectly, but higher level concepts, for example, abstracting the database away through an interface layer so that we may achieve proper unit testing in Go, are much harder for me to figure out. I understand WHY I need to do this, and I understand what is going on on a high level, but I get a bit lost when it comes time to implement. All the unit testing examples out there show examples of how to unit test a function that squares an integer. That has zero real world benefit to me. How would I unit test an http handler func that is the entry point for a RESTful API? I need to do authentication, database access, and return some JSON data. How do I keep the test as one "unit" when I need to do all of these things?

I feel like there are some intermediary steps or knowledge that I am lacking, where a more senior engineer would be able to figure out how to do unit testing in a real world app based on the squaring function alone. Again, this is just a singular example, but the theme is pretty consistent across any higher level programming challenge I come across.

There are plenty of tutorials out there about how to learn PHP (yuck) or JavaScript for newbies, but there are surprisingly few resources for people interested in becoming experts. I'm the only technical person at my job currently, so asking senior engineers for help really isn't an option. Where do I go to fill these gaps in my knowledge? Are there other engineers out there that felt the existence of a "skills chasm" that they had to cross? How did you do it?

Related Stories

Loading related stories...

Source preview

news.ycombinator.com