The Value of an Idea

What is an idea worth? I am frequently approached by friends and acquaintances with ideas for software applications. Typically, the individual believes that the idea will generate huge revenue, and they will graciously share a portion of the profit with me for my time developing the software. In no instance does the individual suggest that they will help do the development, that’s what they need me for. Furthermore, they do not have the finances to hire a developer, so their hope is that I will invest my ‘sweat equity’ into their dream project.

There are a variety of problems with this proposal. First and foremost, I have bills to pay. As such, I can’t drop paying customers for hope a future payout. Furthermore, these projects typically involve niche markets with a limited number of customers. As such, it is necessary to examine a variety of factors to determine if such an idea really has any value.

To determine that value, you must first determine an estimate of all costs involved in producing the software application. This will include development time as well as a variety of other costs. For example, licenses involved for development, deployment servers, cloud hosting costs, costs to manage the services, etc. Then, costs to market or distribute the application must be considered as well, such as the cost to Apple or Google to distribute on their mobile platforms.

After the sum of all costs is determined, the individual must make a conservative estimate of the number of units sold as well as the anticipated price point. Once that is accomplished, the profit can be determined. Multiply the unit price times the number of units sold and subtract all costs. Once that value is determined, you can have an estimate of the value of a given idea. Sadly, in many instances, that value is well below $0. Thus, many projects are simply not worth the effort because they have no return on investment.

For the developer, it is rarely useful to develop an application based on the future hope of a payout. If you do, you will very likely end up on the losing side of the equation. For the prospective client, if you feel strongly that your idea is profitable, develop a business plan. Then, convince investors of the return on investment they can hope to achieve. Once you have investors, you can then go to a development firm with a far more profitable scenario – pay for the services you want and forget about the free app development.

Custom Software – A Case Study

Custom Software

I recently contracted the services of a company to help me become a GSA contractor. While the company is working on submitting my paperwork, they have encouraged me to start reaching out to potential government clients. To help me find those clients, the company offered me thirty days of access to their website that shows all federal and state opportunities as well as providing search functionality and email notifications. However, after the thirty day trial, the price of accessing their site is $200 / month or $2,000 / year.

The Problem

While the company strongly encouraged me to purchase their services, I am always skeptical of paying for things I don’t need. As a business owner, wasted money comes directly out of my pocket. So, instead of paying for their services, I decided to examine alternatives. First, I found that much of the functionality was already available on the governments System for Awards Management (SAM). Second, I found that registered users of SAM can request an API key to develop their own software.

Developing a Custom Solution

Given that all I wanted was a simple app to display matching opportunities, I requested an API key and started development. To begin, I had a junior developer create an Angular web app. In order to access the SAM API, I created simple Node-based REST service. Next, I updated the Angular app to function as a PWA so that I can install it on my phone.

Outcome

Now, after less than 4 hours of development, I have an app on my cell phone to display opportunities matching my criteria. Or, I can access the site from my computer and go directly to SAM if I want more information. While there are many upgrades I could make in the future, the cost of developing my own custom software was substantially less than paying a third-party to use their service and delivered exactly what I needed.

Advice to Businesses

Today, a significant number of businesses offer Software-as-a-Service. While this model is great for the software provider, it may be less optimal for the consumer. Over time, the total cost of SaaS continues to rise for the consumer while the benefit remains largely the same. However, custom software allows for ownership of the application without a growing price tag. Furthermore custom software can address issues unique to the customer which may not be addressed by a Commercial Off-the-Shelf system.

In order to make the best decision for your business, consider the monthly cost of the application over a several year period. Then, consider the cost of lost productivity due to missing functionality. Once those costs are totaled, find out the cost of developing custom software to meet what you actually need. If the cost of custom development is less than the commercial solution, consider creating your own application.

Software Project Billing Models

Bookkeeping

Regardless of the type of work done by a service organization, two payment models exist: project-based and hourly. Each of these models works better for certain kinds of projects, and each model has pros and cons for both the buyer and the service-provider.

Service Billing

For simple services that can easily be estimated accurately, a project-based rate makes sense. Examples may include the cost of a car wash, painting a room, or changing the oil in a vehicle. In each of these instances, the actions of the service-provider are nearly identical with each implementation of the service provided. Furthermore, the time required is either constant (changing the oil in a car) or is easily measured based on a parameter such as room size (painting a room).

