Are Certifications Worth It?

About a decade ago, I experienced – what I consider – an explosion of ‘certified professionals’ in the software development world. From programming languages to operating systems – and even software development practices like agile methodology – there was a certification available for everything.

Some of these certificates made sense to me. For example Sun Microsystems issued SCJPs (these are now OCJPs from Oracle). This made sense because Sun maintained Java – so in a sense they were the authority on Java education, so their certification had value. Others – like “Certified Scrum Master”- made no sense to me. Who was giving it out? There’s no authority or regulator for the practice of scrum. And more than one organization was giving out these certificates – raising the question of which one was more valueable. But still, if a certification was merely there – it didn’t even have to be popular – if it was just present, I saw people attempting it, paying their fees, and proudly labeling their resumes with their shining new certification.

When Are Certifications Useful

1. You Don’t Have Any Other Credentials

If you don’t have any other credentials or work experience to put on your resume, a reputable certification would come to your help. Since the software development job market is so competitive, recruiters simply don’t have time to properly analyze resumes and they have to scan through resumes as fast as possible. There are no good systems (yet), to crunch the world’s resume data and help them pick candidates for their team. So when you don’t have any stellar academic credentials, or big-brand job experiences, a popular certification will come to your rescue.

2. You Are Attempting a Rare Niche

There are some technologies, where knowledge on it is quite rare, that your potential employer has no idea how to interview you. It’s true. I’ve come across such scenarios. Especially when the employer is trying to hire you for a contract where they only know the name of the technology you should know. So they advertise with a job description, but how will they know if they should pick you for interview? Even if they have arranged for an interview with a third party, (or their client), they still would like to know before hand if they should even shortlist you for the interview. A certification will help here.

3. Your Job Directly Rewards It

There are a significant number of companies, that design their promotion/reward system upon certifications. If this is the case for you, obviously this is useful. Of course I don’t agree with companies that do this, but to you, it should not matter. If you do a certification and will gain directly by it because of your company policies, you should go ahead and do it. Because in companies that do this, people who don’t do certifications are usually at a disadvantage. But don’t assume your company will reward your certification, ask and find out if there is an official policy.

When Are Certifications Useless

1. You Have Considerable Job Experience

Once you have some job experience (say atleast a couple years), and you are not looking to switch from your existing core competency, you don’t gain much from a certification. Potential recruiters will be more interested in verifying if the work experience you claim is genuine and the work experience is valueable. A certificate doesn’t add as much value when you have already done real work in the real world. Practical experience will overshadow text book knowledge.

2. You Are Learning a New Skill

Certifications have absolutely nothing to do with learning – contrary to general belief. Infact, if you are trying to learn something new, doing it with a certification is detrimental. It will narrow down your focus and teach you only what’s required for passing an exam. The real world will almost always be much different in it’s demands. I’ve worked 12 years as a Java developer, and I hardly needed to know the things I learnt for the purpose of my Java certification. If the knowledge from the certification was all I knew, I would have been atmost an average employee. It’s experience that taught me more than any certification could ever do.

3. You Are Attempting a Popular Technology

Although I do have a Java certification, when I think about it, it really has never served me any purpose. I’m not saying anything about the quality of the certification, I’m just saying it wasn’t much use despite it’s tough demands. Java is such a popular technology that any team looking to hire, knows obviously to check how good I am really with Java. They don’t have any reason to even verify my Java certification. They can simply ask me a bunch of questions and discover my competency. But unfortunately, certifications are mostly sought out for such popular subjects.

What’s the Alternative?

The obvious alternative is work on good projects, with good teams. The job market values how well you work with other people, more than how well you know a technology. At the end of the day, you can simply search the internet for that syntax you forgot, but you can’t search the internet for what your customer wants. You can’t search the internet for what makes a good application.

If you are still not employed, you should do your own projects and put them up as a portfolio. Even just one single such hobby project, will put you ahead of any certification holder who doesn’t. Nothing speaks about your expertise and commitment like a well-done, working software that you’ve shipped all by yourself. Not only will your hobby project be an excellent addition to your resume, it will also teach you abundant things that you can’t learn from any certification course.

