65 karma · joined March 25, 2009
Thing is, it's pretty easy to code for a machine. It's REALLY hard to program in a way that other developers can understand you. And, like in literature, using less words to describe something is more often better for the reader.
"Too much jargon, falsely claimed software engineering practices and overly zealous object oriented mentality"
I used to hate all the jargon too but then I realizes it gives programmers a vocabulary to discuss things. When everyone understands the jargon, it makes discussing complex solutions a lot easier. OO can definitely be overused, but honestly 99% of the problems I face are people just writing unmaintainable, procedural code. You're right though, OO can often be less simple (harder to read all at once) but that's the trade off we devs need to balance when writing code.
I don't want to sound condescending but is it possible you are making excuses for learning hard things. Maybe it's the people you work with who are pushing it down your throat the wrong way. Maybe you already know these hard things but just haven't had to use it so you're giving up on the ideas. Or maybe I'm still in the cynical phase of my life.
Oh no, I certainly didn't know all the lessons and I haven't done all of them.
"How elegant are your solutions? Have you tried writing them in a different style than you're used to?" That's a great point, so I suppose it's less about the actual Project Euler problem, and more about optimizing, refactoring and trying them in different languages.
"Learn Python and use it during your interview." Python is expressive, a high level and kind of writes like pseudo code. Just write pseudo code. The point isn't syntax anyways.
"The highest value problems I know of are on Project Euler." I do enjoy running through Project Euler problems but I have no evidence that's making me better at my day job, only better at answering Project Euler problems.
I see it like this. If you make a timeline yourself and find you won't be able to keep it then you have 2 options. 1) Let the person you promised know right away or 2) "find a way. Or make one" - do what you got to do to get it done.
Sebastian is highlighting the second option because it's already passed deadlines and shit sounds like it's getting serious.
If you want to be respected, loved and an effective leader. Keep your promises. Every single one of them. (Or, in true Machiavellian form, at least make sure it's perceived that way.)
If I can write a piece of code in fewer lines, I'll do it. That pretty obvious, we all would. But I try to take it a step further and consciously seek solutions that lead to fewer lines of code. Chopping down a large block of code is an incredibly gratifying feeling for me.
I find that writing less code while maintaining expressiveness usually leads to simpler solutions and, IMO, it is simplicity that reduces the bug count.
Either way, isn't it strange that the best advice for doing well at interviewing is to practice. Practice so you become better at interviewing, not necessarily better at your job.
"They represent the Promised Land where, one day, we'll start doing something meaningful."
If you don’t have an urge to go out and do something different than what you’re doing now, then this article probably doesn’t apply to you. I think It’s more related to people who say you’re going to one day start your own company, or work for a startup, or “travel to Montreal” but immediate problems always get in the way. You don’t have to change the world necessarily, just be happy and follow your dreams NOW because life is too short.
It’s funny, when I started out in the professional programming world I had a ton of confidence. I felt unstoppable. Back then, I didn’t know shit about programming but hey, how hard could it be. Then I started learning and slowly my confidence starting dwindling away. The more I learned, the less confident I became. I was humbled by the smart people I learned from. I realized how little I actually know. Now I’m noticing how big of an issue confidence has has become.
"I have found that actually showing confidence issues, on the other hand, does not do great things for one’s business"
I’ve found that showing lack of confidence hurts in most areas of life. The less confidence I speak with, the less people take me seriously though. It’s ridiculous. Now, whenever I speak with certainty & confidence, it feels like I'm faking it. It’s a huge internal struggle and it’s interesting to hear others perspectives on this.
On the other hand, you do want to make sure they know how to program. Talking about side projects and areas of interest may bias the interviewer when they really just want to know how technically competent you are.
If you wan't to learn how to program just enough to validate your idea, then perhaps taking a computer science degree might be a little overkill. Read some tutorials and just start programming easy stuff and work your way up.