Other types of projects may be more difficult to accurately estimate. For example, gutting and remodeling a bathroom may require an estimate that is highly dependent on how the project progresses. As the contractor moves through the project, unforeseen issues may arise such electrical wiring problems or rotten floorboards that could not be known prior to the start of work.

Software Development Models

While many customers may want a project-based price, the reality is that such estimates are often inaccurate. Much like the wiring issues or rotten floorboards found by a contractor, issues often arise in software development. Furthermore, since every project is unique, developers are often forced to provided what is really nothing but an educated guess into the timeframe.

This reality has been acknowledged by most software companies as they have moved form “waterfall” to “agile” development methodologies. In waterfall, timeframes and budgets are defined before software development begins. However, companies found that these plans were rarely accurate. In fact, a common problem was budget overruns and late project delivery.

To solve this problem, companies moved to “agile” development. In this model smaller pieces of work are performed and deployed over and over again to build an application iteratively. In this model, the customer begins using the software as soon as possible and has the ability to change course as needed. For example, a customer may find that an “essential feature” is really not important once other aspects of the project are delivered. Or, they may find that an essential feature is missing which prevents required functionality.

Software Billing

Given that software quotes can be highly inaccurate, software companies and clients are left to determine how to best bill for software services. In a project-based model, the development firm takes on all the risks of providing an accurate estimate. However, knowing that estimates are frequently inaccurate, the firm will likely pad the estimate considerably to account for those issues. Furthermore, the software firm will have a vested interest in performing the least amount of work to accomplish the client’s vision. This may result in poor, unmaintainable code or buggy implementations as well as the client paying a higher overall hourly rate.

Conversely, if the software company bills on an hourly rate, they may have less of an interest in performing their job efficiently. Instead, they may want to run the clock to bill more hours. While the client has a better expectation of quality code, their bill may be inflated.

Since both models can be exploited by software development firms, it is important to find a developer you trust. Ultimately, I prefer an hourly model. This allows me to change course as the client’s needs change. I have found that customers rarely have an accurate idea of what they want. However, as the project progresses, and their vision comes into focus, clients are able to provide meaningful direction. If I’m forced to provide a project-based price, the client’s feedback will likely be ignored since their changes would constitute a change in project scope – something not allowed in a project-based model.

Conclusion

As a customer, an understanding of both models can help you interact with a software provider. While your first thought may be that the software company is trying to run up the bill with extra hours, any decent developer can provide you a ballpark figure for your project. However, know that such an estimate may be subject to change based on unforeseen problems as well as changes in your requirements as the project moves forward.

Red Flags in your Job Search

Job Search

Running a business full-time has been an incredibly rewarding experience for me. It has offered me substantially more freedom and control of my life than any other job has. However, I did consider reentering the workforce when the COVID pandemic started because I was unsure if my business would survive. When I was interviewing with companies, I observed several red flags that made me reconsider those businesses.

Unlimited Paid Time Off

A new trend in tech companies is unlimited paid time off. This sounds like a benefit, but I’m incredibly skeptical. Do you really believe you will be able to take unlimited time off? I doubt it. Furthermore, since you have not actually ‘earned’ any paid time off, you can likely expect management to complain about the vacation you are taking. Looking for that promotion? Jane in the adjacent cubicle didn’t take as much time off this year. Leaving your job? Don’t expect to get that nice bonus payout for your accrued vacation since you don’t have any. Frankly, I am convinced that unlimited PTO is just a scheme to have you take fewer days off, not more.

Concerns About Side Business

When I considered reentering the workforce, I was questioned about how long it would be until I closed down my business. While I had run my company as a side gig for years, interviewers didn’t want me to do that again. Why? Unless you intend to have me work 60+ hour weeks, what does it matter if I have a side business that does not compete with you? Conversely, I did have one individual actually say that my side business was a plus because it suggested that I would be learning more and growing professionally even outside of work hours.

Burdensome Legal Contracts

During my career, I have seen too many burdensome legal contracts. In one instance, a company wanted me to work as a subcontractor for them. Yet, they insisted that I sign both a non-compete agreement and an intellectual property agreement giving them ownership of everything I did. However, the business ignored the fact that I was operating in the same space they were and that signing a broad non-complete agreement would have ended my business. Furthermore, their intellectual property agreement gave them rights to all work I did – not just what I was doing for them. Thus, if work I performed for another company was patented, this company would have been able to claim ownership. Always be careful of the exact wording of contracts, particularly if you run a side business.

