Continuing from my previous post, I’ll be listing 10 more thing I learned from working at Web Development Company. Whats that? I only could do 3 last time but I’m shooting for 10 now? Like most things I do, there is a method to the madness. I read “Choose Yourself” by James Altucher the other day. One of his many many tips is to exercise your brain. You do this by listing 10 ideas on anything everyday. He notes that anyone can do 4 or 5, but 10 “makes the brain sweat”
I’ve been doing this practice for the past week, and boy has it tired out my brain. Doing it on an empty stomach does not help. One thing to note before I start, he warned in the book that your ideas will be horrible at first, they only get really good in 6 months or so. So if you find my list stupid, thats why.
So lets get sweaty!
1) Things always go wrong. I touched on this in my last post. Every time I pushed code into production, I’ll spend many many minutes (hours) frantically repairing stuff. Sometimes while the client was checking the website out. I wasn’t smart enough to write tests from the beginning. Learning to write tests is definitely on my to-do list.
2) Funny I mentioned to-do lists, cause my next point is about them. I don’t think I get the same benefit from to-do lists as other people seem to do. I’ll write things down on a piece of paper and promptly forget about it. Or I’ll write too many things, can’t decide which one to do and do nothing. I’ve started replacing my to-do list with a To-Do Thing. Where I usually just choose ONE important thing to do. Once I finish that. I create a new To-Do Thing. This has a bad side though. Sometimes after completing my Big Thing, I coast for the rest of the day. Usually when its almost 5 and I’m out of juice. So like all time managing/productivity techniques, the best time to do this is “it depends”
3) Documentation in software could really use some upgrading. I’m not sure if its because I lack intelligence or they did a half assed job. I bet its the former. Whatever, it would be nice if popular API’s had good,easy to follow examples. That there is a niche an aspiring blogger can fill…..
4) Making things simple is way harder then it sounds. I can’t remember the number of times I’d try explain something to my coding partner and he’ll just say “whaaaat?” Its true explaining things in a coherent manner isn’t one of my strong suits. One thing I’ve tried to do is to start from the very beginning. After that, while speaking slowly, build on that and explain the next point. Metaphors should only be used when you have the listeners full attention. That is pretty rare in this day and age.
5) Requirements gathering is really important. I know this sounds obvious, but its worth repeating, Really Important. In the Pragmatic Programmers, they talk about contracts and how they “protect” both sides. All I can add to that is yes. Make sure all requirements are gathered and agreed upon. Its also a really good idea to show stuff frequently to the client. At least keep them in the loop. That way they feel less anxiety (hopefully) and they can point out mistakes or modifications early
6) Keeping with the topic of clients, I got to learn to talk to them better. I need to learn laymans language. Whenever I said something I could tell it was too technical for them, but I couldn’t help myself. This ties up with point 4, it’s probably a level above. If you can explain things simply to a client in a way they can understand, then you should have no problems speaking to a co-worker.
7) Front-end is hard. I’ve always loved doing back-end development. Working on cool data structures and algorithms. I thought it was challenging enough. Little did I know the horrors of front-end, when the client gives you feedback saying “button not green enough”. I’m sitting there thinking “There’s more than one green?”. I admit I lack aesthetic sense. I can barely differentiate between a color and light of a specific wavelength entering my eye. I have to say though. I’m fascinated by how certain designs can make people “feel things”. If its true, its borderline mind control. Like I watched a designer working on a logo. And the client was like ” I want this logo to make people feel this and that and this…..”. I was gobsmacked. I mean, I’ve heard about “A picture tells a thousand words”, I didn’t think it was literally true!
8) Do learning on your own time. I noticed I didn’t have much time to learn much while working, usually cause we were chasing a deadline or two. Although I’ve done plenty of things on the job, I didn’t spend lots of time really getting to know it deeply. There was always something new to create or fix. I’ve heard about how learning doesn’t happen much when you’re panicked and under pressure. And I’ve noticed the things I did didn’t “stick in the brain” much. I usually have to review what I did at night. Which come to think about it, that was what I did at the Bootcamp
9) Speaking of Bootcamps, mentors are priceless. To actually be able to learn from someone senior is a luxury unavailable in my workplace now. (Not the companies fault, its still new) So every so often we go back to the scene of our Bootcamp to hang out with the mentors and ask them questions. I noticed though, most of my problems, the ones that I really get stuck on. Are usually due to carelessness. A hidden typo, An uncapitalized letter, little things like that. Perhaps its less to do with mentors and more to do with my own carelessness. Having said that, its still pretty cool having someone you can go to for advice.
10) Which brings me to my last point. This has been bugging me for a while. We don’t really have much in the way of Best Practices in our team. We barely have Practices. Its more of a “Make Things Up As We Go Along” thing. I know Best Practices can be overused and are not applicable to every case. Still, it would be nice to have some guidance on what we do. If only to make the whole app consistent. One of these days my big To-Do Thing will be to create a list of Best Practices Guidelines. (Or even Better Practices Guidelines) Instead of the big ball of mud generator I have now.
Whew! 10 things! My brain is pretty sweaty right now. That was a good exercise though. It was pretty fun too. Until next time