So, I'm not sure how many people agree with me (I haven't really searched around to see if anyone has the same opinion), but I'm starting to form the opinion that there are two different types of developers: Those that can develop an application but don't really understand the concepts behind it, and those that have a relatively deep knowledge of how their code works and all fits together. Or, in other words, those think it's alright (and perhaps have it as a job), but are not very passionate, versus those that are very passionate about programming. Generally, I guess something like the following could be said:
People in the first group:
- Have done their main programming study at University or TAFE OR are self-taught with just the basics, generally nothing about best practices. Generally, they've learnt just enough to get by, nothing more
- Will copy and paste code and be happy that it works, but might not really understand how it actually works
- Don't really consider programming a hobby
- Might be considered "code monkeys" in some situations
- Generally need help with fixing odd bugs
And people in the second group:
- May have done a University course, but their main learning is self-taught
- Write applications, scripts, websites, whatever for fun (and might actively participate in open-source projects)
- Don't copy and paste code very often. Instead, they learn from other people's code, and then rewrite that code in their own style
- Consider programming one of their biggest hobbies
- Aware of some of the latest trends in software development
- Might often question things, like the ways people do things, and why code is written in a specific way (or is this just me?). Usually I do that just to learn how things are done.
- Can generally investigate and solve odd bugs pretty well
Anyone else agree with me? Personally I'm proud to be in the second group, the awesome group 😄
Anyways, I'll write another proper blog post, eventually. I started working recently, and will definitely have to blog about that 😃
Until next time,
— Daniel