In response to those companies, hiring managers, interviewers who keep asking the same question:

Where can I find great developers?

A developer becomes a “great developer” when the company, team, resources, projects, recognition, etc., are compatible with that person. Under that logic, I believe any programmer can be great if they desire to do so and find the environment and motivation to thrive.

Most technical interviews fail to find the right people because interviewers and hiring managers usually go at it with an “idea” of what a “great developer” looks like to them. In most cases, everyone ends up hiring people who don’t work out and miss out on people who could have become the “great developers” there were looking for in the first place.

This is the fifth and last article describing SOLID principles. This article is about the Single Responsibility principle. Hopefully it will help you understand what the principle is all about and why it’s important to keep it in mind when designing and writing your code.

What is the Single Responsibility principle?

Here is the definition from Wikipedia: The term was introduced by Robert C. Martin in an article by the same name as part of his Principles of Object Oriented Design, made popular by his book Agile Software Development, Principles, Patterns, and Practices. Martin described it as being based on the principle of cohesion, as described by Tom DeMarco in his book Structured Analysis and Systems Specification. (more…)

OnTechies

How to become a developerA person looking to become a professional software developer would ideally have a bachelor’s degree in computer science or engineering. If that is you, then you can go ahead and skip to the next section below. However, if you don’t have such a degree and getting one is not feasible then you need to learn about programming and other related skills on your own. This is now easier than it was before due to the increase of online courses, programming bootcamps and coding schools which have made it easier to become a software developer today. While none of these approaches teaches you as much as a regular computer science curriculum, it does teaches you the necessary skills to get started by focusing strictly on what you need to learn to start coding efficiently. Some of these code school programs and online courses will go as far as helping you get a job by referring you to…

View original post 865 more words

I can’t believe it’s been about a year since I started with the idea of TidyContact, time really flies, especially when you have a busy life full of projects, kids, family, etc, and I am blessed for that. So far I have learned lots of things building TidyContact, most of the things I’ve learned are related to the web framework I am using (ASP.NET MVC), and the service oriented architecture I am implementing with this project. Yes it is taken longer than I expected and I know this goes against the Lean Startup methodology, but frankly, I do not care since what I am doing is fun (to me at least) and it is also a way for me to learn about third-party apis, frameworks, databases, etc… it is geek fun.

During this time I have been able to collect about 60 names of people who are interested in TidyContact, and about half of them showed enough interest to actually pay a monthly subscription for it, that is good. It is truly difficult to develop a product from scratch without any help from other developers, designers, etc… at the same time, it is rewarding every time I reach a milestone such as completing a feature, finishing a module, getting the landing page done, etc… I am looking forward to launching the beta version soon and hope to get valuable feedback to make the application better before the first version launches. I would say I am about 70% done with the version I want to release to beta users, I believe in releasing a minimum viable product and all that stuff, but since this application is something we’ll be using internally in TodoTax.com it won’t make sense to release it if it doesn’t do at least what we want it to do. (more…)