Why learn closure when I could be learning Node or React?
We give talks to some of the most sophisticated engineering teams in the country. We see people trying to understand concepts like Node and the module pattern while implementing memoization and debugging asynchronicity.
But without closure, their understanding of these concepts was always limited.
Becoming a developer who has mastery over their tools requires understanding what’s going on under-the-hood.
Learning new topics is about combining existing units of knowledge in new and often complex ways. If you’re missing one of the core units of knowledge you cannot build up to more complex concepts. You have to ‘hand wave’ the way professors would at college when they say “It should be clear at this point”.
True mastery means understanding the core principles and building up from them. That being said, being a developer is about having to make things work without understanding everything.
They call it choosing your ‘level of abstraction’. You cannot understand everything down to the silicon.
But that’s not the purpose of this course. The purpose of this course is for you take time out of ‘making it work to meet deadlines’ to truly understand a concept that will allow you to accelerate all your future engineering.
Every time you understand something deeply it’s an investment for the future! It’s like building a system that’s more flexible and ready to scale. It’ll take time but it will pay off in the rest of your engineering ⏱.
Closure is that building block that all the other concepts sit upon. 4 of the most important areas of modern programming rest on it:
⭐️Professional-grade functions like memoize and once to write cleaner and more efficient code
⭐️Design patterns like Node’s module pattern (the CommonJS pattern)
⭐️Functional programming techniques like partial application, currying and monads
In college we would always sit in lectures and tune out thinking we would figure it out for ourselves later. That’s fair - you have to take the knowledge you’re presented and make it your own by going through challenges and building your own mental models
BUT - what if we had been made to engage in the talks by being called on, we could have got so much more out of it - we’re going to take that approach in this course.
Will and I have taught 100s of workshops between us and whenever we were trying to explain these complex concepts we were drawn to take a pen and try to diagram it out.
That’s what we’re going to do in this course - visualize every line of code as it runs.
There are no mysteries in programming if you don’t skip steps!
We’re going to develop a mental model of closure that’s intuitive but built from scratch
If you have 10 years of experience it’ll join the dots behind the scenes of many of the concepts you use daily.
It’s not a bad thing either that one of Google’s favorite interview questions is ‘What is closure’ - this is the concept that can truly test your understanding of the language.
You will follow along with four other developers as we lead them through the code and as they hit blocks, ask questions and have them resolved (in something like the socratic method).
By the end of this course you will:
⭐️Improve your technical communication
⭐️Have a set of professional techniques for writing more maintainable code
7 units from basic to advanced
Phillip Troutman is a Senior Fullstack Engineer and Lead Instructor at Codesmith NYC - an immersive software engineering residency. Phil is a prominent invited guest speaker and instructor in the developer community. Prior to Codesmith, Phillip specialized in security system design patterns for hardware and software for the Department of Homeland Security. While Phillip is passionate about all aspects of web development he has shown a particular leadership in improvements to React.
Will Sentance is co-founder and CEO at Codesmith – a software engineering and machine learning residency based in Los Angeles, New York, and Oxford. He is the creator of Icecomm, the most famous developer platform for P2P video and data communication. Before Codesmith, Will was CEO at Ownly and a Software Engineer at Gem. Will graduated from Oxford University and Harvard University.
What if I don't like the course?
We have a money back guarantee. Shoot us an email at firstname.lastname@example.org with why the course didn't work out for you and we'll refund you as soon as we can.
This course builds on the Hard Parts closure course but goes into significantly more depth especially around once, memoization and the module pattern.
What level should I be at to take this course?
The course is designed to take your from first principles up to advanced implementations and so can work for engineers from beginner to expert level.