As some of you might know, I have been doing a web development immersive at General Assembly in Washington DC. It is a 12 week program and this is week 12.
I did originally want to blog about my experience throughout the course but quite frankly I was in class from 9-5 and then by the time I finished my homework and got home, it was already 9pm. Weekends were spend coding, sleeping and more coding. I did do some microblogging through twitter but this is my attempt to collect my thoughts into some more detailed posts.
Pseudo Code First, MVP Next, Refactor After
Going out of this order is dangerous. So much time can be saved by:
Accurately pseudo coding so that you can break down the problem into manageable components.
Build your MVP first! Trying to pre-maturely refactor something that doesn’t even work means you may never build a solution. Wet code that works is better than no code.
Then, once your code is working, refactor for efficiency, DRY and fun.
That CSS though!
CSS is so much manageable with SASS but man is it still hard! However really well laid out websites are so important for great user experience and conversion it is not to be overlooked! CSS animations are even harder. Physics calculations to have realistic object movement is pretty intense, but not impossible. Also, there are physics libraries you can use too.
Find that Balance between Work and Rest
10 – 12 hours a day of learning and coding is tough. Sleep is going to become a scarce commodity (its like college but worse). There is diminishing returns on continuing to code late into the night and the opportunity cost of being tired the next day and not being able to follow along. You can always code more on the weekend so stick to a bedtime and it will help you in the long run.
Cook all of your Meals over the Weekend
I for the most part cooked all my meals for the week over the weekend. This can save you a significant amount of money! In DC, lunch can be $5-10 and dinner $8-15. Over the course of a week, that can be $65 – 125 a week.
Git Init and Commit Often
Use GIT! You can thank me later! Having working code that if you break you can just revert back to the previous commit is a god send. Think about your childhood. Wouldn’t you save your game before a boss fight? That is what adding a new feature to your code is like, a boss fight. You might lose, but that is what git is for.
Console Log / Print as you Go
Weird errors driving you crazy? Make sure it is sending the information you are expecting it to. It could be sending a string instead of a integer or nothing at all. Console log / printing the results can help you quickly diagnose problems in your code.