7 Habits of Highly Effective People by Stephen R. Covey

I’ve read this magnificent book recently and I would like to share some of my findings with you. It’s going to be less of a formal review but rather an ad-hoc collection of subjective thoughts about the ideas presented in the book. You may say: “this is just one those worthless self-help books” or “This is just another scam”. But I can assure you nothing is further from the truth. This book can really help those who seek ways to improve their personal and business relationships, or simply just want to better understand themselves and their place in the world.

The 7 Habits of Highly Effective People book cover
The 7 Habits of Highly Effective People by Stephen R. Covey

The core of the book 7 Habits of Highly Effective People consists of two parts: private and public victories. This division catches the essence of the revelation that in order to be successful in our interpersonal relationships we first need to build our own character. You cannot win by hacking at the leaves without taking care of the problems at the root. Now let’s have a look at the 7 habits of highly effective people.

Habit 1: Be Proactive

Act and not be acted upon. So simple, but so powerful. Arguably one of the greatest sources of frustration is that we feel like we are not in control of our own life. The book says: “we find two ways to put ourselves in control of our lives immediately. We can make a promise – and keep it. Or we can set a goal – and work to achieve it“. By doing so, we build a character that will serve as a strong foundation we can build upon.

Habit 2: Start with the End in Mind

How would like to be remembered after you are gone? What kind of husband, wife father, mother, colleague or friend were you? Did my yesterday behavior bring me closer to what I’ve just imagined who I want to be? If you start with the end in mind you will find yourself working towards your life goals and not wandering on side roads. “People may spend their whole lives climbing the ladder of success only to find, once they reach the top, that the ladder is leaning against the wrong wall.

Habit 3: Put First Things First

For the many of us, and I’m no exception, there is a deep chasm between what we say are important things to us, and how we actually allocate our time. That’s not always as evident as choosing between going to a gym or watch another episode of our favorite TV show. Sometimes we think: oh, it would be very important to read that book or take that course, but I’ll do these million little things first.
To say yes to important priorities, you have to learn to say no to other activities, sometimes apparently urgent thigs.” And it’s tricky because finishing up little tasks gives us the feel of progress while we are neglecting other things that would contribute to our long-term growth. Put first things first is the last one of private victories.

The first 3 habits are concluded with an analogy to which IT people can easily relate too. We need to realize that we are the “programmers” of our own life (habit 1). We need to “write” the program with the desired end result in mind (habit 2). Then we need to “execute” (habit 3). Each step builds upon the previous one, just like developing personal victories serves as a foundation for public victories.

Habit 4: Think Win-Win

Who is winning in your marriage? is a ridiculous question. If both people aren’t winning, both are losing.” Life, in most cases, is not a zero sum game. For you to win another person does not necessarily have to lose. Most people are scripted in scarcity mentality – there is only one pie out there, and if someone were to get a piece, it would mean less for everybody else. This is how mediocre people see the world. On the other hand, people with abundance mentality realize how sharing of prestige, recognition, and profit springs new possibilities for even greater successes. Having abundance mentality is essential to be able to think win-win.

Habit 5: Seek First to Understand Then to be Understood

Since our childhood, we put tremendous efforts into improving our communication skills both written and verbal. But what about listening? “Most people do not listen with the intent to understand; they listen with the intent to reply”. To try to help somebody without seeing things from the other person perspective first is like prescribing medicine without examination. Our ability to think win-win is greatly affected by how carefully we intend to listen. It happened to me in the past, probably more than once, that a UI developer came to me complaining about the API I wrote as a backend developer. It didn’t make any sense to me. I was thinking: “It suits the requirements why can’t he just use it!” Now I know, I couldn’t understand him because I didn’t intent to listen.

Habit 6: Synergize

What is synergy? Simply defined, it means that the whole is greater than the sum of its parts. It means that the relationship which the parts have to each other is a part in and of itself.” By exercising habits 4 and 5 we often reach a synergistic solution that is better than either of the originally proposed ones. “The essence of synergy is to value the differences. Sameness is not oneness; uniformity is not unity.” Probably the aforementioned API would have turned out to be much better if a synergistic solution had been reached.

Habit 7: Sharpen The Saw

If you take a little time to sharpen the saw you will be able to cut down a tree much faster. It’s a very simple principle, but still, people often fail to recognize it in their own life. “Going to the gym takes to much time”. Well, how much time will you spend at doctors if you ruin your health? Sharpen the saw is basically improving our production capability today. Because for the great struggles of the future, you have to prepare today.

These are the 7 habits of highly effective people by Stephen Cover. Of course, the book goes into greater lengths and explains each topic in much more detail. The book is enriched with real life stories about the author’s family. Reading these stories was full of aha moments when I realized that something similar has happened to me in the past and now I can understand why things played out as they did. The cool thing about these stories is that the author does not try to hide his own mistakes. We learn that sometimes he failed to respond to a given situation in harmony with the seven habits. However, sincerely admitting our mistakes is not a weakness but quite the contrary a manifestation of great strength. Remember: success lies on the far side of failure.