A certification adds a check mark to your resume. But a hobby project adds character. Things like that show that you have commitment, knowledge and independence. A hobby project will show your style. A certificate just shows you have good memory and that you’re obedient.

My strong opinion for quite a long time now, is that education should be free. Or atleast cheap. Everytime I look at a certification, it just reminds me how much it is not so. A world where you need to give a ton of money to some third party to prove your worth to a potential employer, can’t really be an efficient world. Save your money. Think what else you can do to add value to your worth.

Please Stop Infinite Scrolling

I think this post is more like a follow up to my previous post on whether to use SPAs or not. Confession: I started writing that article, and this one, because of a website that completely irritated me. It was a matrimony website. If you didn’t know, matrimony websites are like dating websites, but you skip the dating and go straight to the wedding. The interfaces are made very similar to shopping sites – in fact it actually feels like a shopping site for brides and grooms.

Of course I have a problem with the ideology of those sites, but I’m here to talk about this particular one – and what irked me about it the most. The fact that it was an SPA was obviously off-putting because the concept of SPA was deliberately and unnecessarily thrust upon the poor unsuspecting wife-shopper. But

Where am I?

I have no idea how much I have already seen. A page with 16 or 20 items which I can checkout and then click on a ‘Next’ button to see the next set of items would have been so much clearer and easy to use. Without knowing how much I have seen and how many more is left, I don’t even know whether I should keep scrolling or whether I should give up. If there’s only another 10 items to checkout, I’ll continue browsing to checkout everything. But if there’s another 2000 items, I’d probably give up.

There’s no way to know that, when the page does ‘infinite-scrolling’.

How to Get Back to Where I was?

After scrolling through a countless number of items, what if I scroll back to the top for some reason? What if I refreshed the page? What if I want to look at the item that I saw a while ago? These are all not even possible when you are infinite-scrolling. You have to scroll back up all the way and find that item again. You have to scroll all the way down if you accidentally refresh that page.

Think about the User

I think the infinite scroll is a classic example of over engineering of a user experience. A classic case where a designer forgot all about user experience and just wanted to be fancy for the sake of their own vanity. Things like that are the bane of user interface design. The designer is so proud of something they did that they completely forget to get feedback from UX testers. Or even from actual unhappy users. The worse thing is, they probably actually spend more money on doing this, over the simple, easy-to-use traditional way.

Sometimes I Need to Reach the Bottom

This is the problem that I actually faced, and made me go on a rant on my blog. The menu I needed was at the bottom of the page. I had to scroll down to the bottom. Only, when I scrolled, the page just loaded more items and I had to scroll again. Then it loaded more items. After doing that a few more times, a brilliant idea struck me and I pressed the ‘End’ button – on a Mac, the end button takes you instantly to the bottom of the page. And surprise! Before I could move the mouse and click on my menu, the page loaded a bunch of items and the menu went back out of view. Not only I couldn’t click my button, the page loaded a ton of content that I wasn’t even interested in.

It’s Slow

Making one server request for a page displaying 25 items, is often faster than 25 separate requests for each item. Significantly faster. In most implementations of infinite scrolling, the page makes more and more requests as you scroll. Also, the experience of waiting for a second and seeing 25 items, is better than the items loading one by one with a fraction of a second gap in between. So infinite scrolling is not only actually slower, it also amplifies it’s own slowness, by reminding the user often that there’s something loading.

What’s Better Then?

What’s better is the plain old pagination. Don’t fix what’s not broken!

Do I know how far along I am, browsing the search results? Yes! Because a list of page numbers on the bottom always show me which page I am on, and among the list of the ‘finite’ number of things on each page, I can easily get back to where I was.

I can scroll down and see the footer, use the footer menu if there is one. My browser doesn’t have to load a ton of content that’s not useful at all to me. I get to have a calm peaceful life.

And the page doesn’t have to load a run a lot of JavaScript code if it’s avoiding fancy things like this. No matter what fancy techniques you use on your page, they will never beat speed. A snappy fast loading page, with familiar user experience is much better than fancy pages with things like infinite scrolling and animations.

Just do pagination if you’re showing me a catalog. Please. Thank you.