Pushy Recruiters

On one job, I saw too many red flags and opted out of continuing the interview process. Then, the recruiter started contacting me with high-pressure techniques to continue. She told me that the company’s stock options would be ‘life changing.’ The reality is, I truly doubt that the stocks they would have given me would have changed my life. Furthermore, I recognize that the recruiter gets paid to find candidates. Her high-pressure tactics were really just a way to get her a sizable commission if I were to take the job.

Conclusion

When you look for a job, never forget that the employer’s objective is to make money from your work. As such, they have a vested interest in minimizing your pay and benefits while maximizing the work that you do. Too many Americans already work excessive hours, and a disturbing number of businesses seem to encourage such behavior. If you are looking to change jobs, consider what you see in the interview process as well as what you can research online about the company before you make the decision and always keep your eyes open for red flags. Remember – you should work to live, not live to work. Make sure the company you work for has a similar attitude!

Dangers of Artificial Intelligence

Risk/Reward

With the growth of artificial intelligence, one of the subjects we don’t discuss enough is the possible dangers that it may create. While AI may help us better drive our cars or provide a rapid, more accurate diagnosis of medical issues; it may also create problems for society. What are those problems and what should we do to minimize those risks?

Poorly Tested Code

As a software engineer, my biggest worry is that poor-quality code will be widely deployed in artificial intelligence systems. Look around today, and you will see what I mean. I use a Mac, and the current version of Safari is riddled with bugs. Indeed, nearly every application on my computer has several updates per year to address bugs.

This is caused, in part, by the demands of businesses. I have worked for many companies over the years who desired to push out a new version even when some known bugs existed. For the business, this is necessary to ensure they beat the competition to release new features. However, this acceptance of buggy software can be disastrous in the world of AI.

For example, what happens when the artificial intelligence system misdiagnoses cancer? For the individual, this could have life-altering effects. What about the self-driving car? Someone could be hit and killed.

How good is good enough for artificial intelligence? I don’t have an answer, but it is something businesses need to strongly consider as they dive deeper into the world of AI.

Deep Fakes

A growing concern for artificial intelligence is how it could be used by organizations or political entities to persuade consumers or voters. For example, a political adversary of the president could create a fake video of the president engaged in some behavior that would bring discredit upon him. How would the electorate know it is a fake? Even worse, how could our nation’s enemies use fake videos for propaganda purposes here or abroad?

Employment

In many ways, advances in artificial intelligence are very similar to the changes during the industrial revolution. As AI becomes more advanced, we can expect to see more and more jobs performed by intelligent robots or computer systems. While this will benefit businesses who can cut payroll, it will have a negative impact laborers who can easily be replaced.

What Should We Do?

This is just a very small list of potential issues. Indeed, numerous techies have discussed countless other risks we face as we adopt more AI-based systems. But what should we do? The value of AI to our lives will be profound, but we must start to consider how we will address these challenges from both a legal and a societal perspective.

For example, we may need to create laws regarding liability for AI systems to ensure that businesses provide adequate testing before deploying systems. But problems like deep fakes and employment aren’t as easy to fix. We can certainly provide training to individuals who are displaced by AI, but as more and more jobs are replaced, where will all the workers go?

I don’t have the answers. However, I think it is time for techies and non-techies alike to start asking the questions so that we can reap the benefits of improving artificial intelligence while mitigating the potential risks

Getting an IT Job Without a Degree

I frequently talk to high school students or young adults who are hoping to land a lucrative IT job without a degree. Unfortunately, few of these individuals have the skills necessary to get the job they want. While many high schools now offer an increasing number of computer courses, rarely do they provide the depth or breadth of skills required by employers. However, this does not mean you need a degree to work in IT. In fact, some of the best techies I know started their career without a degree.

If it is possible to get a job without a degree, how do you do it? First, it’s important to recognize that IT jobs are broadly divided into two groups – system management and software development. System management jobs involve the management of computer systems, networks, servers, and other computer hardware. Additionally, cybersecurity professionals fall into this category (although there is often some overlap with software development skills). Software development jobs include web developers, software engineers, mobile application developers, and a variety of other jobs focused on using computer code to create applications for users.

