• Post Reply Bookmark Topic Watch Topic
  • New Topic

My General Guidelines for Programmers  RSS feed

 
Sheriff
Posts: 11495
180
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Inspired by an early morning reply to a confused greenhorn, I wrote this today: General Guidelines for Programmer Safety and Well-Being

I'm kind of iffy on the title but that's what I have for now. Let me know if you can think of something else to call it.

Thanks,
Junilu
 
Sheriff
Posts: 22846
43
Eclipse IDE Firefox Browser MySQL Database
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Actually I liked what you called it at the bottom in your comment: Things Every Programmer Should Have Learned in Kindergarten.

One thing that I've noticed a lot, which you didn't mention there, is this: For us professional programmers it's obvious that code is there to do something useful, like getting the payroll done or encrypting some communications or whatever. But for the beginning students it seems to be that the main purpose of the code is to get it over with so they can pass the course. One can understand this attitude, of course, but on the other hand it seems like the students haven't been introduced to that concept by their instructors.
 
Junilu Lacar
Sheriff
Posts: 11495
180
Android Debian Eclipse IDE IntelliJ IDE Java Linux Mac Spring Ubuntu
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thanks for reading the post, Paul. Yeah, I was waffling with the Kindergarten thing after I'd written and rewritten a few times. I started out mentioning things we learn in kindergarten but the analogy went away and got replaced by the teenage driver and road rules thing.

Yeah, I know it's probably too much to ask of the average student to start thinking deeply about some of those things. My son is taking a Java programming course at Ohio State this semester and he has pretty much the same kind of blase attitude about writing code. I could be totally wrong about all that stuff I wrote. Maybe I'm still just a young idealist at heart. But then again, I know there are young programmers out there who are already thinking about elegance and craftsmanship. For as long as I can remember, back to when I was learning Pascal as one of my first two languages, I already understood the concept of elegance in code. I don't know, maybe I'm just weird that way.

Thanks again for reading the post.
 
Bartender
Posts: 1801
28
Chrome Eclipse IDE Firefox Browser jQuery Linux MySQL Database Netbeans IDE
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Great article. If I were to add anything, I think it would be something about setting realistic expectations. Norvigs article on ten years is a great example. I myself became very frustrated with the slow pace of learning and I've seen others express the same concern. It took a long time before I realized that it's just the nature of the craft. It's difficult, and it takes a long time to learn. There are no shortcuts.

Now that I've been doing it professionally for almost ten years, I think I'm finally starting to figure out what I'm doing. Maybe in another ten I can dare to call myself an expert, but that's still a long way down the road. But I've accepted that and learned to enjoy the journey rather than focus on the destination.
 
Sheriff
Posts: 4935
334
BSD
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Thank you Junilu, I read it twice, great article. That is inspirational.

I really good remember when I saw one of your post for the very first time, that was 1.5 years ago or so, I thought, heck, such stuff should be as a mandatory module on its own right in every single programming course AND that would increase amount of higher quality code globally. If not, luckily if student ever gets a chance to pick up one of the good books such as "Clean Code" on early days after graduation ceremony, so he could get a breadcrumb to the ideology you wrote.

Thank you, cows.
 
Ranch Hand
Posts: 185
4
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Excellent article Junilu! Very well worded! I really liked the analogies you used to explain, or expand, on the various topics in your article. Practically nothing better than an analogy to help relate something to real life situations, particularly as it applies to programming fundamentals. So again, excellent work, many thanks for taking the time (and showing enough concern) to feel you needed to write this article. Cheers!

Regards,

Randy Maddocks
 
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!