How to Pass Java 8 OCA Exam – Part 2

This is the second a final part of my writing on how to pass the Oracle Certified Associate Exam from Java 8. In case you haven’t read the first part you can do it here: How to Pass Java OCA 8 Exam – Part 1.

After I finished reading the official study guide I was looking for some tests I can practice on. I came across a software produced by a company named Enthuware. They offer a free testing framework and charge you for the question packages. Please make sure you download the Java 1Z0-808 package because this is what you will need. Compared to the price of the exam the cost of the package is very reasonable and represents a good value. The application offers multiple testing options but let’s get into that a bit later.

Week 3

Goal: Finish Enthuware objective-wise test 1-5; take standard test 1-3.

Monday Take Entuhware Standard Test 1 77 Hardcoded Questions
Tuesday Take Objective-wise Tests 1-2 Java Basics and Data Types – 40 Questions
Wednesday Take Standard Test 2 77 Hardcoded Questions
Thursday Take Objective-wise Tests 3-5 Operators, Arrays and Loop Constructs – 40 Questions
Friday Take Standard Test 3 77 Hardcoded Questions

By week number 3 you should have all the required lexical knowledge. So, you can move onto practicing sample tests. This is where you will need the Enthuware software. After installing the correct question package (make sure you download 1Z0-808) you can choose from several types of tests. Standard tests are the big ones. Answering 77 questions and reviewing the answers takes about 2 – 2,5 hours. It’s very demanding – I know. This is why I included “lighter” days between two big tests. The objective-wise practices roughly correspond to the chapters in the OCA book and help you to revise your knowledge.

Week 4

Goal: Finish off all the objective wise tests and standard tests up to #5.

Monday Take Objective-wise Tests 6-7 Constructors, Methods, Encapsulation, and Inheritance – 40 questions
Tuesday Take Standard Test 4 77 Hardcoded Questions
Wednesday Take Objective-wise Tests 8-11 Exceptions, Instanceof Operator, Java APIs and Lambda Expressions – 35 Questions
Thursday Take Standard Test 5 77 Hardcoded Questions
Friday Take the Easy Practice Test 30 Questions

This week is a continuation of the previous one and it is very demanding but it wall pay off.

Week 5

Goal: Finish off all Enthuware tests and go back to the OCA book to identify any weak spots.

Monday Take Standard Test 6 77 Hardcoded Questions
Tuesday Take the Though Practice Test 30 Questions
Wednesday Take the Very Though Practice Test 27 Hardcoded Questions
Thursday Take OCA Tests for Chapters 1 – 3
Friday Take OCA Tests for Chapters 1 – 6

For the last 3 weeks, you have been taking tests from the Enthuware testing framework. Now it’s time to go back to the OCA book for some change. Taking earlier objective-wise tests again helps you to identify areas of development, topics in which you are still not confident enough. You should answer all the questions and calculate the percentage of correct answers for each. Then you will need to re-visit chapters for tests with the two lowest scores. I really recommend to read through the chapters just as I did or at least identify the most relevant sections. For the last three days, I reserved three online tests. By buying the official study guide you automatically get access to 3 online tests. You will need to visit the site of the publisher – Sybex test bank – and take the practice exams from there.

Week 6

Goal: Fix weak spots and test again

Monday Re-visit the chapter where you scored the lowest
Tuesday Re-visit the chapter where you scored the second lowest
Wednesday Online Test 1 60 Questions
Thursday Online Test 2 60 Questions
Friday Online Test 3 60 Questions

You may say that I ran through the book very quickly and focus too much on the tests. The reason for this that is twofold:

  • I was already familiar with the basic concepts as I program in Java almost every day.
  • At the end of the day, the certification exam will be a test 😉

If you are new to the language you may need to spend more time with the study guide perhaps take fewer practice tests. It all comes down to your proficiency with the Java language. But one thing is sure: after week number 6 you should feel proud. After countless hours spent in front of tests, you are ready to go and take the real thing.

I Hope you find this post useful and I wish you good learning!

How to Pass Java 8 OCA Exam – Part 1

In this article, I’ll give you a step-by-step approach how to pass Java 8 Oracle Certified Associate exam. I’ll explain my method, how I scored 94% on this exam. For more on what this exam is or whether it’s worth taking it see my previous post: Should I become a Certified Java Developer?

There are two keys to success in taking exams. On one hand, you have to have the lexical knowledge. On the other hand, you have to be familiar with the way the exam is going to test your competence. Knowing upfront what kind of tricky questions to expect might mean the difference between passing or failing the exam. It’s better to be prepared because sometimes even the wording of the questions might be confusing.

The official study guide: Oracle Certified Associate Java® SE 8 Programmer I will help you with the lexical knowledge. It covers all the topics that are on the exam and nothing more. It’s very well written and easy to follow even for beginners. I strongly suggest buying a hard copy or download it as an e-book. After each chapter, there is a set of review questions to test your understanding.

