Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Learning how to program in IoS is such a small part of software engineering, and probably does not even constitute computer science. Simply put, you don't know, what you don't know.


I don't mean that by learning to develop for iOS I have learnt what I could have learnt studying at University. I think that everything I have learnt in the last few years which I wouldn't have had I attended University has/will be vastly more important and useful.

I could be wrong, there are still many years ahead of me, but I think what I have gained by not attending University is much more than what I would have gained by attending it.


Don't mind the mean guy or the down votes.

If you want to learn fancy stuff, you can read books on your own time -- and watch video lectures from universities and other sources -- and learn it faster, more efficiently and more pleasantly than you would have by attending school.

He's right that there are various important things you don't know right now. But:

1) you might never need to know them, it really depends on your career trajectory, life priorities, etc...

2) if you had gone to school, there would still be plenty of gaps in your knowledge anyway

3) you can address gaps in your knowledge whenever you want without going back to school. Non-school learning is possible and effective.

4) Learning advanced CS topics -- and really understanding what they are for and how to use them and other useful stuff -- is a lot easier with some experience as a programmer like you're gaining.


I didn't mean to be cruel.

Self-Doubt is most likely going to be the driving force for him to get through the fancy stuff on his own. However I want to be known learning to program != cs.

Being confident in your own knowledge can often stops you from learning more. I often doubt my own knowledge, I often feel worried if I meet someone else because they expose me for the fraud I am. This keeps up the knowledge hunger.

I was young hackery type when I was a kid(I wasn't particularly academic either), trying various programming languages(C, Scheme, Haskell), building games(Even 3d), exploiting software with buffer overflows, maybe some malicious hacking(I was curious) and generally exploring computing. This made me over confident in my ability. Then the academic community completely showed me up, they showed me how little I know in terms of theoretical cs. Destroyed my confidence. They don't even respect the skills I had, they're not academic skills. This made me doubt myself, and to catch up on the academic side of cs. This taught me the lesson of being overconfident. Actually changed my attitude to approaching other computer guys too from "I'm the best", to "this guy might know more than me".

This made me impulse buy copies of don knuths books =P. My math skills also received a serious boost when I realised that was needed too.


What have you learned? Learning how to create software and learning computer science are vastly different.

In software you learn design patterns, good practise, basic data structures(So they know when use a linked list or an array in different situations) etc It's very relevant to business programming

In cs it's algorithm analysis, advanced data structures, AI, machine learning, mathematical logic etc

However I eventually found that cs becomes useful in designing software. It helps in choosing what data structure, or what algorithm. It gives an edge which you don't even know about unless you've been exposed to it. If I have to(Which isn't often) I can rigorously calculate the Big O growth rate of a function as opposed to just guessing(By looking at the loops). I suppose you could just benchmark...


Yes, learning some programming to be an iOS developer isn't enough, but that doesn't mean that guys like k-mcgrady can't learn on their own. Keep it up, man!

I know a programmer that knows so much of language and compiler theory he is always a source of knowledge and inspiration to me. He has a university degree in... accounting.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: