Once upon a time there live a young girl named Jill and her next door neighbor Jack. Perhaps you’ve heard of them. When Jack and Jill were about 5 years old they both desperately wanted to learn how to ride a bike.
Jill’s father, being a practical man, bought Jill a nice child-size bike and took Jill outside to practice riding the bike every chance he got.
Jill’s dad would hold Jill up right and move with her while she pedalled. Within a few days Jill was able to ride for moments at a time without her father’s support. After another day, Jill could ride her bike all by herself.
Now Jack’s family was a bit more rigorous. Jack’s father thought it important that Jack have a solid understanding of bike riding and the science behind it before he start riding a bike. So instead of a bike, Jake’s dad bought various books on physics and cycling history.
For weeks Jack learned from his father much about kinetic and potential energy. He gained an understanding for gyroscopic forces and much, much more. After about a month, Jack knew everything there was to know about bike riding. It was at this point that Jack’s dad bought a bicycle for Jack.
Jack proudly mounted the bike and promptly fell off. He mounted the bike again, peddling slowly and ended up in another painful fall.
Meanwhile Jill was effortlessly riding her bike around block, feeling bad for her friend Jack.
Later in life both Jack and Jill graduated high school and wanted nothing more than to become software developers. Jack, following societal protocol, applied to a prestigious university was accepted to the Computer Science program.
At the onset of his first semester, Jack was mildly disappointed to find that CS program alloted only one class in the first semester that had anything to do with computers. This class was called “Computer Algorithms I” and involved no programming what so ever.
Other than this Jack learned Calculus, Philosophy, and other peripheral classes…lots of classes that had nothing to do with computers.
Meanwhile Jill moved to Chicago to become an apprentice for a renowned software company.
On day 1 Jill was learning to write Python code as she worked side by side with an expert programmer. Like a kid in a candy store, Jill was nearly overwhelmed with all the software knowledge and learning experiences surrounding her. It was great!
After a few years, Jack had graduated. With all the calculus, differential equations, spanish, number theory, and computer architecture classes, there was no doubt that Jack was a full fledged CS graduate.
It didn’t matter that he had only written a couple hundred lines of code by this time… He had a bachelor’s degree! Jack soon landed a programming job in the IT department of a large company. On his first day Jack was introduced to the project he’d work on.
He met the team, found his desk and was anxious to get started. Later that day his project manager walked in with a thick binder titled “Data Model/Object Model” and said “Read this by next week.”
At around the same time Jill already knew how to program in Python, Java, C#, and had dabbled in a few other languages as well. Object Orientated principles and pattern came naturally to Jill since she had used them extensively on a daily basis.
Having worked on a few successful projects she knew a bit about managing projects and what it takes to get them done. No doubt about it, Jill was a software developer to be reckoned with.