SPA or Not

The latter half of the last decade can be considered an explosion of SPAs. With introduction of Angular 2, ReactJS, Vue and a ton of such frameworks, creating highly interactive web pages became very easy. So easy that competing technologies like Java applets and Flash are being pushed into extinction.

Of course whenever a new UI technology comes in, it’s going to look exciting, have a big bunch of people jumping on the bandwagon, some realise that it’s actually not relevant to them, others realise something newer has come, then finally, most of them move on. But this time, a new ‘concept’ was spun out. The concept of SPAs.

What are SPAs?

SPAs or Single Page Applications are a concept, where your whole website is just one HTML page. Pieces of content inside the page get dynamically modified and updated using content from the server. For example, a single page that has a menu at the top and an empty box at the bottom – when you click on a menu item, the page will fetch the respective data from the server and populate the empty box. When you click another menu item, it will fetch different content, and replace the content of the (initially) empty box.

In contrast, traditional web applications are made of several pages. So the above example in traditional style would be each menu item would be a a link to the corresponding web page. Clicking on a menu item would just order the web browser to load a new page entirely. The disadvantage being, it’s a bit slower to load an entire webpage rather than populating just data into an existing container.

How to Decide?

SPAs are not an improvement on the web UI, and as such, it’s incorrect to assume that ‘modern’ websites are SPAs. SPAs are just a different way to make websites. So it’s important to choose whether or not to use them. This has become an important decision to make because there are significant differences in user experience between SPAs and traditional applications. So much so, that choosing the wrong type can either make or break the success of your web application.

When to Prefer an SPA

When you’re making an interactive user interface, where there is communication between the different components of the page, it’s better to do an SPA. For example, a dashboard that shows data as tables and charts. You probably would like if the charts are all interactive and respond to different clicks on the page – like if you click on a geography, all the charts get redrawn to show data only for that geography. Another example is a drawing application – a large canvas in the centre and a set of tools like pencil, eraser, shapes etc in a toolbar. These kinds of applications are even possible only because of the advances in UI frameworks and SPAs.

When to Prefer a Traditional Website

When your audience is going to consume information rather than interact with it, then it’s better to do a traditional website. Think of blogs, news websites, video streaming sites, forums – the bulk of the internet. It is unnecessary complication to do an SPA if the interactivity it brings is not utilised. Because it’s way more complex to develop SPAs than normal web pages. There are more possibility of bugs and weird behaviour. More importantly, you page is going to be unnecessarily large and slow to download – SPA frameworks are usually heavy.

Also, if you are making a website where people come to consume information, then you probably depend on search engines to bring you traffic. Well search engines are not very good with SPAs. Chances are that your website won’t even be indexed by search engines, if it’s entirely an SPA.

How to Choose

By now, it should be obvious that there is more chance that you do not need an SPA, because most websites exist for consumption rather than interaction. Most people come to the internet to read, watch or listen. And a smaller portion usage is interactive applications like posting blog entries, working with documents, editing images and so on. So the choice is simple. If your website is more for reading, watching or listening, then do a traditional site. If your website is more for interacting – filtering, sorting, drill-downs, slice-n-dice, drawing and so on, do an SPA.

How About Both?

The thing is most of the times, your website might have to do both. Think of a shopping website. The shoppers all have to read the pages, look at the product details, read reviews – so it seems like a site where people primarily read information. But, it also has to be interactive -filtering products, sorting search results and so on. What to pick in this case?

Such websites can benefit from both approaches. So I would use a combination of both. Start out with a normal traditional website. Then introduce SPA features into the pages where it’s necessary. So your website would be like a collection of pages, some of which are mini SPAs. For example, the search results page is a normal page without SPA functionalities. But to improve user experience, the product page might have features like commenting, reviewing, browse multiple product images, buttons to add/remove the product from the shopping cart etc. These can be done SPA-style, so that the user won’t be navigating away from the page to do these little actions.

Still Doubtful?

