Announcing Tech Terms for Memorization

TLDR; I created a project to help students in software development via memorization techniques. Project here List of terms here Flashcards here Read on for background! My academic career is that of an all right student. Perennially in the A- to B- range, good at understanding concepts, and able to cram just hard enough to do fine on tests. I never understood the point of doing much more. I always regarded “deep understanding” and rote memorization to be wholly independent of each other with the latter being helpful for tests and little else. Many people parrot back facts without any understanding whatsoever, merely impersonating intelligence without the ability to synthesize anything new. At the same time, you can really understand things while having mediocre memory; the internet exists, we can always look things up. During the past year, my opinion on this has been evolving. I’ve always been a fan […]

Embracing Simplicity – Why Craigslist’s Text Only Design is So Effective

Every website design tutorial or advice column tells you the same thing: the visual component is one of the most important there is. The images you use, the color scheme, and general aesthetic can make or break your site within just a few seconds of the user’s arrival. If your site doesn’t impress them visually, they’re likely to click away and move on to the next site instead, without a second thought. But if that’s the case, then how do you explain Craigslist? It’s just a bunch of blue links and black text against a white background. There are no images or photos, unless someone chooses to upload their own along with their ad listing. It was founded in 1995, and their aesthetic hasn’t changed since then. It’s incredibly simplistic by today’s standards, and some would even call it ugly. But it works for them! Craigslist thrives in over 700 […]

Does Your App Need a UX Design Refresh? Here Are the Signs That It Does

Your company launched its app a few years ago. You were very proud of it at the time. But lately it just hasn’t been producing the business metrics that you had anticipated. Maybe the app was great in the beginning, but your results have fallen off as of late. Or maybe your results were never what you’d hoped. Either way, you do not necessarily need to rebuild your customer experience from the ground up, in fact with modern coding practices there’s a good chance that basic UX issues can turn your metrics around. Here are some signs to help you tell whether your app’s UX design needs a refresh. 1. You’re Losing Money Customers spent over $430 billion online last year in the U.S. alone, and that number is only growing. But your website revenue is flat or sinking. More than likely your behind the times when it comes to […]

Where Have All the Coders Gone?

It seems like coding bootcamps, coding programs in schools, and other development initiatives are popping up left and right these days. After all, learning how to code, even just a little, is helpful for more careers than software engineering. In fact, some none-coding jobs are starting to require a basic level of coding ability. With all of these programs pushing coding these days, you may start to think the industry is flooded with would-be-developers as well as senior engineers, right? Wrong. In fact, there’s a significant shortage of qualified people in this country to fill the available programming positions. The Job Disparity In 2015, just under 60,000 people in the U.S. graduated with degrees in computer science, whereas the number of open jobs in the computing field was over 500,000. Of course, graduates aren’t the only that can fill open positions. Many of those jobs are likely to require at […]

7 Steps to Better Code Review

In a field like software development that demands attention to detail, peer review is essential. When the slightest mistake can cause serious errors throughout the project, another set of eyes (or several) will help ensure that everything reaches its full potential. While there are automated tests you can perform to vet your code, nothing beats the human touch. Code review had been demonstrated to significantly speed up the development process. But what are the responsibilities of the code reviewer? When running a code review, how do you ensure constructive feedback? How do you solicit input that will expedite and improve the project? Here are a few tips for running a solid code review. Establish goals. Code reviews are more than just finding errors and bugs.You may be thinking about adding new features and how to implement them. You may be trying to ensure that the code meets certain style standards […]

Coding for a Better Life

A few years ago, there was a viral story about a programmer in Manhattan who met a homeless man and, instead of simply giving him a few dollars and walking away, bought him a used laptop and spent weeks teaching him how to code. While this type of gesture from an individual may be unusual, the underlying concept is actually fairly common. Coding skills are in high demand. There are a myriad of good, stable, well-paying jobs that hire people who can code, and the field is continually growing. In fact, there are dozens of organizations out there who specialize in finding and reaching out to people looking to improve their station in life, whether it’s adults who are down on their luck or underprivileged kids, and teaching them the ins and outs of coding. Here are six such organizations. #YesWeCode. The #YesWeCode initiative was originally begun by Prince, with […]

6 Usability Testing Methods That Will Improve Your Software

Successful software projects please customers, streamline processes, or otherwise add value to your business. But how do you ensure that your software project will result in the improvements you are expecting? Will users experience better performance? Will the productivity across all tasks improve as you hoped? Will users be happy with your changes and return to your product again and again as you envisioned? You don’t find answers to these questions with a standard QA testing plan. Standard QA will ensure that your product works. Usability testing will ensure that your product accomplishes your business objectives. Well planned usability testing will shed a bright light on everything you truly care about: workflow metrics, user satisfaction, and strength of design. How do you know when to start usability testing? Which usability tests are right for your product or website? Let’s examine the six types of usability testing you can use to […]

The Rise of Python

Popular webcomic xkcd, which frequently expounds on the complexities and pitfalls of computer programming, once did a comic about discovering Python. The comic joked that the open source programming language made everything so simple and straightforward that it would even allow you to fly, just by typing “import antigravity.” Indeed, the simplicity and versatility of Python has made it the preferred language for a lot of programmers, particularly in a professional setting. In fact, last year, it held the #2 most popular programming language (as rated by github pull requests), a position it has maintained for at least the last 4 years. How did Python first come to be, and how was it able to rise to the top of the pack like that? Let’s take a look at the rise of Python. A Brief History of Python Python was first developed in the late 1980s and officially launched in […]

Do People Enjoy Being Software Engineers?

With an annual salary ranging from $50,000 to $120,000, software engineering can be a very lucrative career. But is it a fulfilling one? What’s the rate of job satisfaction among programmers and software engineers? And how does it compare with the rest of the country’s jobs? Job Satisfaction Statistics A survey last year by weekly magazine The Economist found that, overall, 58% of workers in the U.S. are at least reasonably happy in their jobs. Only 12% are actually unhappy with their jobs, while around 31% are ambivalent. According to another study by the University of Chicago, the career with the highest rate of job satisfaction in 2017 was the clergy, at 87.2%, followed by firefighters at 80.1% and physical therapists at 78.1%. On the other end of the scale are roofers, waiters, and non-construction laborers, all with job satisfaction rates under 30%. Software Engineering Job Satisfaction So where do […]

The Problem With Repositories

What follows is an edited down version of a chat conversation in the Operation Code slack. The context is that of someone studying up on .Net but, patterns being what they are, this applies elsewhere as well. The question was over explaining the repository pattern. I have strong opinions here and differentiate between how repository is defined, how it might be implemented in a manner true to it’s intent, and how it is often (mis)implemented with unfortunate consequences. The best opinions are changed opinions and this is one that I admit to having been wrong about. I used to be a defender of the repository pattern. It was likely the first pattern that I felt I understood. Back in 2009 it was also the subject of debate largely – as I remember it – between .Net giant Oren Eini and the folks over at Codebetter (blog unfortunately no longer particularly […]