Generative AI is revolutionizing how corporations operate by enhancing efficiency and innovation across various functions. Focusing on generative AI applications in a select few corporate functions can contribute to a significant portion of the technology’s overall impact.

Key Functions with High Impact

Generative AI is revolutionizing sales by enabling dynamic pricing and personalized customer interactions, boosting conversion rates and customer satisfaction. AI chatbots are increasingly capable of handling tasks traditionally performed by inside sales reps, such as initial customer contact, basic inquiries, and lead qualification. This shift allows business to reallocate human resources to more complex and strategic roles, or eliminate those positions entirely. Post-sale, AI analyzes customer data to improve service and loyalty, making it a cornerstone of modern sales methodologies. This AI-centric approach transforms sales into a data-driven field, emphasizing efficiency and personalized customer experiences.

Similarly, in customer support, AI-driven chatbots and automated response systems are taking over routine support, effectively handling common issues such as account inquiries or basic troubleshooting. TechEmpower has been instrumental in developing chatbots like these, utilizing generative AI to sift through internal documents and user manuals, enabling them to provide precise answers to customer service questions. This level of automation not only improves response times and consistency in customer service but also allows human customer support agents to focus on more complicated and nuanced customer interactions.

At TechEmpower, we are using LLMs, RAG, fine tuning and other Generative AI techniques to  revolutionize a key part of day-to-day operations in healthcare. The standards in healthcare dictate that we achieve reliable results. Working closely with world-class medical experts, we have created an innovative solution that achieves accuracy and can be tailored to particular medical practices. The result significantly lightens the workload for healthcare professionals, allowing them to focus on decision making and patient care.

AI empowers businesses to craft more impactful marketing campaigns by utilizing data analytics for content personalization and market trend forecasting, thereby significantly enhancing campaign relevance and effectiveness. Instead of just counting clicks, AI can analyze a range of factors like user engagement duration, the relevance of ad placement in relation to the content being viewed, and historical purchasing behavior of the viewers. The shift towards AI-driven ad technologies enables brands to set and achieve highly specific engagement KPIs, moving away from generic strategies to more personalized, data-driven approaches that resonate with their target audience. At TechEmpower, we’ve used LLMs as part of marketing strategies where you can find and classify companies, personalize outreach campaigns and have personalized drip campaigns.

In the sphere of software engineering, AI is pivotal for corporate IT by automating coding, optimizing algorithms, and enhancing security to boost efficiency and minimize downtime. It plays a crucial role in product development too, where generative AI speeds up design processes, streamlines testing, and tailors user experiences effectively. This technological integration into software engineering not only enhances the productivity of development teams but also ensures that IT infrastructures are robust and reliable. By automating routine and complex tasks alike, AI allows engineers to focus on innovation and strategic tasks. Overall, generative AI is a transformative asset in the software engineering lifecycle, from conception to deployment. At TechEmpower, we’ve used generative AI across a wide range of capabilities for ourselves and our clients. This includes: Github Copilot, PR summarization, user story creation including test and edge cases, creating unit and behavior tests, query optimization, debugging, and more.

In the domain of Product Research and Development (R&D), generative AI acts as a catalyst for innovation, significantly accelerating the ideation and creation phases of product development. By processing and analyzing large datasets, AI can identify emerging trends, enabling companies to align their product strategies with future market demands. It also facilitates rapid prototyping, allowing for quicker iterations and thus shorter development cycles. In testing, AI can simulate a multitude of scenarios, predicting performance outcomes and potential failures before they occur, which reduces the risk and cost associated with physical prototyping. Overall, generative AI in product R&D not only streamlines the development process but also empowers companies to lead with cutting-edge, data-driven products.

Other Notable Functions

Generative AI is poised to revolutionize supply chain management by enhancing demand forecasting, enabling businesses to anticipate market changes and adjust inventory accordingly. It can also optimize logistics through route and delivery scheduling, leading to reduced operational costs and improved delivery times. In manufacturing, AI facilitates the transition to smart factories by implementing predictive maintenance, which minimizes downtime, and by optimizing production lines for increased efficiency and reduced waste. These advancements allow for a more resilient and responsive supply chain, as well as a manufacturing sector that can swiftly adapt to new challenges and opportunities, thereby driving substantial corporate impact.

In corporate finance, generative AI is a transformative force, enhancing decision-making and operational efficiency. AI’s prowess in detecting and preventing fraud provides an added layer of security, safeguarding assets and transactions. Moreover, it automates routine tasks such as transaction processing and report generation, freeing finance professionals to focus on higher-level strategy and analysis. By integrating AI, finance departments can achieve greater accuracy, efficiency, and risk management, significantly impacting the overall financial health and strategy of a corporation.

AI can significantly aid Human Resources (HR) departments in reducing costs through various means. It can be used to quickly scan and shortlist resumes, reducing the time and resources spent on the initial stages of the recruitment process. This not only speeds up hiring but also lowers the costs associated with lengthy recruitment cycles. AI-driven platforms can also streamline the onboarding process, providing new hires with personalized learning paths, thereby reducing the need for extensive HR personnel involvement and ensuring quicker employee ramp-up.

Incorporating AI into Corporate Legal departments can significantly reduce costs and enhance efficiency. AI-driven document review and analysis expedite the handling of large volumes of legal documents, contracts, and case files, saving considerable time and labor costs. Contract management is streamlined as AI systems monitor contract lifecycles, ensuring compliance and mitigating risks of costly oversights. Predictive analytics offered by AI can inform legal strategies, aiding in the decision-making process to avoid unwinnable cases and focus resources effectively. Additionally, AI facilitates automated legal research, stays abreast of the latest laws and regulations, and aids in compliance monitoring, preventing expensive legal violations.

