About Me

Christian
Husband
Father
Software Engineer
Hobbies
Austrian Economics
Preterist Theology
Freedom Philosophy
More Info
Follow my Twitter
Visit my del.icio.us bookmarks
Digg my diggs
Join my Linked in:
Find out what Object Computing, Inc (OCI) has to offer
Writing
Java News Brief
My Infrequent Blogs
This Site
This page strives for a simple web2.0 look using 1 html page, 1 style sheet and only 1 image. No JavaScript is used and the css has been tuned to work with most browsers.
Special thanks to Steve Gibson for his css menus example which greatly inspired me.
You are welcome to copy this sites CSS for your own simple pages.
The most important book in the world
The Bible is made up of 66 individual books spanning many years. It's easy to be intimidated by this but don't let others tell you what to believe - read it for yourself!
Where to Start
God's message to us has been recorded in the scriptures so we can meditate on each word. The Gospel of John is an excellent starting point for anyone unfamiliar with the Bible or Christianity. Beautifully poetic, the Gospel of John is still easy to read no matter what your background.
Versions
Many English translations of the Bible have been published but as an open source enthusiast I prefer the public domain versions. My favorites are the classic King James Version(KJV) and the recently published World English Bible(WEB).
It's also much easier to find free audio editions of each of these on mp3 done by volunteers because the source material they are reading is in the public domain. If you are busy (I know we all are) try out MP3s of the Book of John!
Software engineering career secrets
A successful career in software engineering can be fun and rewarding but the competition will be rough. This fast moving field demands regular study to "stay in the game" but what are the most important technologies to study? Each year as the field becomes broader, this question becomes increasingly difficult to answer. My strategy has been to focus on the business, the fundamentals of software engineering and clean maintainable code.
Focus on the Business
In order to remain employed long term your skills must be improving the return on investment (ROI). Are you bringing in revenue or are you only seen as a cost center that can be cut when times are tough?
Spending the time necessary to determine how your company makes money will go a long way to securing your employment. Make sure that your skills are applied to the problem of bringing in more revenue.
- You may find that you don't have the right skills. If this is the case seek out experts/mentors or professional training. Don't expect your employer to cover any of the costs; take responsibility for your own career. This kind of ambition will get noticed and you will begin to stand out from the rest of the competition.
- You may find that software engineering is not critical to your employer's revenue generation. If this is the case start polishing your resume. You need to find a company where software plays a more central role in revenue generation. The path I chose was consulting. it's not for everyone but I find that it provides much more job security. This is because I am not reliant on any single employer. By forming positive relationships with multiple companies in the area I greatly reduce my risk if one of them should decide that they no longer need my services. Getting started can be tough on your own so I suggest joining a good consulting services company. If you live near St Louis I highly recommend OCI (Object Computing, Inc).
Master the Fundamentals
Software development has been described as the only massless field of engineering. It's only limitation to change is our own creativity. New technologies and ideas are coming out everyday. If you attempt to follow them all you will fail. Instead specialize in a few technologies and become a master of those common techniques and languages that change more slowly. Here is a short list of core topics that are likely to be with us for many years:
- Algorithms / Data Structures
- OOAD / Design Patterns
- The core idioms for your weapon of choice: Java, C++ ...
- Special purpose languages
- XML/XPath
- Regular Expressions
- SQL
- HTML/CSS
Ensure Maintainability
The evils of over engineering must be stamped out wherever they are found. Simpler designs should always be preferred when the choice is yours to make. Design your application to meet the business needs of today and don't fall into the trap of trying to anticipate all the potential future changes.
Write clean self documenting implementations that can be easily understood by future developers on their own. Someday this will be you so remember the golden rule, "Do unto others as you would have them do unto you". If you go back to your code a week later and can't follow the logic then you probably need to do both some simplification and documentation!
Basic economics for everyone
You owe it to yourself to master the basics of economics. Without it you will find yourself easily taken advantage of and you may find it more difficult to see clearly what choices would most help meet your goals.
everyone acts with purpose and owns themself
- this implies that you are accountable for your own actions
trade happens when both parties desire what the other has more than what they have
- value is in the eye of the beholder and subjective
- trade is mutually beneficial
gold and silver are real money
- effecient trade requires a common currency
- Senator Daniel Webster wrote: ''Of all the contrivances for cheating the laboring classes of mankind, none has been more effective than that which deludes them with paper money.''
- gold and silver have been used as money for 6000 years
specialization makes us more wealthy
- specializing and becoming more efficient in producing a good will create a surplus for trade
- others will desire your surplus because it will be of higher quality than they can produce on their own