Why I learned to "make things"
37signals.com
37signals.com
If you are in a corporate environment surrounded by people who don't know how to write code, or even barely know how to use Excel, it cannot be overstated how valuable a basic knowledge of even something like VBA, and a little SQL, can make you.
I started learning to program because I was tired of being faced with the same business problems and productivity drags over and over again. Like being asked to log into a legacy system, look up some performance numbers, copy/paste them into a spreadsheet and e-mail it to management. I've even seen people summing numbers together with a calculator and then typing the sum into an spreadsheet because they didn't know about formulas in Excel. That knowledge could free up at least an hour of that person's time per day, which really adds up over many years on the job.
Not everyone needs to actually be a hacker, but everyone who's even remotely curious about programming should learn some basic skills in order to automate tasks and make oneself more productive, if nothing else.
I think it's a huge market opportunity for a programmer to merely show some poor bastards how to NOT get by via emailing spreadsheets back and forth.
Not that I think automation should be used to lay people off. But if the job she was doing were automated, they could have her on the phone talking to customers and helping out the overworked customer service staff with the call queue instead, with no net expense to the company.
Increased automation doesn't have to mean increased inequality -- ideally, it would lead to a gradual reduction in average work hours. Working hours for people in first-world western nations are evidence of this: http://en.wikipedia.org/wiki/Working_time#Gradual_decrease_i...
I mean, it's not like Paul Graham ever had to work another day after he sold Viaweb. Nevertheless, you see him still working. (And he's not an outlier.)
It follows that if you could make $75,000+ working 20 hours a week, you'd be quite happy. I know I certainly would =) (Yes, I'm sure there have been studies done on the correlation of life satisfaction and keeping busy; that's what hobbies are for! I'm sure there are plenty of happy, busy retired people.)
http://wws.princeton.edu/news/Income_Happiness/ (press release) http://www.pnas.org/cgi/doi/10.1073/pnas.1011492107 (actual study)
For me, it's always been a balance of sustainability, maintainability, and competitive advantage: What happens when I leave the company? Who's going to fix my bugs and restart the server? And then there's the flip side: If we don't innovate, isn't that the same as giving an advantage to our competitor?
When I was in a sales support job I went as far as writing an web application hosted on my machine so I could share it with my colleagues in the building. It let us do ad-hoc reporting on certain figures that weren't captured in the company's official data mart, but it wasn't very scalable or maintainable, especially once I left that company.
But building little tools that make you and your colleagues more productive can add to your value and desirability as an employee. For the employer, the tradeoff of tolerating an "underground" code base existing on your employees' machines, is the productivity gains that come from it, which can really add up. Just by writing a script that automates a report, I can gift my employer thousands of dollars per year in productivity. Employers love employees who figure out how to automate their own tasks.
And this is exactly why programming makes you more valuable and puts you in a much better position to negotiate promotions. You give them better "machinery" for better productivity, but they need you to operate it! Now if you leave they are taking a significantly larger step back than if you hadn't built things for them in the first place.
I didn't learn to program because I wanted to keep my job. I learned programming because, frankly, it was fun and challenging.
How true. Amazing what passes off for high fives on HN. Anybody ever watch any documentaries on the real world showing what people with serious jobs build and maintain everyday? (I saw one last night about the complexity of the military supply chain ships near Somalia).
Many of these posts that I see here on HN seem like the equivalent of a kid in elementary school bringing home an art project to show their parents and grandparents who exclaim how wonderful an achievement and how promising they are.
These posts do serve a purpose though. They bring traffic and exposure to the poster's company website (in this example 37signals but there are many others) by highlighting some simple revelation or discovery.
Look around at most of the people you interact with every day. Many of them are stuck in a cycle of not making things, and this guy worked hard enough to break that cycle for himself. He found his calling in writing code. That is inspirational, and something to be proud of.
When I discovered computers, it became even more fun to make things - websites, animations, scripts to make chemistry homework automatic, etc. My classmates would spend the same amount of time discussing who was the best at throwing pig-skin balls in an arena, or how funny that last South Park episode was.
Now that was before every kid had an portable entertainment system on hand for 24 hours a day, with interfaces tailored for consumption, and operating systems discouraging fiddling. I can only imagine the maker culture is dwindling, especially in younger generations. Is there a way to fix this?
This is so true specially when you are working with an amazing team.
What exactly were you doing for 6-7 weeks? If you know MatLab & R as well as you claim, I'm hard-pressed to believe that all you accomplished was one git commit, one git clone, and some copying and pasting.
EDIT: My point being... he was already a "maker" -- just not using web technologies.
Maybe a happy medium would be to have a more obvious "click button" that would allow for comments.