While legal departments must be cautious in their use of AI, ensuring that it complements rather than replaces the nuanced judgment of experienced legal professionals, the benefits are substantial. AI-powered tools can handle routine inquiries and draft standard documents, freeing up legal staff for complex tasks. In litigation, AI greatly improves the efficiency of the e-discovery process. The overarching impact of AI in corporate legal settings is a more streamlined, cost-effective department, where resources are allocated strategically and the risk of legal missteps is minimized.

Want to learn how TechEmpower can help you drive impact with AI?

Conclusion

Generative AI is revolutionizing the way TechEmpower enables corporate innovation and efficiency across a multitude of sectors. By automating routine tasks, enhancing data analysis, and fostering personalized strategies, this technology is a strategic asset driving our clients towards a future marked by greater efficiency, cost-effectiveness, and innovation. We utilize generative AI to provide cutting-edge solutions across various domains, establishing TechEmpower as a leader in leveraging AI to deliver tangible benefits and drive progress for our clients.

Selecting a Software Development Company in 2024

December 11, 2023

Brad Hanson

In 2023, there were approximately 26.3 million software developers worldwide. This vast pool of talent showcases a wide range of experience and portfolios, quality of work, and inquisitiveness. Given this diversity, it’s important to be selective in the development services company with whom you choose to partner. In the 25 years that TechEmpower has been in business, we’ve seen thousands of companies come and go. Here is what we’ve learned:

Understanding your needs

Identifying the skills you truly need is paramount as different firms boast distinct skill sets. Here are some items to think about:

  • Have you defined the functionality?
  • Is user interface and graphic design a necessity? Do you have the basics already defined and merely need them fleshed out? Or is your project a clean slate?
  • Are there complexities revolving around algorithms or databases?
  • Do you anticipate scale issues presently or in the future?
  • Are specific technologies or platforms involved in your project?

You’ll discover firms that are prolific in design/interface and light on development, and vice versa. Some offer specialized skill sets like expertise in a particular programming language or framework, or specific domain knowledge. Depending on your needs, a combination of these skills may be desirable. In fact, you might have to secure them from diverse people/firms.

This article will primarily focus on locating and evaluating development companies, rather than design firms. If you require user interface or graphic design, the selection process will differ slightly. Some of the information below will apply. Ensure that you investigate the designers’ past work, samples of their work product, and their process. Know who will be undertaking the actual work, and who will be acting in a supervisory or account role.

Here’s what to consider

Experience and Portfolio: What type of projects has the company completed? Who was involved in those projects, and are they still part of the firm? Has the company handled projects similar to yours? Do they have experience with the technologies involved in your project? Make certain you explore these projects. Were they finished on time and on budget? Did the clients consider them a success? Are they publicly available?

Beware of being swayed by big-name firms or impressive name-dropping. Although noteworthy, working with large corporations differs remarkably from working with startups. Understand exactly what the company contributed to each project. Be wary of firms that claim portfolio items which were executed at a different company/role—unfortunately, this practice is not uncommon, especially in newer firms.

Quality of Work: The end product should not only look good but function as expected. Don’t be charmed by an impressive aesthetic at the expense of functional results. While the appearance matters, remember you are hiring the development firm primarily for its development skills, not its graphic design skills.

Inquisitiveness: Prior to starting the project, you should receive an estimate of the work effort. To provide an accurate estimate, the firm should ask a multitude of questions. Our blog post 53 Questions Developers Should Ask Innovators has a list of questions any good development team would ask. Companies that quote without inquiry are either oblivious to the questions required or uninterested in understanding your actual needs. Avoid them.

Assess the Company’s Website: The company’s own site provides a clue to its dedication to aesthetics and content. However, an overly attractive site could indicate a leaning towards design over development.

Employee and Contractor Details: How many full-time W2 employees and contractors do they employ, and where are they located? If so, what’s the vibe like? What are the employees and contractors’ skills?

Project Management: Get a clear understanding of the company’s process. How do they verify the ongoing progress of development? How do they handle testing? What are the review periods and your responsibility in the process? Ensure you know what each side expects from the other.

Budget and Deadlines: Determine if budgeting and deadlines are flexible. How does the percentage of their projects launched on-time and on-budget compare to upfront estimates?

Communication: Evaluate their communication style. Is there a project manager? An account manager? Will you have direct access to a lead developer? While beneficial, some project managers hinder effective communication.

Support and Maintenance: After the launch of your application, what support does the company provide? Do they assist with the transition to in-house or other developers? How do they handle hosting and support?

Client Retention: Do they have repeat or long-term clients?

References: The company should willingly provide references. Consider also reaching out independently to people at companies mentioned in their portfolio, accessible via LinkedIn.

Potential red flags

The following issues can suggest potential risks:

  • Lack of inquisitiveness
  • Not discussing mobile strategies
  • Recommending outdated technologies
  • The firm’s age (less than two years old)
  • The company’s size (fewer than 10 people)
  • Price significantly lower than competitors
  • Lack of maintenance planning post-launch
  • Disinterest in learning about you or your project
  • A high-pressure sales environment

In summary, ensure the company you choose aligns with your specific needs and shares your enthusiasm for the project. It’s a strategic choice that extends beyond a one-time development process and into anticipating future needs. By following these guidelines, you’ll be better equipped to select a web development company that accurately reflects your project aspirations.

 

Do you have an idea for a software project? Or do you need help evaluating software firms? Either way, we can help!

Framework Benchmarks Round 22

November 15, 2023

Nate Brady

We’re pleased to announce Round 22 of the TechEmpower Framework Benchmarks!

