First odd prime birthday

Children at a birthday party

Actually I forgot the actual date. I thought it was today, but it turned out to be yesterday. Oops. Sorry, blog.

So yesterday, 12 June 2010, Polymath Programmer turned 3 years old. *trumpets flare, streamers float and white doves fly into the air* Originally, I wanted to keep it quiet. No fuss, no muss. Just continue writing stuff you’d find interesting. Then I remembered that June 2010 was special to me personally.

Hence, in a whirlwind of idea creation, I want to thank you for reading Polymath Programmer. If you are one of the first 3 people to email me (or if you prefer the contact form) with the subject header “Polymer Birthday” (within this month, you know, because it doesn’t make sense next month…), you will get:

  • A postcard sent to you from Singapore, with a personal message from me.
  • The next 3 issues of Singularity for free. I’ll even give you the current June 2010 issue as a bonus.
  • The Secret History of Polymath Programmer.

[UPDATE: 2 people have "won". Only 1 left. Start emailing...]
[UPDATE: All prizes taken. I thank the 3 people who emailed me.]

I will obviously require that you provide your physical address for the postcard to work. I promise it will be kept confidential, and will only be used to send the postcard to you. But if you’re not comfortable, I can scan the postcard with the message and send you the image. Either way, you’re getting a postcard.

As for the secret history thing, I will tell you things that few people ever know about Polymath Programmer and me. I’ll tell you why June 2010 is special. You’d probably laugh. You might sympathise with me. Hey, if nothing else, you’ll feel good. Everyone loves secrets.

And if you’re looking to advertise in Singularity, you’re in luck. If you contact me within this month, you get a heavily discounted rate. (click here for more details)

That’s it. Enjoy the rest of June. It might even be summer for you. I can completely relate to you, being in ever-summer-Singapore.

[image by Rich Legg]

Stuff I am doing lately

I had a tumultuous past month (or so).

My network adaptor died on me, and since my computer then was about 5 years old, I thought “Why not just get a new computer?” So I did.

Due to some personal reasons, I feel a bit worn out. So I’m putting that ebook project on hold for a while. Partly because I’m also channelling my energy to another blog. Please visit Honeybeech, where I tell stories, mainly about my Dungeons & Dragons gameplay adventures.

Rest assured that I’m still here. So I’ll be writing math and programming topics here at Polymath Programmer, and RPG/fantasy/fiction stuff over at Honeybeech.

Because even programmers need to eat (as in “eat properly”, despite whatever you’ve heard about pizzas and fizzy drinks), I’m writing an ebook as a D&D game supplement. It’s called Math Wizard (I know, it’s so “me”, right?), and the character’s powers are mostly based on math and science concepts.

Considering all my options, I believe I have a better chance at making “Math Wizard” work better than “Discipline and Deflection” (the original ebook project). I also believe the former can inspire more people and ignite their imagination and curiosity than the latter. I will still create both, and I’m just constrained by time and effort.

A friend also introduced me to a book store here in Singapore called BooksActually. They have a sister branch called “Polymath & Crust”. Awesome! They have the word “polymath” in it. I have to visit that book store.

Polymath & Crust