When in doubt, do a traditional website. It’s easy to get a normal website right. But getting SPAs right is hard work. Wait for circumstances to strongly push you towards SPAs – and then you can refactor your website to be an SPA. Because often when the developers are in doubt, it means there’s not much benefit in increasing complexity. Presenting an SPA when there is not need for one, will just make the user experience worse. Where the situation doesn’t demand it, SPAs stick out like sores and sometimes even end up irritating the user. So again, if you’re confused, just do a plain old website and live peacefully ever after.

Is Working Late Good?

If you’ve been working in a team, in an office, for any length of time, you’d surely have noticed that the people can be starkly divided into two categories – the people who stay back and work till its late, the people who pack up and leave sharp at their clock out time. As far as I have seen, the people who stay back are perceived as people who work harder than others – both by themselves and others. For every manager who has insisted people go home on time, I’ve seen probably ten managers who encouraged the staying-late behavior and rewarded people for putting in more hours.

My opinion – a rather strong opinion – on this matter is that people should not stay late for work. Just think back about the basics. Are you working because you have nothing better to do? Or are you working because you need money to live your life? Most probably it’s the latter. Therein lies my opinion. I feel it’s sad if anyone sacrifices their family time, their hobby time, or even their just-me time for the sake of working a few more hours. If you are not even living a life you wish for, then what are you working hard for?

It’s Not Really Rewarding

It is seemingly rewarding – but it’s often not. You would have seen that people who stay late get praised and a lot of times they are the ones who get the hard tasks finished. But when it comes to being rewarded for it, it’s not really worth it. If you have any doubts just look around at your office. The ones that are well rewarded are usually the ones who leave office on time. There’s a reason to it. More often than not, people who leave office on time, surprisingly, are the ones who are more productive, and plan their work better. That’s another thing to debate, I know. But the more important point is, late hours does not imply faster pay raises.

It Cripples You

Here is a difficult question for you – What is more important – achieving your current week goals, or achieving your five year vision? It’s a tricky question because obviously you should not default on your current commitments in favor of your future dream. It’s also wrong to simply be drowned in day-to-day commitments without a vision for your future. If you exhaust all your energy thinking about what you can contribute for the day, how are you going to plan for your future? Not a single one of such people I’ve come across, worked towards, or even cared for their long term goals. Day after day they just slogged with whatever tasks they’ve taken up for the day.

It’s Unhealthy

Of course you already know that it damages your health and fitness to spend prolonged amounts of time at work on a regular basis. But it’s more than that. It also affects your health in indirect ways. For example you don’t have enough time to relax and recharge – this tires your mind, reduces your productivity. So you end up working even more to cope up. It becomes a cycle. Also, the more time you spend working, the less time you have to socialize with other people. It is actually very important that you have face-to-face interactions that are not just for work. It is linked to mental health, longevity and even physical health. In other words, make time for your friends and family – you will live longer.

It’s Bad Culture

If even a few people in a team become available for after-hours, a very bad thing starts to happen. All the planning and task scheduling starts to rely on the fact that people will work late. It is already human nature to over-estimate what we can do in a given amount of time. Adding more hours amplifies this error even more. Sometimes it even unfairly forces other people to put in more hours than necessary. For example, if your manager asks the team whether a task can be completed in half the time, the people who stay late will probably say yes. The others will not want to appear incompetent, so they will also say yes. I’m not saying it’s bad to be competitive, but I’m saying for most jobs, working with commitment for the agreen upon 9-to-5 is already competitive enough.

You’re Probably Slacking

Except for a very few workaholics, I have hardly noticed any correlation between higher hours and better productivity. The people who stay late spend more time doing things like chatting, taking breaks, browsing the internet. They have too much distractions to finish their job on time. It is to make up for this that they stay back late. Also, because of not managing time properly during the day, they often get stuck delayed on their tasks. So they often don’t have a choice, but to stay late and finish their task. I say this because even for the very hard working people I know of, staying focused for more than a few hours is not possible. If you are a hundred percent focused on your work, for about 6 hours a day, you are already ahead of most of the people working day jobs.

But There’s an Exception