The TechEmpower Framework Benchmarks project celebrates its 10th anniversary, boasting significant engagement with over 7,000 stars on GitHub and more than 7,100 Pull Requests. Renowned as one of the leading projects of its kind, it benchmarks the peak performance of server-side web application frameworks and platforms, primarily using tests contributed by the community. Numerous individuals and organizations leverage the insights from The TechEmpower Framework Benchmarks to enhance their framework’s performance.

Microsoft has been steadfast in their dedication to improving the performance of their .NET framework, and has been active in the Framework Benchmark community to further this goal. With the announcement of the release of .NET 8, it is clear that performance is paramount.

Here are some updates from our contributors

@franz1981 on GitHub, @forked_franz on Twitter:

Right after Round 21 I’ve worked on the 3 projects delivering:

All these changes has improved the performance of the mentioned frameworks from 40% to 200% depending on the test

Oliver Trosien says:

I would like to use that opportunity to highlight Scala’s “new kid on the block”, Pekko, which is a fork of Akka, and currently undergoing incubation as Apache project. One of the reasons for contributing it to the Framework Benchmarks, was to verify no obvious performance regressions were introduced in the process of forking, and the results look good! Pekko is very much en-par with its legacy counterpart.

@fundon

List a few of Rust’s performance optimizations.

In a real production environment, several approaches can be tried to optimize the application:

  1. Specify memory allocators
  2. Declaring static variables
  3. Putting a small portion of data on the stack
  4. Using a capacity to new vector or hash, a least capacity elements without reallocating
  5. SIMD

@fakeshadow says in response:

In general you should not take anything from tfb benchmark and simply consider it useful in real world. Context and use case determines how you optimize your code.

btw: xitca-web (bench code not including dependencies) does not do 2,3,5 and still remains competitive in micro bench can be used as a reference.

@synopse

I have written a blog post about TFB and object pascal – yes, we added our object pascal framework in round 22! About how we maximize our results for TFB, we tried several ways of accessing the DB (ORM, blocking, async), reduced the syscalls as much as possible, minimized multi-thread locks especially during memory access (a /plaintext request requires no memory allocation), and made a lot of profiling and micro-optimizations. The benefit of the object pascal language is obvious: it is at the same time a high-level language (with interfaces, classes and safe ARC/COW strings), safe and readable, but also a system-level language (with raw pointers and direct memory buffers access). So the user can write its business code with high level of abstraction and safety, but the framework core could be tuned to the assembly level, to leverage the hardware it runs on. Finally, OpenSource helped a lot having realistic feedback from production, even if the project and the associated FreePascal compiler are maintained by a small number of developers, and object pascal as a language is often underestimated.

Notes

A heartfelt thank you to all our contributors and fans! We recognize the complexities involved in executing a benchmarking project accurately. While it’s challenging to meet everyone’s expectations, we are committed to continual improvement and innovation, made possible with your invaluable support and collaboration.

Round 22 is composed of:

Run ID: 66d86090-b6d0-46b3-9752-5aa4913b2e33 on our Citrine environment.

Follow us on Twitter for regular updates.

 

Want to learn how TechEmpower can help make your web application faster?

Generative AI – The End of Empty Textboxes

November 13, 2023

Alan Laser

We recently completed a web-based application that uses a unique algorithm to match professionals with new career opportunities. As part of the onboarding process, the app asks both job seekers and employers what they’re looking for – in a text box – while providing a few suggestions in a pop-up.  If you’ve ever used a similar application, (or if you’ve ever used the Internet at all) you’ve probably seen this approach before.

And if you’re like most people, you’ve also probably struggled to fill those boxes in.  Everyone struggles with empty text boxes. Populating them can be hard work, especially when the content needs to be just right.  This isn’t just our opinion – our startup metrics prove it!  Even with the pop-up suggestions, we saw significant drop-off during user onboarding.  Drop-off on the first page of an application is bad news.  It means wasted advertising spend and lost goodwill.

The point is, empty textboxes aren’t just intimidating, they can significantly impact user engagement and conversion rates. On a different project, we’d just used a Large Language Model (LLM) – in this case OpenAI’s GPT – to provide users with pre-filled text boxes, with content based on choices they’d previously made.  Instead of an empty box, the user gets one filled with content to use as a jumping-off point.  If they like the content as-is, they can keep it; if not, they can change it.  Either way,  it’s a huge improvement over starting from scratch.

Applying that solution to our job matching site made perfect sense.  In fact, it makes sense for almost any application that has text boxes!  Leveraging LLMs to help users fill in text, whether it’s by providing starter content, samples, or highly personalized tips, makes their lives easier.  That’s why we’re planning on building most of our sites this way in the future.

Bottom line: with LLMs, empty text boxes are going away.

Profile Blurbs and Writing Prompts

Let’s look at our job matching site in more detail.  During signup, the professional is prompted to enter their profile into a form, with an upload box for a resume, fields for awards, skills and certifications, and then a textbox – 500 characters max – for their professional summary.

An empty textbox, demanding to be filled with a concise, compelling summary to impress potential employers is daunting. Fill it with the right words, and your dream job could be right around the corner. Get it wrong, and you’re just wasting fifty bucks a month.

For example, let’s consider Mark. He lives in Houston, he’s a dedicated math teacher, and a proud recipient of the Teach for America excellence award. He’s a right-brain guy, and not much of a writer, which makes an empty textbox a potential stumbling block. So instead, we fill it with a completely custom blurb, written just for him:

Hello! I’m Mark, an enthusiastic math teacher from Houston and a proud Teach for America honoree. I bring my passion for numbers to the classroom every day, drawing from my experience to inspire my students. My time with TFA instilled in me a deep commitment to education, inspiring me to dedicate my life to guiding young minds through the world of mathematics.

