|
And after 50 years, they're still taking the pictures with a potato.
|
|
|
|
|
I have often contemplated putting a placebo thermostat in my house for my wife and kids to fiddle with. Because no matter what I do to please and make them comfortable, they always feel the need to mess with it.
I think a "smart" thermostat that could display temperatures that make my family feel happy, even if though the temperature is sitting at the programmed temperature, say 71F/(21.6C).
You get a message on your phone, saying they have cranked up the desired temp to 80F, they must really be cold, ok, temporarily raise the programmed temperature.
Now that would be "smart".
|
|
|
|
|
There are only 10 types of people in the world, those who understand binary and those who don't.
|
|
|
|
|
The nest doesn't lie, but it does temporarily raise the temperature and lower it back down whenever it thinks you've stopped paying attention. Plus it guesses at when you leave the house and really lowers the temperature then.
|
|
|
|
|
How are the rockstar programmers different from good programmers?
On what areas should one start focusing in order to become one?
Siyapa
|
|
|
|
|
Rockstar programmers are the bane of the business; they are usually hard to handle.
I prefer having/working with good programmers.
I'd rather be phishing!
|
|
|
|
|
Thanks for your viewpoint.
Yeah even i feel communication gap with them, but what i want to discuss here are their qualities.
What do they do differently, and how are they so much productive using same set of tools and resources available as we use?
Siyapa
|
|
|
|
|
Aaditya Chauhan wrote: how are they so much productive
They're not; they're all talk.
|
|
|
|
|
Some may actually think about the problem instead of launching into coding ASAP.
|
|
|
|
|
It's the attitude.
A rockstar programmer is someone who knows how to code. He probably knows all the latest and greatest tools and he likes to brag about it. There is no I in team, but apparently rockstar programmers can't spell.
A good programmer is someone who can work in a team and who knows how to write decent and maintainable code using the tools that the entire team is comfortable with.
A great programmer is a programmer who, in addition to being a good programmer, can make decisions that help the team and push a project forward. Or is that a manager?
And it depends on the company where you work. Some companies value employee input, others don't (I prefer to work at the first kind of company!).
Just try your best, but don't forget about the team.
Disclaimer: That's just my opinion, definitions my vary.
My blog[ ^]
public class SanderRossel : Lazy<Person>
{
public void DoWork()
{
throw new NotSupportedException();
}
}
|
|
|
|
|
I think we have similar thoughts on this.
I also believe that it is about your attitude or something very fundamental in your personality.
That you have it in you or you don't. No questions about it.
And yes definitions do vary with domains. Like web rockstar developer may have completely different traits as compared to linux rockstar developer.
Siyapa
|
|
|
|
|
great programmers have awesome monikers
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
Well that's short and sweet!
Siyapa
|
|
|
|
|
Thank you for this opportunity to shamelessly plug this blog entry I posted a few months ago:
From Good to Great[^]
To summarize:
A Good Engineer has:
- Intelligence
- Intuition
- Passion
A Great Engineer has the good engineer traits, mostly, as well as:
- Great Communicator
- Motivator
- Approachable
A Great Engineer helps all of your other engineers rise to become Good Engineers and fosters a team environment that works well together.
|
|
|
|
|
First of all thanks for writing a fantastic blog post and its totally fine to promote articles like these. Keep it up!
Although, before a good or great software engineer you are good or great programmer. I would like to see more distinctions in technical skills at individual level rather than ability of dealing with groups and inspiring team members.
Keep contributing
Siyapa
|
|
|
|
|
Thank you, and also thank you for the topic ideas.
The engineer that I mention in the "Great Engineer: Inspirational" section does not have the strongest programming skills, that is his own admission to me. However, he is very intelligent, and has the depth to understand very technical topics. His greatest skill is that he understands people. He is one of the best trouble-shooters at my company, and can adapt to almost any environment. That is why I consider him a "Great Engineer".
To drop down and simply isolate the programming skill, I think that you need to strip away all external skills, and simply analyze the output of the programmer. The only exception, is they both produce results within the expected amount of time. A Good programmer produces Good code, and Great programmer produces Great code.
Judging the code is subjective and comes down to the qualities that are valued at the company. However, generally I would say:
Good Code is:
- correct
- robust
- efficient
- adaptable
Great Code:
- simple
- can be correctly modified by the other programmers
- correct
- robust
- efficient
- adaptable
Again, I think what makes the difference to jump from Good to Great is how it affects the others that you work with.
If you're the only one that works in the code, if you meet your schedules, Congratulations!!! You're a Great Programmer.
Thanks again,
Paul
|
|
|
|
|
Opinions of others which are almost always worth chasing out of your head by repeating the prophylactic mantra: $ic transit gloria mundi.
«OOP to me means only messaging, local retention and protection and hiding of state-process, and extreme late-binding of all things. » Alan Kay's clarification on what he meant by the term "Object" in "Object-Oriented Programming."
|
|
|
|
|
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
|
|
|
|
|
sic transit gloria mundi - Gloria is unwell; we're sending her home by van; she'll be there by Monday.
I love telegrams!
Bad command or file name. Bad, bad command! Sit! Stay! Staaaay...
|
|
|
|
|
Aaditya Chauhan wrote: How are the rockstar X different from good X? By making it the most important thing you do.
Plato was a rockstar, because his life evolved around what he did. Darwin focussed his life on his profession. Practice, practice, practice, until your keyboard bleeds.
..then again, I'd also recommend to consider whether it would be worth it to dismiss every other pleasure in life to reach that goal. One "could" try to be content with being "good".
Bastard Programmer from Hell
If you can't read my code, try converting it here[^]
|
|
|
|
|
Certainly.
I love it when the solution to a problem boils down to 'practice! practice! and practice!'. Its motivating.
Siyapa
|
|
|
|
|
99% of inspiration is perspiration.
We can’t stop here, this is bat country - Hunter S Thompson RIP
|
|
|
|
|
A good programmer would never label him/herself as a rockstar programmer or want to be labeled as such by others: it's like calling yourself an expert - that raises my hackles immediately.
All the rockstars I have ever worked with tend to be know-it-alls who use impenetrable and over-engineered code that is hard to maintain.
Kepp it simple stupid is something that 'rockstars' scorn and it undoes them every time.
|
|
|
|
|
I accept the facts that you have mentioned. The term 'rockstar' is itself controversial.
A better question would be what separates top 1% programmers from others?
By rockstar i meant top 1% programmers and not 'know-it-all' species.
Siyapa
|
|
|
|
|
Well, the very idea of 'great' programmers is wrong for starters because its misplaced. What is important is good engineers.
And what makes a good engineer is someone who can design a simple solution to a complex problem.
They also musn't be attached to their product and be happy to sling it out if needs be.
|
|
|
|