The store is located at No. 86 Club Street Singapore 069454, if you’re interested.
[Disclosure: I'm not paid by them. I even bought a book. See below.]

We went in, and it was a quaint little place, carrying books that you don’t see in major book stores. My friend bought himself a dictionary of symbols, and I bought a dictionary of mathematics.

Dictionary of Mathematics

Even their paper bag is interesting. I wonder what that interesting shape mean?

Polymath & Crust paper bag

Are corporate programmers also polymath programmers?

I’ve been writing for more than 2 years now, and I realised that I never told you much about my professional job. Let’s start with a brief summary of how I started…

Beginning of professional career

I started working a few months after I graduated in 2002. I had a science degree in applied mathematics and computational science, but that didn’t stop me from applying for the software engineer, software developer, application programmer, systems analyst and other confusing variants of the job title. I like programming.

Once, I worked in a startup company, writing software to deal with patents. One of the requirements was “must know regular expressions”, used for searching through the patent text, so I put my mind to learning it. I got the job. The funny thing was, the CEO handed that part of the coding to an intern. Oh wait, a PhD intern. Maybe I wasn’t qualified to touch regex…

Somewhere in that career history of mine was a software development house. The team I was in, was assigned to develop an enterprise product for a Japanese company. It’s an internal website, and handled work flow processes, task assignment and other enterprisey functions.

Half the time, I was helping to complete some sections of a business class. A third of the time, I was doing the testing, because I seem to be the only (expendable) one with more than coding skills. Because I had experience talking with users, coming up with specifications, database design, setting test environments and oh yeah, coding.

They even offered me a role in translation, after they heard I knew Japanese. Correction I told them, I knew a little teensy bit of Japanese. They had an overflow of programmers I guess… (it was a team of 10 programmers. Or was it 12?).

In the present

Currently I’m working in a telecommunications company in Singapore. Actually, I started my first job in the same company too. After the first few years, I joined the startup. Then left and joined the software house. Then left, and rejoined my current company, but in a different team (still in the billing support department though).

The interesting thing is that I’m dealing mostly with satellite data, not mobile phone data (one of the core business of telecommunications companies). And my users are like a complete company, albeit on a small scale.

They have their own departments on customer service, marketing, sales, and to a certain extent, their own IT team. And that IT team is composed of 3 people. And I’m one of them. I have a supervisor and a colleague who handles the backend programs (mostly C and C++ on Unix).

Me? I’m the frontend guy, and the everything-else guy.

Because of the unique service (compared with the rest of the company) dealing with satellite data, my team is involved with everything from the call records of the customers, to the configuration of their price plans, to billing the customers, to settling profit with the satellite providers. The satellite business is quite interesting, and I’ll tell you more in a future article.

The other team mates focus on collection of the raw file containing the call records, processing them, calculations of the bills and other backend stuff. I handle all the stuff that users will see and interact with, like Windows applications and web applications. And I manage the Windows servers the web applications are running on. And there’s the updating of the SSL certificates for the web applications. Once I was at the data centre during a power maintenance, because someone needed to be there to flip the on-off switch of the servers and check on the equipment.

My work is seen by a lot of people, which includes the customers, the sales staff, the marketing staff, the product managers, the administrative staff and the customer service officers. This means I get a lot of queries.

If a number doesn’t tally with the total, someone sends me an email.
If the font size is too small, someone sends me an email.
If the Excel download fails, someone calls me.
If the data cannot be found, someone calls me.
If they can’t open an FDF file, they call me.
If the offshore Chinese colleague have questions on business logic or web design or code design, he/she calls/emails me.

If [something happens], someone [calls/emails] me.

In short, I get interrupted a lot. Nice private offices? Not a chance.

And I still have to write code so the projects actually ship before deadlines.

There was once where I had 1 month to come up with a new website for the customers to view their call records (brand new .NET web application, new user interface, completely new database schema). That was a December (the sales people had to move fast to get that contract before the start of the next year, which meant I had to work fast). And another colleague from another team was reassigned, and his work was handed to me (basically I was covering for 2 teams). And I received calls and queries from the users of both teams.

And the new website was out in the world on time. *whew*

Do programmers who work in a corporate environment go through similar experiences? Do they handle many non-programming related work? Are corporate programmers also polymath programmers?

I’m stumped, since I probably have this naive notion of programmers just programming (to a large extent). My friend once asked me what I do at work. I didn’t know how to answer, so I rattled off a few tasks mentioned above, and he’s surprised I do so many different tasks. Particularly when I sometimes have email correspondence directly with customers, which I try to avoid for business reasons. The sales and customer service teams are supposed to be the frontline, not me.

Helping corporate programmers on time management

This brings me to a personal project. I’m creating a product about time management for corporate programmers, working title “Time management for corporate programmers – Handling interruptions, removing distractions and getting the Flow”. Or some such.

All the writings and articles on this site will continue to be free. I’m writing an ebook to help fellow corporate programmers (maybe even programmers in general) with what I know. And this endeavor might just be able to support this site. The articles are fun to write, and I love the brilliant comments by you (even the ones that tell me I’m wrong. Those are awesome).

Actually “time management” is too specific. I’ll be writing on discipline, control and health. There will be some quick tips on data migrations and doing your miscellaneous tasks with free tools (because you know, companies are always cutting the budget). My notes actually look like a jumbled mess, but maybe that’s the nature of polymaths… or just me.

So do you have any questions about time management in a corporate setting? Or even time management in general? What are the typical tasks you do? How can I help you do your job, the tasks you really want to do (it’s coding and shipping software, right?), better?

*whispers* Psst, it’s ok if you’re a student/coder. I was a student/coder once. Just ask.

Let me know in a comment, or if you’re shy, use my contact form to email me privately. You can also talk with me on Twitter (@orcasquall).

I’m really excited about this project.

You are now a Polymer

Ever since I started writing, I’ve been just a little concerned over the name of the blog: Polymath Programmer.

I want to write on topics that I’m familiar with, that I’m fairly good at, that is interesting. Programming formed the main focus, and slowly mathematics as well. I want to bring in other disciplines as well, even if I’m not very good at them, because they’re interesting or somewhat related to programming. Thus was born my main quivers of articles.

Polymathy perfectly encapsulates what I’m trying to get people to understand, to bring together seemingly disparate topics and synthesise them into a solution. Since I’m passionate about coding and its related subjects, I came up with “Polymath Programmer”.

Even though it’s just two words, the first one is big (who knows what “polymath” means anyway?), and both are 3 syllables each. Add them together and I get a long URL. Not very conducive to spreading the word.

Yet it feels right. So I left it as it is. You’ll have to imagine the kinds of typing acrobatics I perform whenever I comment on another blog, or key in my URL. I remember I was registering for a local bloggers’ event, and I made 3 mistakes (3!) while typing in my own URL. I don’t like laptop keyboards…

I want to shorten it. I hope to get people following this way of thinking, of coding, of solving problems. It’s hard to say “I’m a Polymath Programmer”. Doesn’t roll off the tongue easily.

So I put forth all my linguistic skills into play, cutting words up, switching them around and joining them.

  • Polyrammer
  • Polygrammer
  • Programath
  • Polyprog

Finally, I came up with one. It’s even an actual word. This word actually has similar meanings to what my grand idea is.

Thou art now a Polymer.

What do you think? Hopefully, the chemists don’t hammer me…

Doing one thing well isn’t enough

It is that time of year when the students begin classes at the local universities. If they behave like what I remembered when I was studying, they’ll choose whatever is most profitable when they start working. Or whatever they excel in, hoping that their chosen degree helps when they start working. Concentrating their efforts on one thing, thinking it’s the best use of their university time.

I think we’re churning out enough specialists. I know of efforts to create well rounded individuals, who study a little bit of knowledge outside of their area of expertise. This is not enough. In this age of information, where knowledge is key, having information from diverse sources is critical. Understanding information from diverse sources is even better. Well rounded doesn’t cut it anymore. We need more polymaths.

Competing to be the best is commendable, and encouraged. The thing is, all the popular fields are taken. You want to be the best golfer? Go ahead. You want to have the largest software company? Go ahead. I just think there’s an alternative. I agree with Scott Adams (of Dilbert), who thinks becoming very good (top 25%) at two or more things is easier.

For example, a company needs a competent programmer. Hey you’re good enough. The company also needs a competent web designer. Well well well, turns out you’re good at web designing too. Match made in heaven.

You don’t have to be the best. Being 2nd best is often good enough, because you only need to be better than most other people.