That blurb, and the following examples, were all generated from GPT in only a few seconds, at a cost of less than one penny. The information provided was all pulled from data he’s already entered – just Mark, Houston, Math Teacher, Teach for America.

And if this description doesn’t resonate with Mark, he can ask for a new one, while providing feedback.  Maybe those references to TFA sound like bragging, or he thinks “passion for numbers” sounds silly.  We could prompt Mark to enter descriptive keywords like “dedicated” and “engaging.”  This gives Mark more control over the process, without requiring him to write much, and gives the LLM more to work with.  Giving this feedback to GPT gives us a revised prompt – once again, in just a few seconds:

Hello! I’m Mark, a dedicated math teacher hailing from Houston. Every day, I channel my enthusiasm into creating exciting and engaging math lessons, leveraging my wealth of experience to motivate my students. My tenure at Teach For America cemented my commitment to education, motivating me to devote myself to navigating young minds through the captivating landscape of mathematics.

Thanks to his custom blurb, instead of closing his browser and feeling inadequate for the rest of the day, Mark completes his bio and becomes a happy customer.  He’s happy because the hardest thing he had to do all day was done for him – in a way that allowed him to maintain control of the output.  The LLM didn’t just write a blurb for Mark, it wrote the blurb that Mark would have written, if only he’d had the words.  Note how this version incorporates Mark’s feedback and descriptive keywords.  It’s this collaboration between the user and the LLM that drives good results.

In the pre-LLM era, an empty textbox was a tough challenge.  Now that AI is here to help, every textbox is an opportunity to help a customer through the challenge. Which means better conversions and happier customers. Happy customers mean happy CEOs and founders – and that’s what makes us happy.

One of the main powers of LLMs lies in their ability to generate text that not only makes sense but is also engaging and personalized. They learn from millions of pages of text, understanding patterns, context, and even nuances that make the generated blurbs feel almost human.

If having an LLM write the whole blurb seems like too much, we could also fill our empty textbox with a writing prompt:

I know writing about yourself can be tough. Start by introducing yourself, your profession, and your location. Share your daily drive, such as creating engaging math lessons, and how your experience aids this. Be sure to mention your Teach for America experience, and end by stating your mission, like guiding young minds through the world of mathematics.

Along with personalized tips that inspire creativity:

  • Inject Professionalism with a Touch of Fun: Mark, as a dedicated math teacher, you likely have engaging stories from the classroom. Share an anecdote that showcases your innovative teaching methods. This adds a touch of personality and makes your bio more memorable.
  • Be Genuine: Emphasize your genuine passion for teaching and your commitment to education. As a proud Houstonian and a teacher, highlight your connection to your community and your ongoing efforts to improve the world around you.
  • State Your Career Goals: You’re passionate about guiding young minds in mathematics. Clearly mention that you’re seeking a role where you can continue influencing students’ lives and making a difference.
  • Skills and Interests: Consider adding personal skills and interests.  Do you participate in professional development workshops, or perhaps enjoy problem-solving puzzles in your downtime? Including these details can provide a more holistic view of your professional persona.

Since LLMs can understand text as well as generate it, the tips could be interactive as well as personalized.  As Mark types, the text could be sent to GPT; if it determines that he’s added a teaching anecdote, a check mark would appear next to that tip.

Fill Every Textbox

Bio blurbs are a difficult sort of textbox to fill in.  But there are others almost as hard.  Think about text boxes that have stymied you in the past.  Look around your home or your office.  (If you’re remote, use your imagination.)  Do you see anyone frustrated by these empty textboxes? Off the top of my head, here are some examples, but the list is huge:

  1. E-commerce product descriptions and FAQs
  2. Real estate listings
  3. Social media posts
  4. Marketing emails
  5. Job postings
  6. Job application cover letters
  7. Personal statements for college applications
  8. Business proposals
  9. Customer support emails
  10. Press releases
  11. Dating profiles

All of these text boxes are difficult to fill in, though not necessarily for the same reason.  Product descriptions and listings require tedious editing to make them engaging – especially after the fortieth one. Customer support emails require both accurate information and a professional, helpful tone.  An LLM can help fill in all these boxes, either directly, or by providing prompts, tips, and editing help.

Are you a founder or CEO or head of product? Go through your product right now and look for empty text boxes. You might be surprised how many there are.  Each one represents a great opportunity to make your users more productive and happier.  A solid LLM integration can transform the way they interact with your platform. It can empower them to express their ideas more effectively and confidently, no matter what they’re writing.

TechEmpower can help

In the era of LLMs and Generative AI, empty textboxes are a product mistake. Instead, you can enhance the user experience and produce a better result by enabling the user with a combination of the right questions and a starting point. The result is less drop off, i.e., better conversion rates.

But there’s a big difference between an LLM implementation and the right implementation for you.  To get to what’s right for you, you need a tech partner with a deep understanding of your business needs, software development experience, data engineering skills and AI expertise.  With over 25 years of experience in the software industry – and many successful AI integrations under our belt – TechEmpower can help you replace those empty textboxes with happy customers.

Want to learn how TechEmpower can help you fill textboxes with GPT?

The Top 20 Symptoms of a Weak Development Team

September 25, 2023

Alan Laser

When speaking with founders and CEOs, we often hear concerns like this:

My project manager is losing confidence in the development team. The PMs are seeing late deliveries and bugs that suggest the devs just aren’t capable enough. I think that poor communication and differing team cultures might be part of the problem, but how can I know for sure?

