Math in Programming (again)

I’ve discussed this before but another thread popped up a couple of months ago and I had to give another explanation on the significance of mathematics in software development.

Excuse me?
I just want to ask if the computation in math is using for programming? Cause I hate Math :-|

Almost all programming deals with logic, and Logic is part of Math. So yeah, you shouldn’t be a programmer if you don’t want to do math.

But I’m getting ahead of myself… the real question here is: “Why do you hate math?”

If you hate math because you think it’s all memorization and weird symbols, you do not hate math – you simply hate standardized education from last century.

I love math, because for me it’s a fun way of exploring and discovering the mysteries of the reality we live in using only a handful of tools. I do not consider the memorization and weird symbols as the whole of math, I just think of them as a necessary (albeit annoying/painful) part of math – no different from a novice carpenter getting injuries from learning his tools.

The problem with most math classes is that they are too abstract to the point that learning the topics become almost faith-based. (A good example of faith-based teaching can be seen in Richard Feynman’s essay on Brazilian Physics eduction.) If students were introduced to calculus using this or polar coordinates using this, they might have a different opinion on the subject.

Back to your question, the other commenters have already given most of the things you need to know i.e. no, most of us programmers don’t do hardcore math from day to day; however, learning math practices your abstract reasoning and problem comprehension skills, both of which you will use everyday. (Think of soldiers doing push-ups. You won’t see them do those in the heat of battle, but it helps condition their bodies for the battlefield.)

Oh, and yeah, there’s one field in software development that everyone wants to get into but actually deals with a lot of hardcore math: Game Programming.

Aa. Okay i just want to ask if that math subjects is so hard to get? :)

They are hard, but they are doable as long as you have proper study habits.

Different maths require different skills, though. For example, Linear Algebra is more meticulous to detail, Calculus stresses your pattern recognition abilities, and Discrete Math needs both critical and out of the box thinking.

On “Career”

It’s graduation season again and kids fresh out of college are out there looking for or choosing jobs. One of them posted a question over at the PhRUG Facebook Group last week and I replied a lengthy series of comments.

I just thought it would be timely to repost them here and make a blog post out of them.

Original question:

Good morning mga sir/ma’am! Tell me if this topic isn’t welcome in this group. :)

I’m a computer engineering student, graduating this april 24.

I need to choose between Accenture and X-Company (private name :) ). This X-Company uses Ruby on Rails. Later at 8PM I’ll be having my Final Assessment in Accenture for Associate Software Engineer position. At 3PM, I have an appointment (probably Job Offer too) in X-company. I need to submit my very very very first web app (is this the right term?) made in Ruby on Rails to them. The bosses there instructed me to do a basic web app made in RoR for me to get hired.

My question is: Are there lots of companies in the Philippines which use RoR? Naiinspired (let’s just say, medyo naiinggit na naiinspired) ako sa ibang tao na nakikita ko na 6-digits ang sahod nila as Senior Software Engineers. I can’t go into that position kapag sa web ako, diba? Although in that X-Company, the possibility na maging pioneer ako is very high. Kasi starting company palang ito dito sa Pilipinas. Ang orig branch niya ay nasa Canada.

I think the misconception here is that web developers are not software engineers.

Yes, some people who setup WordPress and pirate themes can be considered “web developers”. But there are also enterprise web developers that build web applications for large companies (e.g. government and financial institutions), and they are also called “software engineers”. Even this site you’re on right now is being built and maintained by highly paid web developer software engineers.

And here comes the reality check: hindi ka makakapili ng “magandang career”. It’s what you make of what life gives you that will determine if your career will be successful or not.

Maybe if you accept the Accenture gig, you’ll be on the fast track to being a senior dev in a few years. Or maybe you’ll be unlucky and get assigned to a horrible team and a death-march project then get burned out in a shorter span of time.

Maybe if you push on with learning Rails, it will finally click into your head and you’ll get a 6 digit salary by your second year from your day job and freelance work combined. Or maybe you just won’t get it and decide to move on to something different like mobile development.

Point here is that either way is good. No one can predict where life can take you, so please don’t think of this choice as a “do-or-die” one. As long as you invest a good portion your time to personal growth (e.g. studying technology/business/finance, expanding your personal and professional network, keeping yourself healthy, etc), and in turn, significantly increase the opportunities available to you, you do not need to worry about the outcome of this decision.

someone else’s response:

IMHO, don’t let the $alary be your driver for your career.. but, your passion.

Passion is great, and passionate people get far in this industry.

However, keep in mind that many people will try to abuse your passion. It’s no surprise that overtime (paid or unpaid) is very common in this industry.

As for salary, I’d say it’s also important – but you must quickly learn how to manage your finances. A person earning 40k (net) but spends all of it on stuff that fails to make him happy is obviously worse off than a person earning 20k who saves 8k (or more) after spending only on necessities and stuff that she really enjoys. Then there are other stuff like credit cards, investments, avoiding scams, etc BUT THIS IS A RUBY GROUP, DAMMIT! so I won’t talk about them.

One thing that’s definitely more important than salary is TRAINING. Being paid well as a junior developer doesn’t matter if you don’t have good mentors around to show you the ropes and teach you good practices early on.

a side comment to close things out:

Bryan Bibat ibang level talaga ang advice mo *bow*

*shrugs*

It’s not rocket science, people who have gotten out of the rat race will give you pretty much the same advice (most people don’t get out of the rat race, though). I just wish someone would’ve given me that type of advice in my first years of work rather than learning them the hard way. Would’ve spared me years of suicidal depression.

So You Want to Teach Ruby and Rails…

RubyConf Philippines was a blast. I still can’t decide which of the following was the best thing I did in the event:

So yeah, I did a talk on the first day about teaching. Here are my slides:

I recorded an “extended podcast-version” earlier today. Here it is in all it’s crappy one-take glory:

Some quick links for further reading:

Common Mistakes in Organizing Events

I’m an “outgoing introvert”. I may be ok with not being around or talking to people, but my long list of interests and hobbies make me attend a lot of events. And no, these aren’t your usual concerts or sporting events that are linked to extroverted people; they’re such a crazy mix of events that the term “event” is the only word I could use to properly classify them — meetups (sports/discussion/etc), conferences, exhibits, showings, seminars, volunteer drives… the list goes on.

I’ve spent over a decade in participating in these events, and I’ve taken up all of the roles (attendee, volunteer, guest, organizer, sponsor, etc). I can tell the chances of the event succeeding or failing within a few minutes of wandering around the venue.

And this brings us to the point of this post. I’ve noticed that event organizers tend to make the following mistakes that bring down the overall quality of their events. If it’s your first few events, it’s understandable, but I’ve seen some organizers still make the same mistakes on their 5th and later ones. (And that makes me sad.)

Continue reading “Common Mistakes in Organizing Events”