What exactly does a software engineer/software programmer do?

I am a solo non-technical founder for a software product and I want to take it to the next level. I have 1 programmer with me. What advice would you give to other non-technical founders before scaling their software product development?

  • Additional information: I have been reading a lot of startup blogs but most of them only contain information on general startup advice like product market fit, idea validation, growth hacking, building a team, culture fit, etc. What 90% of them don't cover is the technical side of running a software product. I just recently found out about unit testing to keep the software product from breaking down and I don't believe I'm the only non-tech founder who don't know about this. I believe hosting is also a key part before scaling your software product development.

  • Answer:

    As a non technical founder here are some things which might be of help. 1. Prefer working with a small software vendor unless you know the developer quite well. This helps in long run since you are not entirely dependent on any particular developer to deliver. You can always ask for replacement and the delivery is owned by an organization and not one individual. 2. For hosting prefer using platform as a service over standard hosting options. They take care of most of the scaling issues and also take out the extra over head of server operations. Quite a relief for someone who does not have the technical chops. 3. I have heard a lot many people giving the advice of learning to code. Although I do not think it works in most cases. For you to be really expert at anything you need to invest a lot of time doing it (as per Malcolm Gladwell it is 10000 hours). At best you will be able to deliver ordinary stuff initially. At any startup Time is of essence. So if the problem you are working on requires ordinary tech you are better off either outsourcing the tech or hiring some freelancer at oDesk initially. If its a technically tough problem you are trying to solve, get a co-founder who can compliment you. Having said that if you are starting a tech company it makes all the sense to get your hands dirty. You may or may not write code but having an understanding of how technology works would help you navigate the dynamics of a tech startup lot better. All the best.

Sandeep Singh at Quora Visit the source

Was this solution helpful to you?

Other answers

First, you should ask some questions: Should I really scale my software product development ? What makes you decide that ? Is it the right time to scale ? It can be a necessity from a business point of view, and scaling your software product development could be done easily but from a technical view the question you should ask yourself is:  How to manage that later (which is the difficult part).Here are some reflections - Scaling development involves: More people working on the same code: do you have any version control tool and the other collaboration tools (like wikis, messaging, calendars ..etc). Many Free and Open Source Software could be used here, you can also pay for PaaS solutions. More code to test: How your team test code (only unit testing?). What are the strategies for software quality assurance in your startup ? When scaling development teams and software, having a QA team would be a good idea. More code to build and deploy : Who will be responsible for this ? Developers ? Do you have system engineers ? They are more competent for frequent deployments. Whether you have a cloud infrastructure or you are migrating from on premises infrastructure to your cloud infrastructure. You will need both system engineering and DevOps skills to automate builds, deployments and monitoring while keeping your production stable. More bugs: More code means more bugs and bugs in production environments, no matter what infrastructure you're running, has a http://blog.celerity.com/the-true-cost-of-a-software-bug. You will need people working on the availability of your infrastructure and software (especially if you're developing a SaaS), you will need problem solvers. Developers could fix bugs on the development environment but you will need problems solvers on the production environments, better than this you should test before you deploy (this is a http://www.guru99.com/types-of-software-testing.html where you can choose what to test in function of your product). To avoid bugs you should have at least similar development, staging and production environments. http://systemsemantics.com/?p=155 Scaling development means a lots of other things : more applications, software components, may be APIs, databases and a real software factory .. To summarize, handling scalability and growth from a technical view is about: The right people with the right skills The right tools and technologies (infrastructure, collaboration tools, source control, packaging, deployments, automation, bug control ..etc) The right frameworks (lean, fail fast, ITIL), methodologies (scrum,xp) and philosophies (devops). I am actually writing a book (http://bitly.com/1ZJcry1) where I am talking about all of this and more from a conceptual, functional and technical point of view.

Aymen El Amri

Go find meetups in the technology field on which your startup relies and either buy people drinks or sponsor the beer/pizza. You will find it easy to get to know people and the outlay will be a few hundred dollars. Remember there are usually multiple sides to an issue and often more than one way to solve technical issues. Unit testing is useful but not a panacea. Agile software practices are useful but people were doing iterative development years before "Agile" was invented. Sometimes the people you talk to are too young to know things like this - it's possible to be a very good professional with a few years' experience and not know the technologies or practices that precede what you've learned. Be realistic about your financial models and the need to scale. You say you are non-technical but are you non-technical to the point of being unable to have a proper spreadsheet modelling your business growth? If so, get someone to help with that. It is very easy to fall in with talk of the need to scale but it has its dangers: Spending a lot of time designing things to be scalable slows you down getting to market and you may be scaling something that customers don't want. If you commit to paying for resources to support scaling, that's a cost structure that can sink you. Yes sometimes things look cheaper when booked up-front but be realistic about the liability. What are the people costs of scaling? Are you going to be able to handle having 100 users, 1,000, 1 million users? How many of them need some kind of response on Twitter or Facebook or (yikes!) direct support? How are you going to cover those costs?

Andy Dent

You need to hire someone who understands you market and who understands software development. A product manager with a background in software development would be ideal. Be prepared to pay a lot in either or both cash and stock to get this person. This is likely to be your most strategic hire, so do not be penny wise and pound foolish.

Bernd Harzog

Find solution

For every problem there is a solution! Proved by Solucija.

  • Got an issue and looking for advice?

  • Ask Solucija to search every corner of the Web for help.

  • Get workable solutions and helpful tips in a moment.

Just ask Solucija about an issue you face and immediately get a list of ready solutions, answers and tips from other Internet users. We always provide the most suitable and complete answer to your question at the top, along with a few good alternatives below.