It’s a good question. Lack of confidence in a dev team can be caused by any number of factors, including:

  1. The dev team is, in fact, weak.
  2. The team’s technical skills are solid, but they’re undermined by poor communication, especially around requirements and expectations.
  3. Past failures, e.g., missed deadlines, bugs, or downtime make it impossible to reestablish trust. This can be true even if those failures had nothing to do with the current team.

But how do you know which? If you’re grappling with this issue, identifying the specific cause can be difficult, especially if you don’t have a software background. (This is where a technical review can be useful!) Don’t worry – we can help. In this post, we’ll show you how to identify common signs that a dev team isn’t performing as expected, even if you’re not that technical.

Before we review the symptoms, though, please bear this in mind: If your team shows these signs, it doesn’t necessarily mean they’re weak. It means that you – or someone you trust – need to dive in to figure out what’s going on.

The Founder-Developer Gap and A, B, C Players

The challenges that business leaders face when assessing development teams are a good example of the Founder-Developer Gap. The fact is, developers operate in a world that outsiders can’t easily understand. It’s hard to know if a developer is an A, B or C player, or a player at all. And in the software world, an A player is worth 10+ C players!

Unfortunately, there are a lot of C players out there. When we interview potential developers, we’re always amazed at how many can’t answer basic programming questions. It makes us wonder, how did these folks graduate from their CS program or their bootcamp? And how did they build their impressive resume? (Maybe with ChatGPT!)

The Symptoms

Here are the red flags we hear about most often. These are the worries that keep team leads up at night. Knowing how to spot these signs can help you keep your business on track.

  1. Missed deadlines.
  2. Last minute scope-cutting to avoid missing deadlines.
  3. Delivery of code that has clearly not been tested.
  4. Marking bugs as fixed that aren’t fixed.
  5. Racking up massive overtime.
  6. Lack of communication between developers.
  7. Dev teams without a clear leader.
  8. Rogue developers with their own agenda.
  9. Private bits of code that are jealously protected by a single dev.
  10. Shifting blame and finger pointing.
  11. Fixing one bug breaks something else.
  12. Developers seem unconcerned about bugs or system downtime.
  13. Developers become annoyed at testers for finding bugs.
  14. The same bugs/problems occur over and over again, and no one wants to find the source of the problem.
  15. New features always require significant rewrites, and consequently a lot of time.
  16. Developers can’t explain why changes will require more or less development time.
  17. During team meetings, developers are quiet when bugs, features, changes are being discussed, only to come back with questions later.
  18. Rapid turnover, especially of senior or “A” developers.
  19. Developers aren’t aware of the progress of the current dev cycle, or even what’s in it.

And the #1 symptom relates to that old software engineering adage:

The first 90% of a project takes half the time. The last 10% takes the other half.

From a CEO’s perspective, this translates into:

The team made great strides early on, but it’s taking forever to get it done.

If you’re seeing some of these symptoms, you may have a weak development team. But to repeat our previous warning, you might not! There may well be other problems keeping your team from being effective. To find the answer, you’ll need a deep-dive analysis. But it’s best to start with a phone call for a quick reality check – and we are happy to do that with you.

What Makes a Team Strong?

It’s useful to approach this problem from the opposite direction. What are some characteristics of a strong team?

A strong development team should have the following:

  • A high service level and availability of their product/system.
  • A high throughput of effective change.
  • A low amount of unplanned work.
  • A culture of change management.
  • A culture of continual improvement.
  • And a culture of root-cause analysis.

If your team shows these characteristics, then make sure they know they’re appreciated! And don’t be surprised if you see some weaknesses and some strengths. That’s to be expected.

Recovery is Extremely Hard

Software development is challenging. Asking the right questions during requirements gathering – which is essential – doesn’t come naturally to most devs. Edge cases are easy to miss, even for experienced programmers. Aggressive timelines and pressure from management create plenty of opportunities to introduce bugs.

Early failures by a development team can make it difficult – next to impossible, really – to recover trust. If your co-workers or your manager think you’re doing a bad job, it’s very hard to overcome that perception.

Bottom line: If you have concerns about your development team, read the list of symptoms carefully. If you find yourself nodding your head in agreement, you might have a weak team.  And it never hurts to get an outside opinion!

Many CEOs of software-enabled businesses call us with a similar concern:

Are we getting the right results from our software team?

Most innovators don’t have a technical background, so it’s hard to evaluate the truth of the situation. We hear them explain that their current software development is expensive, deliveries are rarely on time, and random bugs appear. The explanation from software leadership is often unsatisfying or unclear. And unless they have a tech background, they can’t look under the hood themselves.

What does a business leader do in this situation? The reality is that it’s not a hard problem to address. The answer is to engage a trusted outside source for a Technical Review – a deep-dive assessment that provides a C-suite perspective. At TechEmpower, we’ve conducted more than 50 technical reviews for companies of all sizes, industries, and technical stacks.

Technical Review Defined

A technical review is a deep-dive assessment of your software, infrastructure, team and processes. It provides findings and recommendations intended to foster a mutual understanding between business and software leaders, shedding light on the current state of your technology and your team. It also provides concrete recommendations for improvements.

Common Signs You Need a Technical Review

We’ve already mentioned the most common signs that you might need a technical review:

  • Slow or late delivery: “I’ve authorized two new developers, and we’re still behind.”
  • Random or persistent bugs: “The menu bar has been fixed three times now!”
  • Sleepless nights from strategic worries: “Am I building the right tech, the right way?”

But everyone’s situation is unique. Your reasons for needing a technical review will depend on your business goals. Think ahead to tomorrow, to the next six months, and to next year. Are you preparing to expand, take your business in a new direction, or take on new partners? Even if you’re happy with your tech team, a review can ensure your business is in a good place before you take your next big step.