Information Technology Certifications

Typically, individuals with system management jobs have degrees in Information Technology Management. However, those without a degree can show their competence with a variety of tech certifications. Some of the most widely known certifications are from the Computing Technology Industry Association better known as CompTIA. This includes CompTIA’s most well known certification for desktop maintenance and support – A+ certification. However, CompTIA offers a variety of other entry-level certifications as well. Network+ certification shows competency with network management and Security+ demonstrates basic security knowledge.

In addition to CompTIA certifications, a variety of other organizations provide IT certifications such as Cisco’s CCNA, Amazon’s AWS Certified Solutions Architect, and Google’s Associate Cloud Engineer. These certifications – unlike those from CompTIA – are vendor specific. However, the skills these certifications demonstrate are highly valuable to businesses.

Software Development Projects

Software developers typically have a bachelor’s degree in Computer Science. And, while there are some certifications available for programmers, they are not as widely desired as those for IT management. As such, it’s more difficult to demonstrate programming skills to a potential employer. However, this can be overcome by providing sample code on GitHub or BitBucket. If you want a job as a developer, spend some time creating professional-quality software applications that demonstrate your knowledge. Then, ensure to include a link to your repository in your resume. While you learn to code, don’t neglect learning SQL, HTML, and JavaScript. During the last decade, these skills have become standard for nearly all software development jobs.

I’ve talked to many young men who would like to become game developers. For them, I would recommend you consider your background in math and physics first. While there are libraries that make game programming easier, it’s hard to get far without some knowledge of matrix manipulation, trigonometry, gravity, and other topics that require a solid background in math and science.

Conclusion

While most people enter the IT world with a bachelor’s degree, it is possible to find good jobs without a formal education. If you want to work in the system management field, focus on certifications. If you want to work in software, focus on projects you can demo to show your ability. While either of the above will require effort, there really are no shortcuts in the IT world. Furthermore, if you are expecting an employer to pay you the high salaries common to the IT world, your efforts will be well compensated.

Security Consulting & Testing Services

For most of my professional career, I have been involved in security in one way or another. When I started my career in the Army, I trained as a Unix System & Network administrator. During that time, I often tinkered with security on our systems. In my first job outside the Army, one of my responsibilities was network security as well as managing offsite backups. Later in my career, I would be responsible for testing software applications for PCI compliance.

This year, I decided to start gaining certifications in the security realm. In March, I earned CompTIA’s Security+ certification. Then, in May, I took the Beta version of CompTIA’s PenTest+ version 2 exam. Today, I received notification that I passed that exam. These certifications shows that I am qualified to test systems for security issues and provide feedback to customers wanting to ensure their systems are as secure as possible.

In addition to computer security testing, I have previously studied locksmithing and physical security. Adding these two skills together gives me lots of avenues to approach security and vulnerability testing for clients – both on their networks and their physical facilities.

If you are interested in having your network security tested, please reach out to Talixa Software & Service, LLC for more information.

Impact of Social Media Bias

Scales

Since last year’s election, I have been substantially less involved with blogging and social media marketing. While we are all entitled to our political views, I will keep mine to myself and simply talk about how social media bias has negatively impacted social marketing.

Demographics

As a small business owner with an MBA, I am all too familiar with demographics. When I consider any marketing efforts, I have to consider who my primary market is and how I can reach them. For instance, marketing to children or teens would be ineffective for me as a software company. So, that means I have to ponder who does buy my services and how I can reach those markets. That also means knowing the demographics of my local area and their interests. While there are always outliers, I have determined that a sizable number of my customers are middle-aged or older white men with conservative political views. Of course, some of my customers are women or politically liberal – they just form the minority of my market in this area.

Reaching my Demographic

Once I’ve determined my demographic, the next step is to find ways to reach them. Newspapers are not likely to effectively market to millennials, for example. So I need to find the media used by my demographic. Of course, a substantial number of Americans are active on one or more social media platforms. Specifically, Facebook, LinkedIn, Twitter, and Instagram provide access to a substantial number of consumers of all demographics. These tools provide cheap advertising access to a large cross-section of Americans – in my demographic as well as other demographics I would like to attract to my business.

The Impact of Bias

