Hey guys, awesome to see all the attention Lambda is getting. I'm a junior in college who decided to drop out and do Lambda's iOS Program, happy to answer any questions! For those who are on the fence like I was I can talk about my experience.
I was always a self learned programmer who made projects in python for fun so I was really excited when I first got to college thinking that I'd be able to make the projects at scale that I wanted to.
But as freshman year ended I realized the department at my school for the most part was stagnant and focused excessively on the theoretical side of CS. Forget learning new frameworks we were still talking about Java at the end of the second year. This was really frustrating as I felt I had lost lot of my creative energy and started to hate coding itself. Thanks to the strength of my prior work and some connections I managed to get interviews for dev internships at some really good startups. I completely crashed and burned. I was not prepared to code under pressure or walk through my solutions with someone watching. I was really disheartened from the experience and contemplated switching majors and giving up on tech as a whole.
7 weeks into Lambda now I can create a pretty sophisticated iOS app, use custom APIs and manage sync with a database backend. I've managed to learn Swift and become decent at reading ObjC which I'm sure I can get better at with time. Most importantly though I feel like I can learn anything or at least logically approach any technical problem and I'm so ready to hit up the interviewers whom I feel I disappointed for a second chance.
Doing this program is no joke, and definitely not for everyone. I find myself coding, reading docs, watching videos for 10 hours everyday and at least 4-5 hours on weekends. From the get go I realized what you put in is what you get out. However the instructors do such a good job of keeping the feedback loop small for what you learn in class to the projects you build that it keeps you motivated to implement the next feature and keeps you hungry to learn more.
> Forget learning new frameworks we were still talking about Java at the end of the second year.
Personally I don't think people should be learning frameworks in school except for elective classes. CS is so vast that there is more than enough foundational knowledge to learn without going into specific tooling.
Learning Java in your second year seems like a problem though unless you mean the class used Java but was focused on teaching other topics like data structures/algorithms/garbage collection.
I agree, I think people now go to universities to find a job, but I don't think that is what universities are meant for. They are created to be a place for higher learning and intellectual pursuits, which is what most CS courses at universities provide (building a network layer, operating systems, etc).
Agreed. On the first day of class at my university the professor repeated over and over that computer science was the design and implementation of algorithms. They would not teach us programming. There was an optional 3 hour weekly lab for 0 credit that the TA's would be doing to help with homework and teach C. The homework was required to be submitted in C. Every computer on campus ran Slackware with Afterstep desktop. They taught everyone to use Emacs during the optional labs also. It was sublime.
I'm a recent CS grad in a programming job now, and to be quite honest - I'm just pretty jealous of all of these schools / bootcamps that are on the up and up. On one hand, there's a part of me that wishes I did something like lambda, and on the other hand I'm just mad that all the work I put into my degree feels worthless. I struggled to understand CS, but I worked hard to get my degree. It's kind of a gut punch when I see people graduating from lambda and getting jobs that pay a $100K plus since they have all the skills needed.
As others have pointed out below, programming is becoming more of a blue-collar field - so maybe lambda is headed in the right direction. That being said, I really liked the academic side of CS! I feel like nobody ever wants to talk about CS theory, ever. Even teachyourselfcs[1], with it's focus on teaching computer science, has no recommendations for a theory book at all. I loved reading Sisper, Automata Theory was my favorite course in college.
I also feel like having a CS education is valuable because you get a chance to learn about low level things that you'll probably never touch in your career, but it's useful to know. I liked learning about logic gates, how a computer is built, how a compiler / interpreter works, the theory behind a computer, etc. I feel like once you know the low-level side of things, you can move past blue-collar type of coding and really create interesting projects. It just sucks that no employer really cares if you know about that stuff. They only really care about projects you've made yourself outside of class (preferably using a framework). None of my classes taught me to do that, and it's hard to do a side project when you're focusing on doing homework.
I apologize for the rant. I'm really happy for you fspacef. I thought about quitting my degree several times. I never got CS on the first try, it took me until 2nd semester of my sophomore year to really "get" programming. I barley passed calculus and I had to retake my algorithms class. I'm happy that you were able to find another solution when college didn't work out. I guess... I'm just jealous - haha.
I know exactly how you feel, I should have made it more clear I have no hate for CS theory. It's how I got into HN in the first place. I also spent the summer of 2017 at Stanford just studying High Performance Computing because I thought it would be fun (it wasn't).
I've always had ideas for projects or softwares I'd like to build but I'd always hit a roadblock that I couldn't learn my way around on my own. This felt frustrating time and again as I felt like I had bits and pieces of the stack but no way to put them together.
I should also add that half of the time in Lambda's curriculum does go to learning CS theory. Lambda has given me a structure and syllabus that has accelerated what I would have probably learnt through college just at a slower rate. The idea that it takes 4 years to learn this stuff seems so arbitrary in hindsight. I do also believe college has it's value and now if I go back I would go deeper into other passions such as Economics or Political Science.
Also I don't think you should be regretful, if you have the time there are part time courses that you could do in another (related) fields example UI/UX or maybe learn another type of programming (mobile vs web, android vs iOS). Good luck!
> Even teachyourselfcs[1], with it's focus on teaching computer science, has no recommendations for a theory book at all.
I am interested in knowing more about this. Could you expand on why you don’t think any of those books are theory? If it isn’t too much to ask can you mention why each one of the books recommended for the different areas aren’t “theory”?
I THINK the commenter was referring to the Computational Theory or Complexity Theory of which they do indeed have no recommendation (Sipser is the common one).
@galeaspablo, sorry I should have been more clear. What I meant is basically the comment above. I highly recommend "Introduction to the Theory of Computation" by Sipser.
As I mentioned in my original comment, I barley passed Calculus. CS Theory is still math, but just... without numbers. The class felt more like solving puzzles, if anything. Writing proofs and doing homework was fun. I regret renting the book, I'm thinking of buying it just to work on the exercises within.
Thanks for the clarification. I think teachyourselfcs is a great resource, and having gone through some of the books and seen their rigor (references everywhere, theory that has taken millions of hours in dissertations/papers/patents/peer review), I would have taken issue with not labelling the resources as part of the theory in the field. After all I am sure CS coursework generally cares about algorithms, data structures, relational databases, operating systems, discrete mathematics, networking, distributed systems, etc.
I was always a self learned programmer who made projects in python for fun so I was really excited when I first got to college thinking that I'd be able to make the projects at scale that I wanted to.
But as freshman year ended I realized the department at my school for the most part was stagnant and focused excessively on the theoretical side of CS. Forget learning new frameworks we were still talking about Java at the end of the second year. This was really frustrating as I felt I had lost lot of my creative energy and started to hate coding itself. Thanks to the strength of my prior work and some connections I managed to get interviews for dev internships at some really good startups. I completely crashed and burned. I was not prepared to code under pressure or walk through my solutions with someone watching. I was really disheartened from the experience and contemplated switching majors and giving up on tech as a whole.
7 weeks into Lambda now I can create a pretty sophisticated iOS app, use custom APIs and manage sync with a database backend. I've managed to learn Swift and become decent at reading ObjC which I'm sure I can get better at with time. Most importantly though I feel like I can learn anything or at least logically approach any technical problem and I'm so ready to hit up the interviewers whom I feel I disappointed for a second chance.
Doing this program is no joke, and definitely not for everyone. I find myself coding, reading docs, watching videos for 10 hours everyday and at least 4-5 hours on weekends. From the get go I realized what you put in is what you get out. However the instructors do such a good job of keeping the feedback loop small for what you learn in class to the projects you build that it keeps you motivated to implement the next feature and keeps you hungry to learn more.