Hacker News new | ask | show | jobs
by NamTaf 3264 days ago
Experience. Pure experience.

Once you work in a domain enough - pretty much any domain - you begin to intuitively understand the assumptions that others in the field make. In the case of reverse-engineering the API, he would be able to take an educated guess that eliminates 95% of the possibilities because he can think of how he'd design the API, which is probably close to how other competent people would do it too. That experience is invaluable in making rapid decisions that are going to be 'close enough' a lot of the time.

W.r.t the UI, if you have a package of choice that you use frequently enough, you begin to be able to piece together the building blocks quickly. You have all of the boilerplate code required to make it work more or less committed to memory or, at the very least, in other examples that you can just copy/paste and modify.

Uni isn't really about this experience. The coding you do is essentially just a domain-relevant conduit to help you learn and demonstrate competency over the theories. Uni is usually about the theoretical, not the practical, and that's why a common complaint is that uni teaches stuff that isn't relevant to the 'real world'. What this complaint misses, though, is the ancillary benefits you gain through understanding the theoretical, which isn't necessarily easy to quantify.

In summary, don't be disheartened by the uni stuff not reflecting what you see in reality. Think of it as (an important) half of the puzzle. The other half is the practical experience you pick up along the way. In uni, this is probably going to be side projects - stuff you code and throw in Github and then mention in your resume. In later life, it's your professional work experience. This is no different to other technical disciplines - mechanical engineering, for example, teaches you theory but then undergrads go and do Formula SAE or other undertakings to get that practical experience.