Other common scenarios that we’ve seen:

  • Scaling and new markets: Your company and product are established, and now you’re scaling or going after new markets. These are classic inflection points for a development  team. It’s important to ensure that they’re on a strong footing as significant changes occur. Otherwise, the downstream technical debt created can be overwhelming.
  • Keeping up with the competition: You’re a market leader in a fast-growing field. Newer, nimbler competitors keep introducing new features before your team can catch up. A technical review can help your development team adopt new processes and strategies to maximize their speed and efficiency.
  • Outgrowing your stack: Your tech stack was just right for your startup. But as you’ve grown, it’s become cumbersome and constraining. Your tech team is suggesting a costly, time-consuming overhaul. But is that the right strategy for your business? A technical review can answer that crucial question.
  • Changes to the tech team: You need to make changes to your tech team to meet your business goals. But what does the right team look like? A technical review can help you decide what team will work best both with you and for you.
  • Due diligence prep: You’re coming up on a funding round or looking at a potential exit. Your investors and buyers will be doing a technical review. Are you ready? Do your own review first so you can be confident and better positioned.

There are almost as many reasons to do a technical review as there are software-enabled businesses. If you’re a CEO, product leader, investor, or a founder looking for investors, a technical review conducted by a neutral, experienced third party will help you discover what’s really happening and what’s needed to make improvements.

How it Works – The Review that’s Right For You

We know what a review can do for you. But only you know what you really need. That’s why it’s important to discuss your specific situation early in the process, ideally before the review even begins. This allows us to shape our approach to your unique needs. Then, at the start of the review, we speak with other key stakeholders to understand where they’re at and what they need.

So, how your review might work depends a lot on your situation – there’s your standard tech person caveat! 🙂  But at a minimum, any good review should include:

  • Straightforward Analysis: A straightforward report that grades aspects of your technology, processes, and team. It’s written for a business leader, not an engineer.
  • Pragmatic Assessment: An in-depth evaluation by working engineers who understand what it takes to deliver in different development situations. This part of the report can go deep on how your software stacks up with respect to feature delivery, security, reliability, and scalability.
  • Expert Recommendations: Concrete next steps that working engineers believe would be appropriate to consider.
  • Findings Sessions: A review meeting to decode findings, gauge their business implications, and chalk out a roadmap for the future.

Let’s look at the process in more detail. Here’s what a typical review looks like, step by step.

Background Information Review

Our first step is to review existing background materials. Our goal is to build a decent understanding of your business, your product, and your technology.

This might include business-side materials like your product roadmap, business plans, and competitor analysis, as well as technical materials like requirements documentation, screen comps, and project/process systems like Jira and Confluence.

Discuss Pain Points

To borrow the famous quote, all successful software projects are alike; every struggling software project struggles in its own way. To help you, we need to understand your specific concerns.  What’s keeping you up at night? Understanding your pain points shows us where to focus our review. We keep these pain points at top of mind throughout the review.

Questions and Conversations

We provide the tech and product teams with a list of questions that cover a wide variety of topics including software architecture, hardware/software technologies in use/planned, hosting, external services and dependencies, deployment strategy, development process and tools, testing approach, data science, security, and other relevant topics.

We then review the answers with the technical and product teams.

An interesting side note: During our Q and As with dev teams, we often end up having conversations around issues that they haven’t even thought about. It’s not because they’re inexperienced or incapable – it’s because they’ve been so focussed on shipping features that there hasn’t been time for anything else. This is exactly the sort of thing that a technical review can help address.

Here are some questions that can trigger those kinds of conversations:

  • What areas of the applications are the most difficult to work on? And what causes that?
  • What amount of time is spent on bug fixes and maintenance versus development of new features?
  • How would your product perform if your user base were to scale up by a factor of 10? By a factor of 100?
  • How are you monitoring your systems and applications?  Who responds to alerts?

Architecture Review

We meet with your tech team to review the overall architecture of your systems and applications. Our goal is to get a big-picture understanding of your systems, including how complex they are. We also begin to assess how well the architecture fits with your business needs.

Targeted Code Review

In this step, our senior engineers review the source code that drives your business. Does the code follow best practices? Are there repeated bugs or security holes? Our goal is to make sure your team’s code is appropriate for the situation.

Why a targeted review? It’s not practical, or even worthwhile, to examine every line of code. We provide value by targeting our review towards key components across your application stack.

Process and Team Review

It’s easy for development teams, especially startup teams, to cut process corners in the name of shipping features. However, short-cuts on process can lead to problems downstream. It can also lead to a software team that looks ill-equipped.

To head these off, we start by reviewing your team’s overall methodologies, and then drill down to details like source control workflow, ticket management, and code review processes. This step helps us identify why development priorities get stuck or abandoned, determine if the right people are working on the right tasks, and identify development hurdles and roadblocks.

This step can include a review of each team member’s contributions, down to individual commits. If you’re concerned that some of your developers are not allocated wisely, a contribution review can help.

We also assess the makeup of your dev team. We check out the team’s makeup, skill sets, and past work to ensure they align with what your business needs.

Findings and recommendations

This is what you’ve been waiting for! We provide you with a report, written for a business audience, that includes:

  • Executive Summary: We grade your architecture, source code, process, and teams, and provide a brief rationale for each grade.
  • Detailed Findings: For each of the areas in the executive summary, we provide the details. Honestly, this often doesn’t get more than a skim from business leaders, but certainly gets a thorough read from the technical team.
  • Recommendations: Specific recommendations based on your pain points, the findings and what we believe are pragmatic choices for your business.

Review Meeting

