As a consultant, I've rarely met a developer over 50 who's still interested in their job (however I wonder if they ever were).
In the few cases I have, it's been amazing. The stories someone with 33 years of quality experience can tell you about are eye opening. They can remind you of how far we've come, how what's old is new again, and how to adapt in an ever changing tech scene.
My father is 73 and still works in sales because he loves it. I'd hope to do the same thing in IT.
I have also met a lot of developers who are passionate about the lifestyle features of being a startup software developer but who are also willfully stuck in ruts like spending months cultivating positions about which testing framework best expresses the right testing methodology, or whether HTML is best generated serverside or clientside. They don't read papers, they plan on maybe one day learning C, but they wear the right t-shirt and are on the right IRC channels. These are things that might matter a lot when you're just starting out in your career but don't so much matter at all when you've got your sea legs.
There are a lot of those people and I think that may color our impression of which age bracket is most engaged.
Was a better time in a way, not really needing money I was actually more happy just doing my own stuff and helping out with sites online I was interested in.
Anyway, the point is that I don't have 33 years under my belt, so maybe I'm wrong about how I'll feel in the future, but based on the experience I do have, I just don't imagine it ever getting old.
On the other hand, I build things that are, for the most part, abstract and virtual. I enjoy what I do because it allows me to be creative using technologies and tools that I enjoy working with. (And I really enjoy building entire applications from scratch, so much so that I will be creating businesses to really scratch my itches.)
I'm proud that an application that I built half a decade ago is still being used. But, for the most part, most of my work has a limited life-span. Is that so bad?
In many cases the lifespan is longer, but in other cases it's shorter. My malloc() is older than my car, even though they both still get regularly used.
I'm one of those guys who comes to Hacker News, reviews what others have built, and immediately thinks 2 things:
- That is so cool!
- So what?
Like most others, I love playing around with widgets and technology just for fun and to see what happens. But the satisfaction from this is usually short lived.I liken playing around with techology to running around and having lots of good sex with strangers. It's fun and it feels great, but sooner or later, you'll want something more substantial. For me, that requires the satisfaction of others. (This applies to both programming and sex.)
Quite frankly, I wouldn't want to be sitting in front of a desktop for 33 years of my own life. Not to criticize you or anything.
But coding my entire life, just doesn't feel right, well as of today and the classic cubicle/desk/chair environnement, maybe I didn't pick the right job, it just feels like a very individualistic/selfish job unless maybe your stuff is open-sourced. How much do you feel you contribute to the society , for example ?
Then again, I'm just starting in the domain, talking from 1 year of work experience and 3 of school experience.
What about a brick layer, painter, electrician, school teacher, is there anything wrong with those people if they enjoy their work and dedicate their work passions to those professions?
>> How much do you feel you contribute to the society
Society doesn't pay the bills, companies do. Society is appreciating art, going dancing or having a barbecue.
I've been in-industry for 3 years, and in that short time I have written software that:
- substantially reduced plastics, paper, and metal usage in packaging for the largest e-tailer on the planet.
- decreased fuel usage for shipments coming from said e-tailer.
- made air travel better by letting travelers know about delays, cancellations, and last-minute changes before the airlines even know about them. I even help them pick better seats on their flights.
- help people go on more fulfilling, more interesting dates.
I look forward to doing a hell of a lot more than that.
If you don't feel like your work matters, and you don't feel like you have impact on the world, do something else. Software is wonderful in that way.
2. open source # the only way to contribute
My quick & easy response is #137 of my ebook (see my profile):
137. How do you put your skills to good?
I’ve always thought that the best way to put your technical skills to the greater good is through your day job, not instead of it.
Some of my days jobs have been to write software to ensure that:
- people get the right prescription medication on time
- firetrucks and ambulances get to where they're supposed to be
- parts that go into cars and planes are properly certified
- prisoners are kept in jail
- those same prisoners get proper medical care
- electronic equipment gets assembled properly and on time
- medical supplies get dispatched to where they're supposed to
- insurance claims are processed properly
- quality data is properly maintained for food items
You don’t need to do charity work on the side in order to contribute to the greater good.On the other hand, if you don’t think that the work you do during the day contributes to the greater good, then maybe you should consider doing something else with your valuable time.
Do good and get paid. You can do both at the same time.
And also, being a programmer in open source or free software is not only the programming, its also the community and bonds you make while contributing.
Available at http://edweissman.com/53640595 and as a PDF (top of the linked page).
To summarize: Use simple tools and eliminate distractions. At the end of the day, code and refactor away from the computer (on printouts). This forms the basis of the next day's work at the computer.
My days of 48-hours-staring-at-a-screen are over. Thankfully. I enjoy code much more now. Back when it was my job, it was a job. You know what's funny? I comment my code more now than I ever did when I was in my 20's.
Why not build your own achievements?
Besides, who is not a cog in some wheel or other? In civilized countries, there is nobody who is at the top of all hierarchies, no King. It's a pejorative with no bite if it applies to all.
The poster seemed to be distinguishing not on the basis of interdependence but on the basis of who has control over your life and the context of your work, and where the resulting profit would go. (This is, of course, my reading).
One part is your freedom. If you want to take a trip for a couple weeks once a year, or change your hairstyle or get a tattoo, and this is impossible because of company regulations unrelated to workload, this is coggy. Of course, everyone acknowledges that you have to work a certain amount of time and that if you are facing employees it helps not to have a swastika tattoo on your forehead, etc.
Another part is the alignment of what you are doing with your interests. If you are putting in 60 hours to pay the bills and learn a lot about SOAP on the way, that's coggy; it is not the same as choosing work that involves SOAP because it gives you a hard-on, which is less coggy.
Another part is what determines the broader role your work plays. Yes, everyone is doing work which fits into other people's wants (even the arctic explorer is playing to an audience somehow). But if you work for 8 months on something and it fails because customers hate it, you were still the one who chose that context - less coggy. It was trying an idea. If you work for 8 months and then it is permanently scrapped because the company came to a deal with Microsoft and your project was just a bargaining chip, that's coggy.
For the same reason, profits - if you are working in Hollywood and get paid an incredibly tiny amount for a hit movie because they got you with Hollywood accounting, that is coggy; it's less coggy if your profit is tied
Of course, this also means it's less coggy if you are taking on greater risk (financial, reputational, whatever). If you are very risk averse then you may prefer a coggier position. If you are very focused on one specialized skill, a less coggy position might force you to pick up other ones, so again certain kinds of people will rationally prefer coggier positions.
If the norm is for employees to be hired at low rates, dominated in every way possible, artificially hampered from building useful things, and fired on a dime, that is pretty coggy. If you are happily choosing your own jobs, leaving when you want, dictating terms, that isn't very coggy. Which is why you used it as your example.
The accusation of him being a cog without any apparent basis for flinging that accusation is what set me off, and made me use the word "screeching". You appear to have simply expanded on my point that there are ways of being more and less coggy, which is nice, but you seem to think you were arguing against something I said, though I can't find what. Yes, I already said there's a general point that could be made there, but the point wasn't made without a heaping helping of presumptions.
The reality is there are very few people making six figures writing their own iphone apps. Even fewer that can sustain that level of income as a sole proprietorship for a couple of decades, which is what you will need to do to retire at fifty.
For every programmer who does create a sustainable business, fewer still get rich doing so. One reason, creating a wildly successful business is a completely different skill set from programming. Another reason, it takes a fair amount of luck for a company to become wildly successful.
Goog luck.
Great Fredudian typo, or greatest Freudian typo?
The man has been doing a job that he loves for 30+ years. Having had to work in places I hated to 'pay the bills' enough times in my life to grow weary of it, I understand the value of working on a good team with people I like and respect, doing what I love.
As the adage goes: Get a job doing what you love to do, and you'll never work a day in your life. Startups are fine and dandy, but trust me when I tell you, they're a ton of WORK. Even serial entrepreneurs will tell you that it's taxing, and not for everyone. I for one would be much happier nestled up to a keyboard, solving a problem than I would be doing many of the things one needs to do to make a startup viable.
In summation, everybody's priorities are not the same as yours, and I'd wager that you could stand to learn that lesson sooner than later.
Achievement is what you feel inside. A large bank account is nice validation of a certain class of achievements, but not the only kind.
If you do something that gives you no kicks and only pays your bills, then yes, throwing away that nasty but necessary source of subsistence feels liberating.
But if you enjoy what you're doing every day and have no problem getting up in the morning for that, you only want more, and "retirement" feels like having your favorite toy taken from you.
Imagine someone saying: "Mr. Tesla, when are you planning to retire from your burdensome and soul-crushing experimentation and retire to enjoy some front porch whistling?"
If you want to build big things, in most cases you can't work alone. In a big team, everyone plays a part. Call them a "cog" if you want.
And, sometimes the specialization that happens in big teams allows people (err...cogs) to really push the state of the art by engaging one hard problem for a long time.
People don't get rich by simply taking from others (OK with a few exceptions); they get rich by offering something that another person/business/etc sees as a benefit worth paying for.
I'm pretty glad I realized what this article is talking about early on and started planning long term for my own exit, as I knew my tolerance for this was a finite resource that would be continually depleted.
And a programmer today earns enough to be able to do so at a good age.
1) When I started out programming, some two decades back, I did a program which was tough for me then (I believe its a pretty standard program given to people who are learning programming). It was - 'How to place 8 queens on a chess board so that they don't attack each other'.
2) A C -program which prints itself.
3) More recently I read Norvig's solving every Sudoku puzzle (http://norvig.com/sudoku.html), so went ahead and wrote my own (without looking at his solution of course).
4) Solving this ('Going Office' on Interview Street : https://www.interviewstreet.com/challenges/dashboard/#proble...) one gave me immense amount of satisfaction, when I did a couple of months back. As I had not done complicated graph stuff earlier. I game my family a treat, just because I was so happy when all my test cases passed :-)
So programming has been a joy of my life. Hope to do it for many more years. Will try.
can't wait till I retire so I can finally learn some of the fringe stuff I want to play with but have no time.
to me, being a programmer is living the life of a perpetual student.
how can anyone grow bored with that?
My motivation? It's not about the technology, the tools, the apps, the business, the customers, or even the money, although any of those can provide plenty of motivation. And believe it or not, it's not even about the happy dance feeling I get when something I built works for the first time.
It's about the achievements of those who use what I built. Hopefully that'll keep my busy for another 33 years.