The first rule you need to observe to become a Professional Developer

The inspiration for this post came to me while reading a few invitations I received from some of the “modern contracting” websites. I’d like to thank them for giving me a chance of some good bashing, but I won’t write their names here as they don’t deserve free advertisement.

A bit of background

I registered on some of these websites some time ago, because I needed to outsource some work I could not do myself. Despite being the Client and, thus, looking for someone to hire, I also completed my professional profile in the Contractors section. I did it  because I like to know the background of people with whom I collaborate, and I think it’s only fair that they get to know about me as well.

The drawback of this is that now I also appear as a Contractor, which allows other Clients to invite me to submit proposals to their projects. I was aware of this, and I thought it would not have been a big deal to reject an invitation, from time to time. Also, I saw it as an opportunity to get in touch with new prospective Clients and establish a relationship outside these platforms. Things went as expected for a while, until I started receiving invitations so disgustingly arrogant that ticked me off. Read more

New Release – Cron Jobs Plugin for Vanilla Forums 2.0

Today is a big day, I finally released my first plugin for Vanilla Forums. It was about time, I started using Vanilla in February, and worked on several plugins for many weeks, but they were all “work in progress” and I never felt that they were ready for release. It’s so typical of Developers, looking for an unreachable “perfection”.

Two words about Vanilla Forums

If you don’t know it, you should try it. There are many forum frameworks available on the market, but, in my opinion, Vanilla is by far one of the easiest to use, and one of the fastest. It’s not as widespread as phpBB or vBulletin, but it’s powerful and well designed. Although its documentation is somewhat scarce, such issue is more than compensated by Vanilla Community. Even though I joined only a few months ago, I feel that I already became famous, considering the plethora of questions I asked. Still, not a single one had been left unanswered.

 The reason behind the plugin

Unfortunately, one of the features that Vanilla is lacking (as of version 2.0) is the possibility of running scheduled tasks. If you’re familiar with CMS like Drupal, you’ll know that they expose a special URL which, when opened, will go through all the Cron Tasks registered by plugins and executed them one by one. Although many Users won’t miss such feature, it becomes very important for bigger communities, where the need of regular maintenance tasks acquires a higher level of importance.

I, for one, needed exactly that feature for the first plugin I developed. In its simplest form, it will query forum’s live tables to create statistics, but it will become slow once enough data will be collected. Its Cron Task will, therefore, involve consolidating older data and produce snapshot summaries, to be queried instead for better performances.

More details

I won’t go into much technical detail in this post, as all the information on how to use the Cron plugin is on its download page, on Vanilla Addons website. If you use Vanilla, feel free to download it and give me your opinion. Should you like it and find it useful, feel free to buy me a coffee. 😉

Enjoy!

A new section is open: Downloads

Over two months have passed since my last post, and I realize that the backlog of the things I wanted to write about is growing every day. However, I’m stubborn and I won’t get discouraged, especially now that I learned how to stop making goals, and I switched to projects. Much better feeling, stronger sense of accomplishment, definitely a better way of planning. If you’re a supporter of the idea the one should set goals, you definitely have to try working on projects instead. I promise you won’t go back to goals, ever. This is a topic for my other blog, though, and I might discuss it there.

Back to the original topic

As written in the subject, I can finally open the Downloads section, and I’m doing it by publishing a script that will hopefully save a good amount of work and some serious headache to all Developers who, like me, start working with the powerful, yet very complicated, Magento E-commerce framework. Read more

The effects of Technological Religion – Case Study

This post is an addendum to Golden Rule: a Developer is not a Priest. For better understanding of the context, I recommend to read that post first.

Technological Religion is something I found in several places where I worked and, trust me, its effects have never been positive. I remember a case where the fanaticism of two teams was so strong that it created a barrier between them. Here’s their (sad) story.

Once upon a time…

In a town, somewhere in Europe, there was a Company in which two teams lived in not-so-much harmony. Read more

Golden Rule: a Developer is not a Priest

One may ask what do the two figures can have in common. It’s better explained with a preamble.

Today I was reviewing a website (link no longer available, sorry) created by my protégé, when I spotted something that inspired me to write this post. As I usually do, I visited it using several browsers, to check if pages render correctly in all of them. When I opened it with Internet Explorer, all I got was the following message:

We don’t like Internet Explorer.

I’ve seen many websites declaring a browser preference, usually in the form of “this website is optimized for browser X, version Y”, but this is the first one that clearly rejects one so “harshly”. I know the author of the website and I’m aware of the reason why he decided to do it, but, personally, I don’t recommend taking such position.

The message reminded me of an (unfortunately) common issue in the world of Software Development: technological religion. This term can can be described as an almost-fanatic preference of a tool over another, and it explains the title.  Read more

Overview of a Developer’s Career – What Software Development is not

As I mentioned in the first post, some of the people who asked me how to become a Developer gave me the impression of having the wrong expectations. To avoid disappointment, it’s a good idea to have a look at what not to expect from a career in SD.

It’s not a “get rich quick” career

IT seems has been in a state of constant growth for many years now, and it seems it’s only going to get bigger. The market offers plenty of opportunities for a skilled Developer, and, due to the high demand of such professionals, salaries are fairly high. However, you must not expect to become a millionaire. Even if you aim to become the best Developer in the world, you won’t become rich just for that.

If your main goal is making a lot of money, I’m afraid you’re on the wrong path. You should be learning business and marketing instead. In fact, the founders of Google, Facebook, Microsoft and so on were not such great Developers at all. What made them successful were excellent timing and business skills.

Of course, you can always learn those skills as well, but the hours in a day are limited and chances are that you will have to choose something to leave behind. The truth is: Software Development doesn’t bring money. Sales bring money.

It’s not always fun

There will be moments when you’ll ask yourself why you didn’t choose another job, or simply didn’t work in your parents’ farm, instead of dealing with yet one more frustrating issues. Even if you spend sleepless night to make sure everything is perfect, you’ll always have someone in the team who will screw something up. And that person may be you, since you didn’t sleep for so long. The best thing you can do is to accept that issues are normal, and be ready when they arise. Take it easy, your passion must not be a reason to destroy your health.

It’s not an easy discipline

This is probably one the reason why so many “Developers”, to put it clearly, suck. SD is complex and it requires you to have at least a basic knowledge of other fields, such as System Administration, Networking and Design. You then have to put the pieces together, and make sure they run smoothly. Even from a pure coding perspective, you have to learn best practices, know when to use them, learn how to do proper testing, and get used to the fact that you’ll work on the same thing over and over until they are complete. Finally, you have to cope with the fact that the only projects that you’ll ever close are the ones you’ll abandon. All the others will, hopefully, in constant evolution and you’ll work on them for years.

Bottom line

There would be much more to write about becoming a Developer, but I covered some of the most important points. At least, you should now be able to evaluate your priorities and see how they would fit a career in Software Development. If you think it’s your future, I hope I’ll keep having you amongst my readers and I’ll do my best to help you.

In my future posts, I’ll write about the concepts of working smartconstructive laziness and effort investment, from a Developer’s perspective. See you soon!