Unfortunately, as last year progressed, there were more and more stories of political bias by the social media platforms. They felt it was their job to monitor political content and, ultimately, to deplatform people they did not agree with. Unfortunately, for those relying on social media for advertising, it meant that some demographics were substantially less present on social media. Or, worse yet, that those demographics had disengaged the platforms entirely. That means fewer people for me to market to and less desire to advertise or engage in social media.

Neutrality

Regardless of your political views, the neutrality of social media is essential not only for its viability as a marketing platform, but also for the long-term financial viability of any social media company. Alienating half of the population by politically-motivated censorship will do nothing but ensure the eventual demise of social media and will cause businesses to find alternative advertising means to reach their target demographic.

Conclusion

Whether you are a republican or democrat, if you’re involved in business you recognize the importance of advertising. Likewise, you are inevitably aware of conservative friends or political figures who have fled due to censorship. This must stop – not only because it discourages the open debate of ideas – but because it damages the platforms as well as the utility of social media marketing.

Attitude Matters

Bad Attitude

Anybody who has ever looked at job requirements for technical staff has probably noticed the huge number of skills required. This may include programming languages, hardware platforms, frameworks, protocols, or countless other technical specifications. However, what you will see far less often is interpersonal skills or attitude. In reality, these soft skills are typically far more valuable.

This week, I overheard an aspiring programmer discuss how he found it “mentally draining pretending to care about business needs our values”. I immediately jumped in to try to correct his errant thinking. As the discussion continued, he made it abundantly clear that he only cared about money. In fact, the only reason he was going to school for technology was to make money.

While many people chose their profession based on financial factors, money should never be the primary motivation. Why? Because study after study has found that money is a poor motivator of behavior. Instead, people motivated by the intrinsic characteristics of a job are far more successful. For example, as a programmer, I’m motivated by helping business transform their operations through technology and by the challenge of the problem. While a large number of the applications are, in themself, boring; solving complex problems and helping businesses grow is always exciting.

For the individual trying to find a job, learn to be motivated by the job instead of the money. Not only will it help you perform better, it will help you develop a more positive attitude.

In the end, most business owners would rather have a less technically competent individual with a positive attitude than a more skilled individual with a poor attitude. For the business, they can train the desired skills, but fixing a poor attitude is far more difficult.

Backups Are Not Optional

Drives

Recently, I visited a customer site for what seemed like a simple request – to update their Windows computer. However, in the end, the machine had to be reformatted. The customer was very worried that they would lose critical data on their system. That didn’t happen, but I was concerned that the customer wasn’t performing backups on what he considered to be critical operational data.

Today, failure to backup important data is not excusable. With the advent of cloud services as well as cheap data storage, customers have countless options for ensuring their data is always available. Regardless of the operating system or situation, everyone should be performing regular backups of critical information.

Backup Options

For Mac users, Apple’s Time Machine is the way to go. The gold standard for computer backups, Time Machine automatically backups up your entire system whenever a configured hard drive is connected to the computer. Not only is it easy to configure and implement, backups couldn’t be easier. During setup of a new Mac computer, simply plug in the Time Machine drive and the OS will take care of moving everything to a new system. It could not possibly be easier. Additionally, Apple’s iCloud drive is an incredibly cheap cloud-based backup option. The free iCloud storage allows up to 5 gigs while paid solutions start at only .99 cents per month.

Unfortunately, Windows users don’t have anything as nice as Time Machine. However, Microsoft’s OneDrive allows free storage of 5 gigs (like iCloud) and up to 1 TB for only $6.99 per month. With automatic syncing to the cloud, OneDrive can quickly – and easily – protect mission critical data.

In addition to the above, countless other options exist. Google Drive, a service similar to OneDrive or iCloud, allows 15 gigs of free storage. For developers, both BitBucket and GitHub provide off-site storage of source code. For your cell phone, Google Photos can backup every selfie you take so you never have to worry about losing the pictures on your phone.

Conclusion

In the end, it doesn’t really matter what service you use or how you do your backups. What matters is that you’re doing them. For me, as a business owner, the loss of my business data would be catastrophic. So, I have implemented various backups to preserve critical files. If my computer blows up today, I’ve got nothing to fear – I’ll be back up and running tomorrow.

If you are concerned about what would happen to your business in the event of a computer crash or catastrophic event, contact someone in your IT department. If you don’t have an IT department feel free to contact Talixa Software for assistance.