As the founder of a company where my largest static expense is engineering salaries, I’m over here just chomping at the bit, eagerly awaiting the moment I can fire everyone and line my pockets with all those juicy savings. See, about one year ago, I wrote an article titled, “9 Months with GPT-4: Can I Fire my Developers Yet?” and I thought I’d give you a little update on Allan’s employment status.
GitHub has been re-founded on copilot, rumors of an AI superior to GPT-4 abound, and you’re trying to decide if it’s worth it to learn what a red-black tree is.
Yes, computer science is hard, but you already know that. You don’t want to know if computer science is hard. You want to know if it’s too hard. You want to know if having to learn computer science is going to be a real obstacle in your way to achieving your goal.
In today’s modern, fast-paced world, we look to StackOverflow, Reddit, and hands-on courses to learn about computer science and software engineering. But there are some real benefits to using books as an additional resource.
Getting into computer science can be a daunting task. There are so many career paths down which a computer education can take you, so many programming languages to master, and so many skills to learn. I’ll give you a basic rundown of what computer science is, along with a plethora of resources and tools to help you carve out your own pathway into a computer science career.
In a word, the future of computer science is promising. In a few more words, the future of computer science is promising, but with challenges to overcome.
Is it a bit dramatic, perhaps, to say that the fate of the world rests on computer science and that’s why you should learn computer science?
Sorry it took so long for me to get this one out! Learn Advanced Algorithms was just released, and I’m excited to let you all get your hands on it, even if you’re just auditing it for free! The more advanced material takes quite a bit longer to produce, I wanted to triple-check to make sure I got everything correct and that I’ve presented it in a way that makes it easy to understand.
What is a binary search tree? 🔗 A binary search tree, or BST for short, is a tree where each node is a value greater than all of its left child nodes and less than all of its right child nodes. Read on for an implementation of a binary search tree in Python from scratch!
A linked list is a linear data structure where elements are not stored next to each other in memory. Unlike and array, elements in a linked list use pointers or references to each other to keep the list intact.
The most important thing to understand about these two fields of study is that, ultimately, they are similar. At the end of the day, Software Engineering and Computer Science will both help to make you a better programmer and developer, and the only difference between the two is how they are applied. Software Engineering tends to be more practical, and Computer Science tends to be more theoretical. In a way, Software Engineering is just applied Computer Science, and using that as a starting point, we can examine the differences between the two.
There are so many reasons to want to get a certificate in computer science in 2021, especially when you compare it to alternatives like getting a degree or attending a coding bootcamp.
It’s really hard to get your foot in the door for engineering interviews, especially if you have no experience and are looking for an entry-level position. Often times, more experienced candidates looking to find a higher-paying job can also have trouble. As an employer myself, I can tell you that one of the biggest mistakes I see in 75% of resumes is using a visually boring template. When I’m sifting through forty or fifty applicants, it’s really easy for my eyes to glaze over. Think of your resume as your website landing page. You need to catch your employer’s attention by calling out your biggest accomplishments and selling points at a glance.
There are many jobs within the software industry, and most of them are easier to land or are higher-paying once you land them, if you have a solid grasp of computer science fundamentals. You don’t need a degree from an accredited university in 90% of cases, but you do need to learn the material, whether it be online, on the job, or in a formal setting. Let’s explore the most common computer science job titles and their associated compensation, details, and duties.
As technology continues to advance, the need for professionals who are capable of utilizing and understanding computers continues to grow. This demand creates a strong job market, with excellent pay and exclusive opportunities. However, there are two fields of study when it comes to working with this technology: Computer Information Systems and Computer Science. Both are useful areas of study with in-demand skills, but what are the benefits of each, in comparison to each other? We explore that below.
Prehistory 🔗 The Antikthyera Mechanism For as long as humans have needed to count, they have endeavored to find ways to make that process simpler. The abacus, first invented in Sumer sometime between 2700 and 2300 BCE, was more a rudimentary counting assistant than an actual computer. It did, however, represent the first stride humans took towards using tools to assist with mathematics. Much later, around 100 BC, the Antikythera Mechanism would be used to calculate astrological positions, for the purpose of sea travel. Unlike the abacus, it is likely that the mechanism was, in fact, the earliest form of an analog computer. As time went on, analog machines such as this would be used to keep track of the stars, and eventually, to keep track of time.
When I was looking into getting my first job related to programming, I had no idea what the difference between a certificate and a diploma was. I was terrified that I’d have to go back to school and spend 2-4 years getting a degree in computer science before an employer would even blink in my direction. Unfortunately for me, two degrees in conservation biology aren’t enough to attract any serious coding employers. Then I learned about boot camps, which eased my concerns some, but I didn’t have the time or money to spend on a 15-week program.
Heuristics in computer science and artificial intelligence are “rules of thumb” used in algorithms to assist in finding approximate solutions to complex problems. Often, there’s simply too much data to sift through to come to a solution promptly, so a heuristic algorithm is used to trade exactness for speed. However, because heuristics are based on individual rules unique to the problem they are solving, the specifics of the heuristics vary from problem to problem.
Be careful about deciding the best way to learn to code. Not all paths are equally effective. Self-taught developers and bootcamp graduates often struggle a lot to find their first coding job. In my experience, it’s much easier to get your foot in the door when you spend the time learning the CS basics that so many “crash courses” skip over when trying to get students to dive directly into the deep end of application code.