Hacker News new | past | comments | ask | show | jobs | submit login
How to quickly but effectively become technically conversant
6 points by avni000 on Dec 20, 2014 | hide | past | web | favorite | 17 comments
For a non-technical entrepreneur wanting to up her technical capabilities what would you recommend?

Not looking to be a programmer, but ideally learn enough to better lead and work with engineers and/or build a crappy prototype.

I'm still learning so take my advice with a grain of salt. That being said, first we ought to applaud you for taking the interest in understanding what goes on behind the scenes and better communicate with the engineers.

If I may, there are three courses you could look into. I've only taken the last one, which is fantastic for people that don't have a CS background. You'll learn about data structures.

The other two I just came across them today.

Now, the intent of this is only to give you a general idea of the amount of information these people deal with. If you happen to be a P.M. and deal with clients, this will help you avoid making promises for x feature to be ready x day due to lacking an understanding of what must be done to get it working. And so forth... Once again, I'm just starting, so take my advice with a grain of salt.

https://class.stanford.edu/courses/Engineering/CS101/Summer2... https://www.coursera.org/learn/insidetheinternet https://www.coursera.org/course/pythonlearn

Thanks for sharing these courses - I'll check them out. My hopes are to be a more effective marketer/product designer by understanding what it takes to bring it to life, as you mention.

Oh god, really. It's not that hard. If you're into it and enjoy learning about it, then your head just fills up. It's like moving to a new town and getting used to the place.

I agree with that - I've blown through a number of codeacademy and code school courses just because I've found it so interesting. But now I feel like I have this floating knowledge of some coding without a foundation of context to set it on. So would love to get recommendations of where to start with the real basics (like data structure etc).

Can you be a little more specific about what you're ultimately hoping to build, or learn? I'd generally agree with the commenter who suggested you pick a simple problem and then try to solve it. That's the only way to understand where these bits and pieces you've learned fit into the broader picture. I'm getting the sense that that's what you're after here, at least initially -- a general understanding/overview of how this stuff all comes together in the real world? Is that right, or no?

Ultimately, I would love if I could build a very basic prototype (of a web app) so that I can scrappily build a product to test. I recognize that that is not an easy task and would take a significant investment to get to proficiency, let alone mastery. But as someone that is analytical but not "technical", it can be exceedingly frustrating to have an idea that you want to implement and create but you don't have the know-how to do so. So I'm trying to find a way to teach myself to fish without becoming a master fisherman. And in the process I also hope that I can become a more effective entrepreneur because I will be able to communicate not only intent and design to the engineers, but appreciate the feasibility and development path.

It's hard to offer more specific direction without having at least a vague idea of what type of web app you're trying to build. If you're looking for a "read X book" or "do Y tutorial" type of answer, there simply isn't one, not for what you're trying to achieve. The answer is, learn as much as you need to in order to start building stuff, even if you don't know what the hell you're doing at first. When you get stuck, search around on StackOverflow and elsewhere; if that doesn't work, seek out help from your local Python/Ruby/whatever Meetup and try to find other people willing to teach (you seem genuinely curious and respectful so that should make things a little easier). Just remember that you're a smart person, so when (not if) you're made to feel like an idiot for not knowing some silly basic thing, don't back down. Keep searching, keep building, keep asking questions until you get there.

I'm far from an expert but I've been through this. I was in a very similar position to you less than a year ago and have since then gone from absolute zero technical knowledge to becoming a shitty-but-enthusiastic self-taught hacker. I'm happy to chat more specifically if you want to message me directly (first name: Linda; last name: last 4 letters in my HN username; email: firstlast@gmail).

Thank you for the thoughtful response - that's in fact the type of direction I was looking for - even just learning of StackOverflow has been helpful... and I may take you up on the offer to connect further.

It is quite unfortunate that I know how daunting it can be to venture into this world.

If you already have some experience (as you mentioned in another comment) in whatever language it is, stick to that language. Find a good introductory book / tutorial that explains data structures. Whichever introductory book you find (I'm biased towards books - but each person learns a different way, whatever works for you, go with that) will teach you enough to UNDERSTAND what you are coding.

You'll learn how each line relates to the other. You'll learn how to manipulate that which you are building. How one thing relates to the other within the constraints of certain laws which were created to be able to communicate with the machine.

As you progress, you'll see how other people have already done certain things so that they won't need to repeat themselves later on. These functions, whenever available, can be used by anyone.

When you learn data structures, you can grab these functions to ease your own coding. But to be able to use them, you'll need to know how to manipulate the instructions that are contained within them.

I digress. As I mentioned earlier, I'm new at this. If I'm wrong I am wrong. If I explained stuff you already know, oh well. But it does help myself get a firmer grasp of what I may or may not know.

There is only one way to learn: have a problem then solve it. It has to be a real one, too.

So go and find (small) problem, work out how to solve it and implement it. Then if you really want to learn: promote and sell the damn thing.

Thanks for this practical advice - I guess what you're saying is it doesn't matter if it's JS or Ruby or whatever, just play around until you figure it out. Will give that a shot.

Sorry there are no shortcuts. Study as hard as you can and spend as many hours you can practicing programming. Then in a few years you'll be able to productively work with other developers.

Thanks for sharing your perspective - helpful.

I would say just learn basic data structures, and understand client/server model. Learning about these two will help you have conversation about how your product strategy goals go along with engineering design. You probably shouldn't need to talk with your engineers in deeper details but at design level.

Hope this helps.

This does help - thank you. Part of the challenge is understanding exactly what it is you're seeking to learn. This helps me narrow down what I should be trying to understand as I build my expertise.

Spend a lot of time reading technical material, and be active on Twitter and other places were engineers hang out. Watching videos also helps. There's a lot of JS/Rails/Python stuff on YouTube etc...

Oh I hadn't thought about going to YouTube for videos - I'll certainly check that out. Thanks for your tips - definitely helpful!

Registration is open for Startup School 2019. Classes start July 22nd.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact