Surge Blog

The Surge Blog is the top hub for developers, executives, and

entrepreneurs, featuring key technology updates, freelancer resources, and

management insight.

Company

News and Details about the happenings in the Surge World

Design

A nice mix of adviec, inspiration, and research relating to design

Development

Standards, technologies, and mobile dev for coding enthusiasts

Industry

In-depth analysis on all faces of the software development industry

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…

Read More

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…

Read More

This blog assumes you have some basic knowledge about automated visual testing with Applitools. If it isn’t clear to you why it is awesome and would like more info, go checkout their site applitools.com. I first heard about Applitools through one of my colleagues at Surge in spring of 2017. I was explaining some of the challenges with my current client. Specifically, the amount of time developers spend testing each release (developers are the QA department) and how there was an initiative to focus on CD (continuous delivery). I mentioned that while we have several functional tests, they did not…

Read More

Every programmer has a language they prefer to work in. Whether it’s because it’s the one they’re most used to or the one that best meets their coding needs, they’re not shy about telling you which is their favorite and why. But man cannot live on Perl alone. No matter how versatile or easy to use your favorite programming language, it’s important to be able to use others just as fluently. Here are a few reasons why. Job Opportunities Google programming is done using Python. Say your dream job is to work for Google, and you learned Python for that…

Read More

When business owners discuss the best way to develop software, testing is always a scary topic. How much time and money you should spend on testing is not an easy question to answer. What type of human resource you should commit to testing is an even harder one. Test Automation obviously requires some degree of programming skill, but software developers are a precious resource. Why waste developer’s time on automating tests when you’ve got new products and features that you need to roll out the door? Bringing on a dedicated test automation developer is no small expense, either. You could…

Read More

Lean Manufacturing reduces failure rates, focuses on continual improvement, and brings long term value to business owners. Sounds like Agile software development. Many companies like leankit are capitalizing on this fact and are building products that bring those two worlds together. For the past 10 years, Surge has built an entire company combining both lean and agile principles. The Agile Manifesto Agile development springs from what’s known as the Agile Manifesto: a collection of values and principles for software development that allow solutions to evolve through collaborative effort. The manifesto was created in 2001 by a group of software engineers,…

Read More

Working from home can be something of a double-edged sword. On the one hand, it affords you the freedom and flexibility to work at your own pace, on your own terms, which may allow you to get more done. On the other hand, without a strict structure to your day, or continual monitoring from those that hold you accountable, it can be easy to get distracted, ultimately losing productivity instead of gaining it. So, which is the case? Are you more or less productive when you work from home? The debate has gone on for years. But now, it may…

Read More

The modern world runs on code. From the embedded controllers in our appliances to the servers that run the Internet, code is integrated into virtually every area of life. However, programming great software is difficult, time-consuming and expensive. Offshoring your software development because labor is less expensive seems like an easy solution to manage costs, however, the hidden costs make the decision a bad one. Here are some terrible reasons to offshore that are still discussed in boardrooms today: The hourly rate is a fraction of US-based employees This argument comes up first when you are being sold on an…

Read More

I was helping my friend Clint Patterson deploy a new DNN website and recommended that we enforce HTTPS even though for the small website he really didn’t need it. With the ease of tools such as CloudFlare it is really easy to set up and enforce https which not only makes your site secure but makes your users feel comfortable with the lock icon displaying in the browser. Why CloudFlare? Pros Cons Free SSL Certificate You need to use CloudFlare as your nameserver Free CDN just by signing up You have to use CloudFlare to configure your DNS Records Free…

Read More

Agility in an individual represents strength, speed, and flexibility. Whether you’re thinking of software development, product research, or project management, these attributes are crucial for teams that want to create the highest-quality output possible with limited available resources in short time frames. As you know, the philosophy of Agile Development is to produce working software as quickly as possible. Agile begins to fall apart as an individual developer or team starts to redefine and cheapen the definition of “working software.” You can always ask the question “does this software make any part of our business work more efficiently and effectively…

Read More

America's Best Software Engineers, On-Demand, at an Affordable Price
Surge Forward With Us