Once the business and technical teams have had a chance to review the findings report, we conduct a meeting, or series of meetings, to discuss the results and next steps.

Getting Buy-in from Leadership

Business leaders are often concerned about how their tech teams will react to an external technical review. Will they resent scrutiny from the outside? Will they refuse to cooperate or push back?

While this can be a challenging conversation, it’s not as hard to get technical leaders on-board as you might think. Let’s assume that you’ve already expressed your frustrations with technical leadership. In our experience, the tech teams generally welcome the review. They’re often frustrated by the same problems that trouble the business team – or different problems that the business team doesn’t even know about, but should. They are happy to share their concerns with us, and generally agree with our conclusions. After all, they want you to succeed too!

It’s important to get buy-in from product leadership as well, so we make sure they are also involved in the process. That said, we find that most of the time they are expressing the same concerns as business leaders and getting their buy-in is much easier.

All of that said, we highly recommend discussing your specific situation with us prior to getting too far into the conversation. It’s easier to secure buy-in if we know where everyone stands.

Why TechEmpower?

Choosing the right partner for a technical review is important. You need a team who’s well-versed in technology and capable of translating that know-how into pragmatic options. It’s also important that they have experience in technical evaluations and in building real-world systems. We can’t emphasize that last part enough! If you bring in a consultant who spends all their time doing technical reviews and hasn’t built a system since the dot-com boom, you’re probably wasting your time.

At TechEmpower, we’ve done over 50 technical reviews for budding startups, scaling enterprises, discerning investors, and ambitious companies seeking investment or acquisition.  Our professionals bring expertise, neutrality, and depth to the process, and we approach each review with a unique blend of technological prowess and leadership acumen.

Bottom line, if you’re a CEO or founder, ask yourself these questions: Am I getting my money’s worth from my development team?  Do I really know what’s going on under the hood?  If the answer isn’t an unqualified yes, then email us to discuss a technical review.

Technical Advisors: Every Startup Needs One

August 14, 2023

Alan Laser

No good innovator turns down advice!

Startup founders make decisions on a daily basis – significant decisions that will have lasting impact on their business. Why do this without the right technical advisor? Would you create contracts without an attorney? Just like attorneys, technical advisors can help navigate waters that many find murky. A technical advisor can:

  • Help specify what to build versus what to buy
  • Help structure third-party development contracts, or lead an in-house team
  • Plan for what happens after the initial MVP
  • Review code as it’s being built
  • Clearly explain technical issues to non-technical business people

Just FYI, this is exactly what we do with our Fractional CTO offerings!

And Maybe You Need Two!

Actually, many startups need two kinds of technical advisors.

The Strategic Technical Advisor looks at the business and determines what makes sense from a technology perspective in the short-term and longer-terms.

The Tactical Technical Advisor stays on top of the development team to ensure that they’re team is building the right thing in a high-quality, efficient manner.

There are some technical advisors who can do both strategic and tactical, but more commonly these roles need to be filled by different people. Let’s look at each of these roles in greater detail:

Strategy – The View From 1,000 Feet Up

A good Strategic Advisor can help with every aspect of making broad choices about what will get developed, how it will be built, and ensuring that your business can deliver the right stuff at the right time.

Specifically, they should know about, and help with:

Tactics – Keeping your Feet on the Ground

A good Tactical Advisor helps make sure that you’re really in control of your development team.  They look at the code produced on a regular basis to ensure that it’s high quality and right for you.

Specifically, they pay attention to:

  • Is our code scalable and extensible?
  • Are we using modern and secure third-party libraries?
  • Do you have access to and ownership of the source code? This is especially important with outsourced development teams.
  • Are developers following best practices in their code and life cycle?

If you don’t have this kind of person and you are not personally looking at the code, then you don’t really have control.

CTO Founder – Do they really still need a technical advisor?

Few people are good at both a strategic and tactical level. It’s rare to find a person who can think strategically and still crank out code. Early-on then, it’s important to bring on people who can produce volume. Strategy can be had on a part-time basis. We’ve talked about this before in Startup CTO or Developer. Is this person a CTO or a developer? Likely they will have gaps in one or the other discipline. Get an advisor to help supplement where there are gaps.

Keep your project out of purgatory

One unfortunate scenario we often see is “Project Purgatory.”  This happens when a founder raises money in an initial round, spends most of it on in-house or outsourced development, and ends up with a product that is 90% done. Then, a month later, the product is still 90% done. And six weeks later – 90% again!

As noted in Symptoms of a Weak Development Team, this is a symptom of the old software engineering adage:

The first 90% of a project takes 90% of the time. The last 10% takes the other 90%.

After the initial money has mostly been spent, it can be very tough to recover. Having a strategic and tactical advisor can greatly reduce the chance you’ll get stuck.

Conclusion

Bottom line – if you are an early-stage startup with online or mobile technology as part of your solution, you ABSOLUTELY NEED a technical advisor.

If you know of more resources on this topic, or want to talk about anything startup or tech related, we’d love to hear from you. Please write us at blog@techempower.com !

Startup CTO or Developer

August 7, 2023

Mike Smith

What does it mean to be a CTO for a startup? What does the role demand? Should a startup CTO spend their time programming? Exploring new technologies? Increasing competitive advantage?

The answer is: it depends.

The role of a CTO varies as the company matures. Here’s a graphic from Socal CTO that illustrates the roles as they change over time:

startup roles over time

In its earliest days, a startup’s top need is often to produce a product. Getting something to market and getting funding override any other concerns. That’s why the CTO’s attention is on programming for the earliest stage.  

But be careful, and mind the gap – the Founder-Developer Gap, that is! Hiring a hands-on lead developer might seem like the right move for an early stage startup. It’s understandable – a hands-on developer can produce a product. But hiring a lead developer, or even a VP of Engineering, can create a gap between the founders and the developers.  

