Tuesday, February 19, 2013

Todo

1.  Possibly invest in OAuth

2.  Become a 10x programmer
2b.  Unless being 10x involves finding and using other people's shitty code.  If that's what it takes, I'd rather not be a programmer.


How

First list I found that doesnt suck (well, not completely):  http://www.listry.com/list/93005/tips-for-being-a-more-productive-programmer

 --I've already wanted to keep snippets of android code lying around.

Another ...well it has at least one good idea (turning off email):  http://vimeo.com/7721974




Except most of the people writing articles about being more productive are stupid.  Here are some rebuttals to dumb shit I see.

1.  Code Reuse is overrated.  Some other guy somewhere wrote a poor implementation of something, didn't comment or document it enough, and now you're supposed to go spend time learning how to figure it out.  Worst case scenario, it takes longer to learn this shitty implementation than it would to write a better one, and using it in your project marries your project to that implementation, which will cause great pains later when you rip it out.  The biggest example of this is the reliance on ridiculous service frameworks at my previous job.  I was overjoyed to arrive at my current one and find out that the devs were smart enough to use HTTP.

2.  Commenting Code is a Good Thing that brings balance to the force.  This idea that code is self documenting, and this idea that comments mean you need to split a function, is complete bullshit.  People who dislike commenting are either lazy or misunderstand their purpose, thinking that they are being asked to document the "how" of the code.  I can already see the how.  I'm reading the fucking code.  I need to know why you did that.  Oh, are we deliberately misspelling that word because someone wrote a shitty service that crashes when we spell it correctly?  That needs to be in a comment.

3.   100% Unit Test Coverage?!?  You are a fucking moron.  Not only should 100% test coverage be impossible in SOA without making network calls, but somewhere between 70 and 80 you've crossed a dangerous line and have begun wasting your time writing unit tests that verity methods are throwing exceptions for null arguments.  If you need to write unit tests to know that your null arg checks are working, you picked the wrong fucking line of work, pal.






Increasing Productivity

1. reduce distractions
1a. disable email and other notifications, turn phone off
1b. music to keep environmental noise out
1c. some kind of Do Not Disturb sign on my door??

2. fake meeting on tuesdays so i can code

3.  deep knowledge of language?  Will this actually make me faster?  Maybe deep knowledge of platform (android)

4.  possibly find better tools (vim for visual studio?)

5. solving problems by hand makes you dumber?  automation / time boxing / r.o.i. / efficiency / avoid total wastes of time

6. weird thing about "not programming" -- but I've heard of this bridging-the-gap concept before



There may be a flaw in all of this 10x bullshit--I think the studies measured performance using lines of code, which is awful.  Some of my best programming has added negative thousands of lines of code.

No comments:

Post a Comment