13 things that can make programmers happy
In every specialty there are certain things that can make you happy or frustrated. Programmers are not an exclusion. Of course they are also human beings but there are a few things that can boost their mood like crazy. Let’s talk about that.
#1 – Learning a new technologies, solving difficult tasks
Programming is that type of jobs where you have to learn something new constantly. There is no way you will sit without anything to discover.
This process of gaining a knowledge, acquiring new skill is a real gift to a programmer. Give them a little bit more time, and they will be happy to use this new technology in your brand new project.
For instance, last year my stepdad was challenged with new protocol called OData. It is absolutely astonishing thing to implement if you know how.
Unfortunately nobody have ever used this protocol in Ciclum before, so he was the first one to play with it. Ones he figured out how powerful it was, and was the first who applied it in the company, he was indeed happy.
Afterwards he even created a presentation to show how this thing works, and received a name of Mr. Odata Man, which sounds really cool :)
On the other side, if a programmer is not challenged with new technology or new level of problem, he will be bored of his mind, thus his level of productivity and engagement will go through the floor.
I love learning new ways to solve problems. I love working with like-minded teammates on immense projects. I love reminiscing with those teammates over all the crazy stuff we've been through. I love the feeling of creating something valuable, unique or difficult. I love when my creation is useful to other people, or brings them joy. Marty Naselli (web-developer)
#2 – Staying at good project
This one can be quite obvious but programmers love great projects. In fact, if they find that the project is not that appealing, they won’t take it, unless there are no more free projects to participate in.
In IT space usually projects can take from 3 month to several years. The most optimal time is 6-12 months. In this gap you can refine your skills and get to know what you are capable of.
Also this amount of time is quite enough to get used to this particular project, and leaving it may be a little bit painful.
Imagine you work with something you absolutely adore, you love the area, you love your team and a set of technologies is amazing. Over time you know almost every aspect of your project, and you started to call it your baby. And then you realize that your deadline is set, you have a week or so, and your project is gone.
Of course you will feel frustrated, you worked on it for so long, and now it’s done.
The most important thing here is to learn how to integrate your success and just to let go.
#3 – Customer knows what he wants
Nowadays the vast majority of programs are created by using Agile approach. I don’t want to get too much in details here but the most important aspect in Agile is that customer can change what he wants, meaning the original requirements may not correspond with the final product.
Frequently a customer, who is just a normal person, have no idea what he wants precisely. He may describe his vision of application in general form but it’s not enough.
In programming we have to know exactly what we are building, the more details, the better result.
This problem leads to customer discontent. He thinks that we don’t understand him, that’s why we create not what he wants. But the reality is that he is not clear enough.
Sometimes it takes more time to get from customer as much words as possible, than building a product itself.
Therefore a person who knows exactly what it is he/she wants can make not only programmers happy but the entire team.
Making people's dreams come alive. Talking to people, finding out what they want and them building it is a real treat. It's not always happy days (detailed specs are a must), but generally it's very rewarding. Toby Worth.
#4 – When your Frankenstein is working
There are scenarios when you have to develop a project using technologies that just haven’t been used together before or just can’t be used together.
Of course nobody likes that kind of stuff but sometimes requirements command what you need to accomplish.
That’s why programmers may spend days, not even hours, to figure out how to put those pieces together at work. This process is hurting but at the end you can see a wide smile on programmer’s face. That can last not that much but it doesn’t matter because the deal is done, and the person is satisfied.
#5 – Starting to work on a project from scratch
Most of the time if you work in a company, you are coming to a project that has already been developed, which means that some code has already been written.
Evidently every programmer has its own style of writing, despite of the fact that there are certain conventions and requirements on how to write clear and readable code.
On top of that previous developers may not have enough experience to develop a solid structure of project that can be easily expanded and tested.
Hence when a programmer has an opportunity to create a brand new project, he feels excited, especially if he is a senior. By knowing best practices he can finally build something beautiful that can be used for years and by different teams if it is necessary.
#6 – Saying NO to a project that failed
When you work on your project, there will be people who will come and ask you to join their team, startup or whatever.
When you have a power to say No it feels awesome, especially if you found out later that that project wasn’t successful after all. You are feeling happy just because you saved lots of headaches and sleepless nights.
#7 – When your code is used by somebody
Programmers are very pleased when their work is used by another programmers. It feels amazing when your Github library was forked by Wodpress and accidentally you have plus 50 starts in your account.
I was lucky enough to work extensively on a project that became one of the main open-source databases: Postgres, now usually called PostgreSQL. Tens or possibly hundreds of millions of people daily use Postgres itself or some app or website using Postgres as its backend to do any number of internetty things, which makes me happy, Greg Kemnitz was one of lead developers of Porstgres
#8 – When you found a bug, fix it and everything works
During the whole software development lifecycle programmers encounter numerous of errors, in other words bugs. They have to spend quite a while to figure out what is the cause of it, and fix it.
The most important part here is to solve the problem without breaking the existing code, which happens 90% of the time.
When you do fix it, and everything works, it is a very happy moment in programmer’s life.
#9 – Convenient tools
Like everybody else, IT guys have their own instruments to develop applications. They are called IDEs (Integrated Development Environment). Basically it is sophisticated program or environment where you can create new programs.
Thanks for Microsoft, Jetbrains and other top companies, programming currently is a very pleasurable process. That’s why when you’re working in your favorite IDE, you feel really happy, especially when some new useful feature that will simplify your work is coming.
#10 – The product is actually used by somebody
I believe that it is very harsh when you were developing a software for a year or two, and you end up with nobody using it.
It is hard to comprehend but such things happen.
At the same time, when your app is used by thousands of people, you’re feeling proud of yourself, and eventually happy.
#11 – Stack Overflow
This is probably one of the most visited websites by programmers. You can ask professional questions there or you can help to provide a compelling answer that will be very well appreciated.
#12 – Delivering a product before deadline
Every project has its own date when it has to be released. Of course there lots of intermediate dates but this one is main.
It may not be surprise but developers will be so much happier if they deliver a product earlier. A customer and the whole team in general will be really grateful for such move.
#13 – Hackathons
I’m not sure that this one is common through more experienced developers but for those who just begin and want to test their abilities is the perfect place.
In simple words Hackathon is the place where a bunch of developers, designers, marketers etc. are gathered together to challenge themselves.
They are usually split into teams (you can come with your friends or meet somebody at the spot), and have a certain task to accomplish in a span of 24-48 hours.
This task can be anything: app, game, website, whatever. Sometimes you can bring some of your drafts to Hackathon, sometimes you’re not allowed to use external code or libraries so you have to make it from scratch.
This is one of the most fun events a programmers can do. You can apply all of your existing skills in real world and make new friends, which is always a nice bonus.
Great post! I am an aspiring programmer. Good to know these things. Thanks
Appreciate that you find this post valuable. Hope you'll have a very great time coding :)
Hi @dmitriybtc , I am also an aspiring web developer/ programmer at www.hirewebdeveloper.com and i must say your post is amazing. Very Nice!! I go through couple of your posts and all are equally very interesting.
wow.. late for read.. But awesome article.