What does it mean to be “technical”?

By Matt Boys

One comment you’ll hear over and over as an MBA trying to break into technology is the need to be “technical”. But what does being ‘technical’ actually mean? The answer is that you don’t need to know how to code, you don’t need to take another degree in CS, but there are certain things that will help immensely.

HAVING AN UNDERSTANDING OF THE TOOLS, SYSTEMS, AND ARCHITECTURE USED TO BUILD SOFTWARE
This one is important. Knowing the basics, such as how the internet works, what typical software architecture looks like, and the function performed by an API are table stakes. Understand the roles played by HTML, JavaScript, CSS, MYSQL, and PHP in the typical website. If you are targeting specific companies, research what backend languages they use (e.g. PHP) and what methods of software development (e.g. Agile). For example, if you’re interested in Spotify, look into the tradeoffs from running a peer-to-peer network if you’re interested in Facebook, consider the benefits of C++ over PHP. You don’t need to have deep working knowledge – just having a basic knowledge and informed opinion on these matters can be valuable in an interview, and moreover will help you with the next section…

BEING ABLE TO COMMUNICATE WITH ENGINEERS
If you are targeting a PM role, you will need to be able to motivate engineers to work with you on projects without having formal authority over them. Other roles will have varying degrees of cross-team interaction, but it’s unlikely that you will be totally isolated from engineering, as they are the lifeblood of the company.
Being able to communicate with engineers means being able to convey concrete meaning in terms of product (whether this is part of a formal spec or some more informal process), being able to converse on tradeoffs and blockers (e.g. technical dependencies), and having some knowledge of what it will take to create a given feature.
Having the base knowledge outlined above is an important element in this process to enhance your credibility. Another element is to leverage lessons from the MBA curriculum in negotiation and motivation, which can be very useful in communicating and managing, particularly cross-functionally.

BEING ABLE TO TRACK AND MEASURE
Analytics – broadly covering the tracking, measuring and analyzing user behaviour – is an important part of the software company jigsaw puzzle. As an MBA, you should be able to make this your bread and butter. Simple cohort analysis, time series regression, and other statistical models can be used to great effect in “closing the feedback loop” on new features, marketing campaigns, and external changes. If your company uses MS SQL Server (which is unlikely, as it’s a paid product in a sea of open source competitors), check out the Excel Data Mining Add Ins – these provide a simple Excel interface to some quite powerful data mining algorithms that leverage the power of the database engine.
A key part of analytics is communicating your findings to others, which involves visual and auditory communication. This is where MBAs with backgrounds such as consulting can really shine, as they have experience in persuading audiences that their interpretation of certain complex analysis is correct. For those wishing to brush up on visual presentation, look to the work of Edward Tufte, a noted authority on the visual presentation of statistical data.

DON’T “LEARN TO CODE”, LEARN SQL
“Learn to code” is a popular mantra trotted out as sage advice for MBAs wanting to work in software companies, particularly startups. It is, however, poor advice lazily given. What people generally mean by this is to gain an understanding of the different languages, systems and architecture as I described above. While gaining this knowledge might entail writing some HTML and PHP (it should certainly involve reading tutorials on those subjects), it doesn’t mean that you have to know the same amount as an engineer. A good engineer will have a high level of technical knowledge on abstract topics such as data structures and algorithms, a working knowledge of computer networks, as well as a high level of domain-specific knowledge (e.g. backend web development or machine learning). Taking a course on codecademy.com will not bring you to this level, although it is very useful for the ‘gaining understanding’ piece.
One area in which you can excel is in querying databases. Structured Query Language (SQL) is a simple language used to get data into and out of relational databases. SQL is a domain-specific  language, meaning it is only applicable to relational databases: you can’t for example use SQL to build a website. For this reason, SQL is an afterthought for a lot of engineers: they mainly write in an object-oriented language such as Python, only using SQL when they interact with a database. Some engineers may never write SQL – Rails, the popular web development framework, provides a query interface that translates Rails-specific commands into SQL, meaning that engineers never write the raw SQL code.
This is a great opportunity for MBAs to add value in an enterprise. Given the emphasis on tracking and measuring, being able to extract your own data from one or more of the company’s databases will make you self-sufficient: freeing up any engineering resource you would have needed to use, and enabling you to be inquisitive – follow hunches, cluster users, and test hypotheses of your own. With a few months’ practice, you can become as strong in SQL as most engineers in your company.
I believe that there is a great deal that a smart, motivated, analytical MBA can offer a tech company of any size. While there is still lingering ill-sentiment against MBAs, I think that the tide is beginning to turn, as shown by Ben Horrowitz’s blog post on the subject last summer[1]. The important part is to be humble and display a willingness to learn – qualities that will go far in many jobs post-MBA, not just technology.

Comments

Popular posts from this blog

Quiz Time 129

TCS IT Wiz 2013 Bhubaneswar Prelims

The 5 hour start-up: BrownBagBrain