StackOverflow – a missed opportunity

Back when I was young and mostly stupid, I discovered StackOverflow. The site struck me hard. There were a lot of “Wow” moments for a third year student. I still remember the first time I asked the first question, then even think about the questions to ask (so I can gain some precious reputation – yeah, I was young and stupid, remember?), and the first time I tried to answer a question myself.

It has been a long time since those days.

I still use StackOverflow, even at this very moment. But it’s on demand, instead of browsing it everyday as a habit. I search for a question, read the answer, possibly vote it up, then leave. Sometimes, when I have absolutely nothing to do, I try to review the suggested edits from other users. And that’s it.

I don’t entirely leave StackOverflow, I just don’t actively use it any more.

Continue reading “StackOverflow – a missed opportunity”

What does it take to be a developer?

No I’m not talking about becoming a “developer” like Bill Gates, or Mark Zuckerberg, or even someone less “famous” like Linus Torvald or Anders Hejlsberg. Man, I’d give up many things to become one of those. To become such successful developers, you must be extremely talented, extremely determined, and of course, a sizable amount of luck. I’m talking about an average human being, trying to become a person who can enjoy his work (and hopefully, provide his family with that work). 

Somebody might think, it’s easy to be a developer today. Most problems can be found on the internet – by searching Google, or asking questions on sites such as StackOverflow. Some might even jokingly define “programming = copy and paste answer from StackOverflow”, but we all know that, it takes more than that.

I’ve been trying to answer that question. I’m not a great developer by any mean. A decent, at most (My boss has been saying that I’m doing a very good job, I truly hope he’s not just being nice). It’s been 14 years since I get into programming, 10 years since I made the final decision to be a programmer, when I chose the faculty at my university  and 6 years since I began my professional career as a developer. It’s been all natural to me – what does it take to be a decent developer?

Continue reading “What does it take to be a developer?”

Joel test scores are (somewhat) outdated – you should ask something else

Joel test scores are widely accepted as the “12 golden checks” for interviewee to ask interviewer during an interview. They were originated by Joel Spolsky – and his blog was famous among developers, they were quite well-known – and have been popularized even more with StackOverflow (where Joel Spolsky is one of the founders). StackOverflow Jobs even have a check list for recruiters when they post their job vacancies. Here’s the list:

  • Do you use source control?
  • Can you make a build in one step?
  • Do you make daily builds?
  • Do you have a bug database?
  • Do you fix bugs before writing new code?
  • Do you have an up-to-date schedule?
  • Do you have a spec?
  • Do programmers have quiet working conditions?
  • Do you use the best tools money can buy?
  • Do you have testers?
  • Do new candidates write code during their interview?
  • Do you do hallway usability testing?

The list served its purposes for a long time – and I can say it, to a point – contributed to software industry. When developers are aware of such things, companies need to adapt to attract talents – resulting in better work environments and processes (again, there are companies which do that well before the list, and there are companies do not care about it at all).

Continue reading “Joel test scores are (somewhat) outdated – you should ask something else”

It’s Microsoft, after all

The news that will interest most of .NET developers today, is Microsoft decided to sack project.json and come back to MSBuild.

We feel lucky because we held off the transition to ASP.NET Core, but the other teams in my company might not be as happy. They will have to move back – and that means there will be a delay in developing new features. (Yes, we invest in a pre-release framework, because that’s what you need to do to stay ahead of your competitors)

You might say you saw it coming.

It’s not the first time Microsoft creates something cool, lets some of us fall in love with it (or even have our lives depends on it), the eventually kills it off.

Remember Silverlight?

Or XNA?

Or Windows Workflow Foundation 3.5? Technically there was WF 4.0, but the API:s were entirely changed, to the point that we can consider Microsoft killed WF and created something else with the same name.

Sadly enough, this is not uncommon in the software industry – especially in a big company like Microsoft. Microsoft has many divisions, each division has many teams and those teams, unfortunately, *compete* with each other, sometimes. Sometimes they win. Sometimes they lose the battle and their product is killed in a favor of other product from other team. It’s not something super secret about Microsoft – in fact – it’s quite well known.

It’s bad habit, without a doubt. You invest your time into learning it. Your company invests their money into using it. And then you have to start all over, again. You can still keep using the technology, it will not just die, but the does mean you put yourselves in the risk of lagging behind and security threats.

This time, it’s slightly better because the ASP.NET Core, technically, has not been released yet. It’s still bad because Microsoft should have made the decision before the Release Candidate, but I feel lucky. What if Microsoft makes it to ASP.NET Core 1.0, and we use it, then they kills it off in 2.0? What if we invest hundreds of development hours into it and then spend another hundreds of hours reverting back?

For me, personally:

It’s good thing this time we don’t have to learn a new thing. It’s bad thing this time we don’t have a new thing to learn.

 

 

Hiring process might suck, and how to fix it

I recently read this post F*** You, I Quit — Hiring Is Broken
and found it interesting. If you have time – read it (and of course you should have, because this blog is far less famous than medium.com – the combination of page views for post in this blog is very likely to be much smaller than that single post).

I feel bad for the author for being in such situation – getting rejected 5 times in a row, is a hard thing to swallow. Especially when he is considered famous in developer’s world/ and has big passion in coding. And it’s not the first time, we hear someone rants about the hiring process, and it’s very unlikely to be the last. Let’s agree that the hiring process for developers might suck.

But then, it’s the way it works.

The first time no offer given, it’s probably their fault. The second time no offer given, it’s probably a bad luck. The third time no offer given, it’s probably your fault.

Continue reading “Hiring process might suck, and how to fix it”

Git: In easy steps – Another book project

Git: In easy steps cover
Git: In easy steps cover

Well, I might start a living based on writing. If my books sell good enough. Yes, it’ll be available on Leanpub and you can register now to get a notification: https://leanpub.com/gitineasysteps.

In this Easter I decided to start a new book project, based on what I’ve been doing daily: Git in easy steps.

Who is this book for?

This book explains Git concepts in a simple way, with examples in Git Extensions – the Git client to beat. It will walk through the flow and see what should we do, and why. Needless to say, it’s a beginner book. If you are already a Git expert, look else. (Of course you are still welcome to buy this book, well, you know, to complete your collection).

Continue reading “Git: In easy steps – Another book project”

Lessons learned from running a blog

Expect yourself to do many things, if not everything. You’ll be an administrator, a developer and a writer, all at the same time. This blog is the first time I install WordPress, first time I install and configure Apache, first time I configure CNAME or so, first time I use Google Adsense. It was not smooth all the way, but it’s not that hard and it’s really rewarding when I got it works. One after one. I failed sometimes, like when I tried to make WordPress runs on PHP7 (I’m not a PHP developer after, so I run away when the problem gets out of hand), but for most parts, I can find an answer from here and there on the Internet. Thank you, internet.

Attracting visitors is hard. Internet is full of things and no matter how you try, there are always other content somewhere more interesting than yours. Except if you are exceptional good at writing, or you are famous person, most of the people will not visit your website. Not even one. And sadly enough, many of your visitors will not return, even if your website was helpful to them. You helped them to solve a problem and that’s it. Attracting visitors is already hard enough, and keeping them coming back is even harder.

Continue reading “Lessons learned from running a blog”