Earlier quoted context omitted.
I'm still coding after almost 20 years in the job, and have no intention of stopping. I tried some other options - teacher, artist, entrepreneur. None of them give me the thrill that I get from programming. I still get locked into a flow where time shifts, and before I know it hours have passed. The only other activity that does that is Civ, and no-one is going to pay me to play that ;) If 10x assets is what drives y…
I'm in my late forties and have been a professional developer for 25+ years. I agree with what you said in your comment, but this stood out: "You might be dead tomorrow; you might as well enjoy today." This is not a bad way to live, but as I get older I am increasingly aware that there will be a day when I'm dead tomorrow. And for that reason I'm increasingly less interested in spending time in the state where "time…
My Biggest Regret as a Programmer
201–210 of 634 posts
Re: My Biggest Regret as a Programmer
#202Earlier quoted context omitted.
> JavaScript is actually an incredibly flexible and effective language. == vs === No integers. Assignment is declaration. Prototypes. Curly brackets & semicolons. Semicolon insertion. It may be flexible (in the sense that an Alfa Romeo driven into a telephone pole at 120 mph is flexible), but it sure as heck ain't effective. JavaScript is the great shame of the computing industry: that it exists, and that it is used,…
> No integers. Fair enough. > Assignment is declaration. Not exactly. You can declare variables separately, if you want. In fact, a "var x = 42" statement will actually be split into "var x;" at the top of the scope and "x = 42" wherever you actually wrote it by the interpreter. The specified behaviour is a little weird and non-obvious, but once you know it, you know it. > Prototypes. That's a matter of taste (plus t…
The issue is that 'fop = 1' is not an error (outside of strict mode), even when I mean 'foo = 1.' Automatically creating variables makes what could be compile-time errors run-time instead.
> Besides which, you can basically use prototypes to do classes, if that's your bag, and of course we have class syntax now anyway.
Which I also find to be a mistake. Generic functions are the right way to do OO.
> The only alternative to having some kind of block delimiter would be significant whitespace
The block delimiter I prefer is () grin
> It's possible there's just a better way to do it (I know Go has ASI, for instance, but have never heard anyone complain).
Yes, whereas good practice on JavaScript is to always use semicolons (because its semicolon insertion is wrong), good practice in Go is to never use them (because its semicolon insertion is correct).
> not even a shout out for ==
That was my very first point …
Re: My Biggest Regret as a Programmer
#203He would have been unhappy with the other choice as well, because then it is the programming side he would be missing out on. I would advise everyone to read The Road Not Taken by Robert Frost. http://www.poetryfoundation.org/poem/173536 You chose one option out of many, and the others may no longer be a possibility. However, the writer's unhappiness does not spawn from his inability to be successful at what he does,…
And without this attitude we wouldn't have the things we have today. Trust me, Gates, Jobs, and a slew of others who built our modern world didn't do what they did for fun. They did it for (mostly) money. The same way the successful people in revolutionary fields today are doing so for money.
We can't have progress if we sit back and just judge everyone as "greedy" and expect good things to happen. Without these attitudes we wouldnt have the internet, the mobile revolution, commercialization of space, or the upcoming robotics/AI revolution. Maybe this guy should have migrated to management. Lots of people do and they're happier there. Not everyone is cut out to be some salty bad-ass coder until retirement. For most people this stuff is just a job, not a religion, and as people get older their social skills, wisdom, etc increase and many of them simply find being a manager or a mentor to be a more fulfilling use of their time. Society recognizes this and pays accordingly.
There's nothing wrong with the profit incentive as a motivator. In fact, competing in a capitalist technological market is one of life's few meritocracies and has paid humanity back in so many ways, its probably impossible to understand how vast the changes its brought us truly are. This conversation and everything you take for granted in your life right now would have been impossible without it. So maybe layoff with the holier-than-thou attitude?
Re: My Biggest Regret as a Programmer
#204If your goal is to be a technical manager/CTO, the Product Manager role is a good path. For me, I transitioned to a Sales role (Sales Engineer), which is another route to the CTO path.
Re: My Biggest Regret as a Programmer
#205"I can still feel the regret of not seeking the challenge of just leadership." He's right. Programmers need to get into leadership, because they have a chance of knowing what "just leadership" might look like. When non-technical people lead technical people, the chance of getting into a good flow is less (though by no means impossible). The problem is that many technical people are not "people" persons. Part of that…
This is pretty ridiculous. Lawyers, Bankers, and Doctors get to play in intellectual sandboxes, and they get paid really handsomely for it, even if they are completely anti-social people. The reason we get paid less is that we don't have any of their safeguards: - Lawyers aim to become partner. It's very socialist-y this way. The goal working in a firm is to become an owner of the firm and share in its successes. - D…
Regular front line grunt work employees work long hours and get paid decent professional wage. As you said they can get promoted to Partner, a partner is a part owner of the business, they don't do much technical work, they do a lot of management. There are similar opportunities for Software people to start small companies and make money too. its not quite the same as there aren't the big company partnerships, but big startups with employee stock are close.
The biggest difference is the half life of knowledge in Software is much shorter.
Re: My Biggest Regret as a Programmer
#206He would have been unhappy with the other choice as well, because then it is the programming side he would be missing out on. I would advise everyone to read The Road Not Taken by Robert Frost. http://www.poetryfoundation.org/poem/173536 You chose one option out of many, and the others may no longer be a possibility. However, the writer's unhappiness does not spawn from his inability to be successful at what he does,…
I took a management path at first, thinking it was a natural progression upon obtaining over a decade and a half of experience and being enouraged by my peers over the years. I was never unhappier. I gave it everything I could. My team loved me and I shielded them from mountains of pain and frustration. I got sick from stress and mildly depressed from lack of a technically creative outlet. It took me over a year to r…
In contrast, I fear that once I try management, it will be hard to move back to being a developer.
How easy / hard was it for you to return to being a developer?
Re: My Biggest Regret as a Programmer
#207"I can still feel the regret of not seeking the challenge of just leadership." He's right. Programmers need to get into leadership, because they have a chance of knowing what "just leadership" might look like. When non-technical people lead technical people, the chance of getting into a good flow is less (though by no means impossible). The problem is that many technical people are not "people" persons. Part of that…
This is pretty ridiculous. Lawyers, Bankers, and Doctors get to play in intellectual sandboxes, and they get paid really handsomely for it, even if they are completely anti-social people. The reason we get paid less is that we don't have any of their safeguards: - Lawyers aim to become partner. It's very socialist-y this way. The goal working in a firm is to become an owner of the firm and share in its successes. - D…
Re: My Biggest Regret as a Programmer
#208My biggest regret is not shipping more. Sometimes the cause of that is management, and I long to be on that side defining the missing specs, building out the absent project plans, speaking to customers, allocating resource, championing it all and pushing it forward. At those times I despise being a programmer because being a programmer isn't enough to get product shipped. Other times (but it feels less frequently) th…
I think this discontent stems from wanting to fix the problems that you see on the other side, and you make a good point. If you're a programmer, you look at the bad manager and say "I could fix this if I were in his shoes". If you're the manager, you look at the bad programmer and say the same. Maybe there is a way to just fix problems where you see them?
It's the set of problems on the "other side" that are causing delays that are the ones I care about. The ones that don't cause delay I don't mind.
It's only constructive to focus on that which holds us up, slows us down. Then I want to fix those.
The frustrations stem really from the wedge that we collectively seem to shove between engineering and other parts of a company, including middle-management (or worse, that we destroy middle-management and lack well-seasoned processes that actually help).
The walls we've built within companies, between skill sets, leads to a powerlessness to get things done faster, better.
Re: My Biggest Regret as a Programmer
#209My biggest regret as a programmer: not sitting in correct posture for 30 years :/ On the bright side: I'm correcting this now, and I really feel like a different person.
http://modernhealthmonk.com/neck-and-shoulder-pain/
(usual disclaimers apply)
Re: My Biggest Regret as a Programmer
#210Earlier quoted context omitted.
JavaScript is actually an incredibly flexible and effective language.
> JavaScript is actually an incredibly flexible and effective language. == vs === No integers. Assignment is declaration. Prototypes. Curly brackets & semicolons. Semicolon insertion. It may be flexible (in the sense that an Alfa Romeo driven into a telephone pole at 120 mph is flexible), but it sure as heck ain't effective. JavaScript is the great shame of the computing industry: that it exists, and that it is used,…