One exception is when you consider your job as the most significant feature of your life. Then you are living the life you wish by working late. But I doubt this is the case. Most jobs today don’t really give the fulfilment of contributing meaningfully. I’m not saying it’s because they are not useful, but rather it’s because any meaningful task today has to be broken down so much that in isolation, it’s very hard to feel what you are doing is meaningful. Or in other words, your company’s product might be impactful, but your contribution is most probably a small cog in it. If you want to find out if this exception applies to you, think whether you are working late because you are motivated to solve a problem or to make a contribution? Or are you working late because you want more salary or to get ahead of competition? Simple.

Conclusion

It would be wrong to say that no one should stay late at work and it’s simply enough if every one just works the time they committed to. There are scenarios where you have to – and you must – give importance to work and sacrifice a little bit in other areas. So I will put it like this: Valid reasons to stay late at work –

  • There’s an unexpected problem at work and it needs to be resolved right away. But it’s just an isolated occurence. You need to be late just the one odd day.
  • You are driven and completely motivated by your job. You are trying to churn out an impactful product / service that would give you so much satisfaction.
  • You are the CEO of your company. If you are CEO (or another designation that’s right there on the top), it’s not really possible to expect it to be an 8-hour job. It’s unfortunate, but that’s how it is.

If those three points don’t apply to you, there’s no reason for you to stay late. You’re probably making a mistake by being occupied with work more than necessary. You need to fix this and manage your time better.

Don’t Watch When You Can Read

For a few years, until a couple months ago, I was on a video lessons subscribe spree, registering for video lessons on almost every topic on earth. Drawing lessons, piano lessons, programming courses and so on. Not only those, but also several YouTube channels for entertainment – fun facts, interesting science stuff, crime reports, movie star interviews … just about everything was videos, videos, videos. The explosion of videos on YouTube and the tons of video courses that were dead cheap, had me thinking there’s so much I could learn for so little money.

As I was thinking all is well, they gave me an ebook library subscription at work. I went on to pick a couple ebooks on it and went about reading them. That’s when I realised, videos are no match for reading. I’m not sure if this is just for me or whether it applies to everyone. I find that it’s much faster to read from books than learn from videos. I also find reading more effective.

Photo by Jamie Street on Unsplash

Reading is actually faster. It takes only a few minutes to read almost any article such as this blog. This is because we are trained to skip a lot of words and move through the text very fast. Over the years I suppose our brains have developed to a state where they know what is being read without having to read the entire syntax or even all the words. We read by keywords. Also, reading was at my speed. If the material was difficult, I read slow, if it’s easy, I read fast. A video would read at the presenter’s speed. I can maybe do 1.5x or 2x speed on the video but that’s not even the same thing.

It’s possible to copy-paste. If I’m going through a tutorial or a lesson on an ebook or an internet article, when I want to try out some command or a code snippet, I can simply copy-paste it. Even when I want to use it as a sample and write my own code, I still copy-paste it to my text editor as a reference. Needless to say, this was out of the question when my search results sent me to a YouTube video.

Progress only if I’m there. If my mind wanders off mid way for a few minutes, when I come back I’m not even sure where I left the video at, it keeps running anyway. This is not a problem while reading. You can simply return to the spot on the page where you were before you started day dreaming.

Less distractions. Of course it’s being extremely difficult to be without distractions today. But still, there’s a big distance between reading and watching videos in this matter. Almost all video sites constantly badger you with ads, suggestions on what to watch next, related videos, comments and so on. These are all much lesser when you are reading. And practically non-existent if you are reading an ebook.

Correctness. I believe text material such as books and reference websites are inherently less error prone. Simply because making text is much simpler and hence there could be more focus on accuracy. And another more important reason is that most video makers don’t bother to edit and repost their videos in case there is a mistake. Maybe they’ll drop a comment or a note in the description – which we might not notice. But books and articles are easy to update in case an error is spotted.

It’s more entertaining. When you are consuming for entertainment, reading a story engages you much more than watching it on a video. You imagine the visuals and sounds as you read the story. It builds more connections in your brain and it is a more active task for your mind. The TV used to be called the idiot box for a reason.

There are a few areas in which videos excel – for example in presenting 3D pictures – like how are electrons positioned in an atom, in presenting art-related education – like how to play a musical instrument and so on. But these are only a few. For the most part, especially if I’m trying to learn something, I find reading is definitely more effective than watching.