The decision to take this exam takes courage, passing it successfully takes commitment and effort. I was wondering what technique I could use to improve my chance of success. At the end came up with a 6-week program similar to what personal trainers use to get you in shape. However, this program will exercise your brain instead of your muscles. Each day has a task assigned to it, but nothing is carved in stone. This program incorporates flexibility – the ability to respond to unforeseen events that otherwise might get you off track. This program is broken down into weeks and you should focus on accomplishing weekly goals – rather than worrying about missing a day or two. However the closer you can stay to the schedule the easier the process will be. Now let’s have a look at the step-by-step approach how to pass Java 8 OCA exam.

Week 1

Goal: Finish the first half of the study guide.

Monday Read Chapter 1 Java Building Blocks
Tuesday Answer Review Questions for Ch. 1
Wednesday Read Chapter 2 and Answer Review Questions Operators and Statements
Thursday Read Chapter 3 Core Java APIs
Friday Answer Review Questions for Ch. 3

You may go faster or slower. I followed this routine while working full-time.Depends on how fast you read but one chapter should be manageable in one day. If you need more time use a portion of the day reserved for answering review questions. One thing is very important, please check your answers for mistakes and make sure that you understand why you answered incorrectly before finishing a review day.

Week 2

Goal: Finish the second half of the study guide

Monday Read Chapter 4 Methods and Encapsulation
Tuesday Answer Review Questions for Ch. 4
Wednesday Read Chapter 5 and Answer Review Questions Class Design
Thursday Read Chapter 6 Exceptions
Friday Answer Review Questions for Ch. 6

As you probably have noticed I assigned more work to Wednesdays just to push myself a little harder, but I left the weekends empty. If you need more time to catch-up feel free to use the weekends. If you need some rest that’s also fine. Just make sure you stay focused.

By coming this far we have finished the official study guide. But, this is just the start, in the second part I’ll come back with more advanced stuff. Stay tuned.

Should I Become a Certified Java Developer?

The number of software developers doubles roughly every 5 years. Until artificial intelligence reaches a level where computers will be able to program themselves more and more programmers will be needed. There are tons of initiatives to teach programming not just for children but even for adults. But which programming language one should learn? If you would like to develop for mobile phones. Apple’s Swift language is a good start. Would you like to build online stores or blogs? Then PHP is a good pick. A lot of small and mid-sized companies build web services in C#. But is there a language in which you can do all of that, plus have a knowledge in your hand that is applicable from Wall Street to Silicon Valley? That would be Java, the programming language that is around from 1996 and will be for the foreseeable future.

robot thinker artificial intelligence progress pop art retro style. antique pose. science fiction and the robot character.

Oracle is the company behind Java and as such it organizes certification exams for developers. Because there is a lot of content to cover you have to pass two exams to become a certified Java developer: the Certified Associate (OCA) and the Certified Programmer (OCP). You can do it in any order you wish but keep in mind that the OCA exam is about the basic principles while OCP focuses on more advanced concepts. So, it makes sense do take them in that order.

In my opinion certification programs provided by Oracle should serve as a common denominator for Java developers. Sure, you can write good code without taking these exams. You can do it even without going through any formal education. But, how would you feel if your doctor or lawyer didn’t have any papers to prove they know what they do? More established professions already regulated themselves in order to guarantee the highest possible quality of services. Computer programming is still a very young field of profession. However, it’s only a matter of time when education and certification exams will play utmost importance. As Robert C. Martin the author of popular books like the Clean Code puts it: “we better regulate ourselves before politicians do”. The community of software developers should establish rules for its members. One of such rules could be the list of exams, a programmer has to take in order to become a member.

Does it worth the effort to study and take the certification exam until it isn’t a must? If you are a new graduate fresh out of college and looking for a job, try to look at things from an HR person’s perspective. Having a certification might not get you the job, but it certainly will help you to get on the shortlist. Another option is that you are a programmer who works with Java for many years. In that case, you might think it’s not all that important to have a paper. I’m myself an example of the later, except that I have a different opinion about the exam. The language itself evolves constantly. We had to wait for Java version 8 a very long time but it introduced a good deal of new stuff. Studying for a certification exam is a very good opportunity to keep up with the changes.

If you work as a full-time developer the odds are that you are performing very similar tasks day by day, month after month: work with Hibernate, writing Java Web Services, designing Rest APIs or constructing Sybase queries. And there’s nothing wrong with that because you can become an expert in those areas. But on the other side you easily loose the broader picture – use the programming language in a very limited way and forget the fundamentals. I kinda felt this way. So, I decided to take the certification exam. Without a doubt, it was a very good decision. I learned a lot and I even noticed that I even started using new coding patterns. I hope you will follow me and experience a similar joy and excitement going through this truly transformational process as I did.

P.S. …and make no mistake, artificial intelligence will one day take our jobs.