Look at the article's definition of trolling. They use "troll" as a codeword for "asshole". Real trolling is an art. You put some bait on a hook and see who bites.
502 karma · joined October 4, 2013
Look at the article's definition of trolling. They use "troll" as a codeword for "asshole". Real trolling is an art. You put some bait on a hook and see who bites.
You're spouting nonsense. Work on your reading skills.
Until they start shoving these sorts of issues down my throat
I'm willing to bet that nobody has ever done anything like shoving anything down your throat, and that sort of repulsive hyperbole is just a marker for irrational, reactionary flame-bait.
Incidentally, if you believe that writing a blog post is "shoving these sorts of issues down your throat", then you should take a serious dose of your own medicine.
"Tricks of the Mind" by Derren Brown also has some basic information on memorization, along with a host of other interesting topics.
After years of expanding my musical tastes, I came back to my original conclusion from the late 90's: rather trashy techno/electronica/house is the way to go for concentration. I eventually realized that even minor vocals will eat away at my concentration, and I can't get much of anything done listening to acoustic, highly vocal music (Elliot Smith stands out as a fine example).
I wear headphones in order to prevent embarrassment.
In my experience, the sort of people who talk about open floor plans for "collaboration" tend to be incompetent managers. Instead of managing, leading, and making decisions, they believe that by manipulating some imaginary rate of collaboration, workers will "collaborate" their way to generating value and wealth. It's a managerial form of cargo cult behavior.
Personally, my best years have been in a shared office with someone whose presence I genuinely enjoyed. It was less about collaboration and more about keeping the mood up throughout the inevitable daily slog through painful work that, truthfully, nobody wants to do.
Incidentally, I think #1 could easily be taught without #3 at all. I get the impression that there are quite a few academic people who tinker with interesting algorithmic work, in esoteric languages, who couldn't effectively write maintainable code for mass deployment. Not that there's anything wrong with that, it's just a different area of specialization.
1) Computer Science, which is, in my opinion, entirely a subset of mathematics, and should be taught as such.
2) Coding, which is the ability to break a problem down and describe it in a series of simple steps.
3) Craft and application, which is everything about how to use tools, best practices for code architecture, and everything else that every new graduate is usually terrible at.
I think we could satisfy most of the world's need for "programmers" by teaching #2 and #3 in a trade school model.
eyeroll
About three months later, after I'd long written them off, I got a call from them. They'd "been busy" and asked if I could come by the next day. This time, I met with several people working on the projects I'd be helping them with (mostly porting code to platforms I had a ton of experience on). Everything was looking good. Then the HR guy said something like, "you don't seem very excited." Since no talk of an offer of any kind had come up yet, I was severely tempted to remind him that, after the last time I came in, I didn't hear from them again for months.
The last thing said to me upon exiting the interview, again, all smiles and handshakes, was, "I'll give you a call tomorrow. But if you don't hear from me, give me a call."
Fuck that. From the moment I left their building, I never gave them another thought. As expected, I didn't hear a peep from them.
Employers like to complain about how hard it is to find talent, but then they behave like this. It's as much our evaluation of them as it is their evaluation of us.
I've been on the other side of it, too. Being made to interview candidates when we have absolutely no need for additional people, or for groups wildly unrelated to anything I do in the company. I wanted to tell the people, "look, you're probably never going to hear from us again because, frankly, we don't need anybody, and nobody in engineering has any idea why we're interviewing you."
At this point, even if I were writing business CRUD apps, I think I'd be reluctant to start using, say, C# and .Net, preferring some kind of packaged system allowing me to, effectively, write desktop apps using mobile languages and stacks.
In my opinion, it actually hurts productivity. You become dependent upon having a mental and emotional escape from your physical surroundings. Instead of developing self-discipline, you indulge in escapism.
A boss tells people what to do. A manager manages them, leads them, makes sure their needs are fulfilled, and protects them from unnecessary distractions.
In the game, you are forced to participate in torture of a guy for absolutely no reason. You have to select torture methods, then manipulate the controls to adequately complete the mission.
In another mission, as another character, you're forced to perform an assassination for a government organization. As the scene unfolds, it becomes clear that they have no idea what they're doing, and they're just reacting immediately to low-quality intel.
I think that's actually really natural, and mimics the patters people were in before industrialization.
Even when I was doing corporate work, that's very much how I ended up actually getting things done. Sometimes it takes hours and hours to wrap my head around some API and make the mental connections, at which point I'll just keep coding until I run out of juice (typically the point when I realize I'm just making errors, coding in circles, and resorting to random edits). The annoying thing in the corporate world is that you can't just spend most of the next day in bed, or on a hike. Instead, I'd work extremely hard one day, then slack off and browse the Internet the next two days, and maybe fix some trivial bug for the sake of a logged checkin.
In my current system, I would say my most valuable habits are:
1) Cardio. My goal is to do 15 - 30 minutes of HIIT every morning. In reality, I end up doing it a few time per week. :-) Honestly, nothing gets me energized and motivated like doing consistent cardio. Two weeks of 30 minutes every day? No depression, constant motivation, sex drive, etc. Incidentally, forcing yourself to do this somewhat uncomfortable act regularly is itself a way to develop discipline.
2) Pomodoros. Once you start forcing yourself to work in focused intervals, you start to realize that you don't actually work that much every day, which is rather liberating.
3) Task estimation. I break down tasks by the number of anticipated hours, then check off every Pomodoro (effectively 1/2 hour) next to the task. Ineffective estimation has been both massively demotivating and very eye-opening. My estimation and attention to detail in analysis has improved significantly from forcing myself to do this. It's also easier to force myself "into the mood" for coding when I'm actually reasonably sure that I only have to do 1.5 hours of work, then I can go play.
4) Block all attention drains in my hosts file. HN, Reddit, etc.
Speaking as someone who got a home computer at eight, back when it was still extremely uncommon, and who never stopped programming, I actually think we vastly overvalue this whole "you have to have been hacking since age 13" angle. There are so many other elements that go into actually delivering solid product that I just don't think we can point to that as the issue to focus on.
This is a symptom of a problem, not a qualification of proficiency.
Of course, nothing is black and white, and rationalization is just as strong an intoxicant as overreaching corporate policies are.
Personally, I would advise young folks who are already passionate about programming and technology to either go all-out in a true engineering field or pursue something that will equip them with a very different skillset. For example, if you have programming skills but get a degree in business and focus on accounting, you could easily be the most productive member of your department. Meanwhile, you'd have the savvy and knowledge to spin up your own side business doing software consulting or, say, mobile apps.
I would go so far as to say that, assuming you are motivated and already coding and have a decent math background, a CS program isn't worth it unless it's from a really, really good school.
With social tech sites like HN and /r/programming, we tend to forget that the business needs that drove the RAD CRUD-type apps of the 1990s never went away, it's just not interesting to talk about anymore.
Show me a passionate, mature software developer and I'll show you someone with a good social work environment.
Oh, and never underestimate the power of a real vacation. I'm talking two weeks swimming and reading (non-tech stuff) on a beach somewhere, never fretting about your real-life and tech problems. Really, how many of us ever experience such relief?
Ah, boasting disguised as a response.
> I don't even want to work with you.
And a really cruel, personal insult to finish off with.
This sort of attitude needs to end. It absolutely infests tech sites.
People flock their, latch on to the manic imprint they burn into their mind in their first few years[1], and proceed desperately fight change. The infrastructure is wildly outdated, the social network can't support the excess homeless, and the building codes prevent the sort of compact, high-density living necessary to allow exactly the sort of lower-income people and families that everyone claims they want to keep around.
[1] as evidenced by my own comment about it not being cool since the 90's, though I think I could wrangle an objective argument out of it by looking at the explosion of housing prices, gentrification, and the sort of Urban Outfitter's commercialized uniformity of the modern "counter-culture".