Founder-Developer Gap

How big is your startup’s Founder-Developer Gap? Is it a tiny crack, or a widening chasm? And how can you tell?

One sign of a gap is questions – really, a lack of questions – coming from your developers. Check out our blog post 53 Questions Developers Should Ask Innovators. If you’re not hearing those questions from your developers, you’ve got the gap.

Often, developers don’t think to answer these questions. Instead, given a startup project, they’ll default to building everything in-house, using technologies that they’re already familiar with. This is a safe choice, of course – but is it the best choice? Is it the best path to profitability?

It might be. But you shouldn’t rely on the defaults. A CTO can help you find the right answers.

Closing the Gap: Hiring A Fractional Startup CTO

We’re not suggesting that early-stage startups should hire a full-time CTO. Instead, they should consider a Fractional CTO who can help close the gap. This is especially true when a founder has a strong vision but limited knowledge of the technology needed to make it a reality.

Bottom line – if you recognize this gap, then reach out to get a slice of a CTO who can help bridge the gap.

Can the Right Lead Developer Address This?

Theoretically, an outstanding lead developer can provide good answers to all these questions.  But our experience suggests it doesn’t usually work out that way. And even if you prompt a good lead developer to answer, you’ll likely still have a gap. This is because the lead developer will often be:

  • Limited by their experience and breadth of knowledge
  • More interested in diving in to build things
  • Challenged to pull together a good team
  • Motivated by the short-term because that’s the focus of development
  • Tired at the end of a long day of programming and not interested in thinking longer term
  • Uninterested in or unable to add much value to investor presentations, business proposals, and new business meetings

Again, it can be done. It’s just not a realistic expectation. You don’t want to be in the meeting when the investor asks why you didn’t use their favorite new technology – at least, not without a good answer! And you certainly don’t want to be the company that spends time and money building something you could have picked up off the shelf.

More on the Role of the Startup CTO

Eric Ries, a great resource, answers the question What Does a Startup CTO actually do?

  • Platform selection and technical design
  • Seeing the big picture (in graphic detail)
  • Provide options
  • Find the 80/20
  • Grow technical leaders
  • Own the development methodology

 

And here are some links that are less Startup CTO, and CTO more generally:

 

If you know of more resources on this topic, we’d love to hear from you. Please write us at blog@techempower.com !

Startup Metrics

July 31, 2023

Alan Laser

When talking to startup founders or other innovators, we always ask questions to better understand their business as a core. What does the business do? How does it meet customers’ needs? And most importantly, how does it make money?  One way to approach that last question is to use this simple model:

  • Customer Acquisition Cost  (CAC)

How will your business reach prospects? How will you convert them? And how much will it cost to win them?

  • Customer Lifetime Value (CLV)

How much money will your business generate from each converted customer?

These two questions/answers can help define the early proof points for your company. If you can demonstrate that your CAC and CLV numbers work as expected, then you’ve proven you can make money.  

Proving your Business Model Works – Build, Define, and Review

But how do you prove your numbers?  

Start by building just enough of your product to get early CAC and CLV signals (they won’t be perfect). Don’t worry about scaling just yet. If your numbers work out, then scaling becomes a question of capital. 

Next, define what you need from a metrics and reporting standpoint. Look at different customer acquisition channels, how they are converting, and the expected lifetime value of customers acquired through those channels. Apply costs to each channel. We need to make sure we have these numbers. Quite often the goal is to get them into a spreadsheet in a form that allows people to easily play with them.

Finally, review the numbers with your partners. Don’t overcomplicate things with reporting tools.  Just get your numbers into a Google sheet so you can work with them easily.

Startup Metrics with Dave McClure

Dave McClure has a great presentation on Startup Metrics where he points to some additional metrics that are useful to consider:

  • A: Acquisition – Where / what channels do users come from?
  • A: Activation – What % have a “happy” initial experience?
  • R: Retention – Do they come back & re-visit over time?
  • R: Referral – Do they like it enough to tell their friends?
  • R: Revenue – Can you monetize any of this behavior?

The metrics, and how they relate, are captured in his slide:
Startup Metrics
Note the relationship between retention/referral efforts and lifetime value. This isn’t a simple, first-cut acquisition pipeline! Dave’s model provides a much richer understanding of what’s happening, but in a way that’s understandable and measurable.

Another thing that Dave has done well is to look at the value of different marketing channels:
Example Marketing Channels
There’s a lot of value in this presentation. Some key slides to check out:

The Startup Metrics Religion

  • The Progress is not equal to features (Less is More)
  • Focus on User Experience
  • Measure Conversion; Compare 2+ Options
  • Fast, Frequent Iteration + Feedback Loop
  • Keep it Simple and Actionable

What’s my business model?

  • Get Users (= Acquisition, Referral)
  • Drive Usage (= Activation, Retention)
  • Make Money (= Monetize)

Startup Challenges

  • Management: Setting priorities, defining key metrics, reporting progress
  • Product: Build the right features, getting product out quickly, testing for conversion/adoption
  • Marketing: Accessing “web 2.0” channels (search, social, viral, new media), cost-efficient distribution

We often reference Dave’s work when talking to innovators. Be sure to check out the entire presentation.

Conclusion

Startup metrics are an invaluable tool for founders and innovators. Focus on building an MVP to gather startup metrics. Then use what you’ve learned in this blog post to decide if the numbers validate your business model, or if you need to rethink your approach.

If you know of more resources on this topic, or want to talk about anything startup or tech related, we’d love to hear from you. Please write us at blog@techempower.com !