The Programmers Oath by Uncle Bob
In order to defend and preserve the honor of the profession of computer programmers,
I Promise that, to the best of my ability and judgement:
- I will not produce harmful code.
- The code that I produce will always be my best work. I will not knowingly allow code that is defective either in behavior or structure to accumulate.
- I will produce, with each release, a quick, sure, and repeatable proof that every element of the code works as it should.
- I will make frequent, small, releases so that I do not impede the progress of others.
- I will fearlessly and relentlessly improve my creations at every opportunity. I will never degrade them.
- I will do all that I can to keep the productivity of myself, and others, as high as possible. I will do nothing that decreases that productivity.
- I will continuously ensure that others can cover for me, and that I can cover for them.
- I will produce estimates that are honest both in magnitude and precision. I will not make promises without certainty.
- I will never stop learning and improving my craft.
My day job is as a software engineer building websites. I’ve been building software for 15+ years and am always looking at ways to upgrade my skills. Yesterday I came across this great site that has gathered together free resources that people can use to get themselves a Computer Science education without enrolling in college. It’s a great resource for people who want to dip their toes in, or to refresh their skills without going back to school. It would be a wonderful path for a teenager who wants to get started on a solid path for a CS degree.
This is a solid path for those of you who want to complete a Computer Science course on your own time, for free, with courses from the best universities in the World.
In the future, more categories and/or courses will be added to this list or a more advanced/specialized list.
Initially, we will also give preference to MOOC (Massive Open Online Course) type of courses because those courses were created with our style of learning in mind.
~ OSS University
A few weeks back I came across a book called Soft Skills. I’m a sucker for these kinds of books and before I realized what I was doing I had splurged and purchased it. It is a fantastic book by John Sonmez of Simple Programmer. With these kinds of books I usually skip around reading what interests me that day. I make a note on the chapter to indicate that I have already read it. After a week when flipping through it to find an unread chapter I realized that I was already more than half done with it, which is impressive since it is a 500+ page book. It is very refreshing to read a book like this that talks to me as an in-the-trenches software developer with no aspirations to become great. So many of these books talk about how to become an expert in your career and take things to the next level. This book has some of that but more of it is just tips and tricks on how I can refine what I am doing now to be just that little bit better than I was before. It’s definitely worth picking up a copy.
I’ve been spending some time looking at this recently and don’t want to forget the link.
I posted an image of Einstein the other day about keeping things as simple as possible. Today I found the following video which shows a great parallel between building wood projects with hand tools and software tools.