I recently read a post over at ZenHabits, that resonated with me. It was a guest post by Seth Godin which talked about a term coined by Steven Pressman, called “the resistance”.
The resistance is that little voice in the back of your head, the one that tells you that it will never work, the one that insists you check your email one last time, the one that worries that people will laugh at you.
What I’ve found very interesting about this article is that I’ve heard this voice. I don’t listen to it much, but it becomes louder when I talk to some people about starting a business or louder still when a business venture does not end up like I had hoped.
What makes a programmer productive?
There are lots of ideas about this and I have a few of my own. I have read some interesting articles and books on Pareto’s Law (The 80/20 Rule) and am finding that most productivity comes from just a few things.
3 Most Effective
- The Language – The language you choose to do most of your coding is directly proportional to the efficiency of your programming (lines and quality).
- The Libraries/Frameworks/Resources Available – Depending on what you are programming, re-inventing the wheel is wasted effort.
- The Programming Environment – Text Editors, PC/Mac/Linux, Number of Monitors, Other Tools, Fast Internet Connection.
3 Least Effective
- Development Methodology – This only matters when projects are not well thought out and people don’t know what they want programmed. But for the programmer that knows what he wants to code, it does not matter.
- Unit Testing – I have friends that will roll their eyes at this statement, but I’ve written so many lines of code with no to little defects and I’ve not written one unit test or test case. In fact writing unit testing and doing testing on obvious stuff was the most wasted weeks I’ve ever spent.
- Anything that makes code more maintainable – Often you will hear about rules that are good for creating maintainable code, some pattern, avoiding some anti-pattern, lines of code in a method, or size of a class file, etc. These all sound good, but the fact is only a small percentage of code is ever re-used, so stop trying to make 100% of it reusable.
I have been seeing the memory in my system slowly approach close to 4GB while my Resource Monitory only has about 1GB in use as part of the “Working Set” I then saw a note that talked about the video drivers and I started to connect the two.
It seems that the NVIDIA driver for my Dell E6400 is slowly leaking RAM until eventually Windows just runs of of free memory. To fix this, I just re-installed the existing driver. When the computer screen flashes and the driver reloads, my memory is now down to a manageable 1+GB.
The current driver I am using in my DELL is NVIDIA Quadro NVS 160M is 188.8.131.5262, (NVIDIA195.62) with a date of 11/20/2009.
Overall Great Conference. Thanks to all those who organized it and all the speakers that volunteered to speak!
The only big downside was VERY POOR Wi-Fi and 1 Bar of Edge on AT&T. This meant that my blogging had to wait until after the conference.
The Thursday party was very cool, but it was a little disconnected with the tables and the band vs. the huge gatherings we use to have in the halls outside the rooms. Those seemed to be more social than this year.
I think that next year I want more intermediate and advanced talks, less beginner talks unless the amount of new technology is abundant and fun.
Presented By Howard M. Lewis Ship
This was an OK presentation. I was a little distracted by the Neal Ford reference Ceremony vs. Essence. Perhaps Neal was not the only person to use it, but because I heard it a few years ago at a CodeMash keynote, it distracted me. I wanted to learn more about the syntax of Clojure, but it did not go into that. I did gain some insight into the functional aspect of the language, but not enough I’m afraid.
I did get a book on the language by Stewart Holloway, I hope to read that in the coming weeks/months. Hopefully to learn more about how I can use this language for my robotics projects.
Presented by Andy Hunt
It was a pleasure seeing Andy speak. He’s one of the co-authors of The Pragmatic Programmer and it’s nice to see his perspective on things. Today’s talk was a pleasant surprise. No talk about Java evils or process improvement, but a discussion on cognitive science and why we think the way we do and how this thinking (or sometimes lack of thinking) leads us to certain paths in our programming or our project management structure.
The talk included a number of examples, but some of the most striking were videos that were used to illustrate points on lack of attention or diverted attention. One example had us focusing so hard at a certain group in the video, that a gorilla walking through the scene was just barely noticeable. Other examples asked you to notice something different or something that changed. Again, I did not get most of them and it really makes you think.
The talk ended with a great quote, actually more of a conversation between himself and his boss. He was asking for something, (I don’t know exactly what), and his boss responded “What’s stopping you?” he said “Nothing” and his boss replied, “that get’s in my wall a lot too”.
Nice talk, hope see others at some more conferences this year!
Presented By Joe O’Brien
Another great talk by Joe, The theme of this talk was how to improve your career as a programmer if you are finding that you hate/dislike what you are doing. I was fortunate to get a 2nd shot at this talk since it was packed in yesterday’s session.
Joe gave a number of personal examples about what inspired passion from his own career from sales rep to Java programmer, to now business owner and Ruby evangelist.
What I found amazing about this talk was the attendance, I mean Joe always has a nice turn-out but the number of people that are not liking their jobs is at an all-time high. You couple this with recent job satisfaction surveys and there’s something to people not liking their jobs even if it’s in a career that’s full of excitement and opportunity. I will have to write more about this in another post.
So you want to create a niche market because you read the Four Hour Workweek or are starting a business. You’ve done the following:
- Listed your passions.
- Listed the things your good at.
- Consolidated the list and started to test.
- Then you found out all the stuff you like or are good at doesn’t have the best performing indicators. (Via Google Trends, Google Keyword Tool, or Google Traffic Estimator)
What do you do? If your lucky you don’t get to #4, if that’s the case you can stop reading this post, but if not continue…
Broaden Your Niche (Selling Around)
- Take your niche and go to Amazon.Com search, pick the first item.
- Go to the categories section, this will tell you where this item is ranked in sales for specific categories.
- Go to the category then select the first couple of books in the category.
- Review Amazon Sales Rank. Make sure it’s less than 10k.
- Combine your search keyword/niche with something that’s popular and selling.
- Use this as a sell-around technique, so while not directly selling use this to drive traffic and allow your niche to get noticed.
Presented by Dick Wall
This was my second language talk, although the talk was more about Genetics and the calculations required for genetics than it was about Scala. I can imagine this talk much more interesting if it were a little longer or we had less of Genetics 101. Still I plan on downloading Scala and learning more about this language.