Learning to Code
Here are some resources if you'd like to learn to write code, and are starting at the very beginning.
I think there are actually two things people are talking about when they describe "learning to code" -- one is actually programming, and the other is learning how systems (like an operating system, a web server, or a mobile app) work. If you work in technology, but not as a software engineer, the latter is probably more useful. However, I'd recommend putting in the effort to learn a little bit about programming because it teaches you how to think about software. This is helpful no matter what your position.
If you have never programmed before and are not even really sure what it is, I'd suggest learning Python. Python is one of the best languages to start with, and in the beginning it's about learning what programming is and how to do it instead of trying to complete a full project. Later on, if you want to build a mobile app or a website, you can find resources targeted specifically towards that.
Programming in general
First, learn a little bit about the terminology, and how a programming language fits in with making an application:
- Vin Vicanti's guide describes the parts of an application. This is useful for an overview; don't worry about deeply understanding or doing everything he describes.
- Another good guide detailing how a person learned Python and Django in 8 weeks. Again, don't worry about doing everything on this page yet. It's motivation! It also suggests things you can do when you get tired of Learn Python the Hard Way.
Development on a mac
- How to use the Terminal on your mac. You'll probably need to use this to install libraries or run your code. Just use the default Terminal app. The book in the next section also has a guide about how to do this (Appendix A).
If you can learn by yourself
- Learn Python the Hard Way. Ignore the name -- a great way to start learning Python. Start from the beginning, and do everything the author says. This book will not only describe the important parts of how to use a programming language, but also will show you how to set up your code so you can create working applications. Warning: this will probably be hard. Don't get discouraged! If you can't figure something out or Python is giving you a weird error, try to find a friend to help. Meetups about learning Python can be good for this.
If you need a class
- General Assembly. If you have a lot of trouble learning on your own and would prefer an in-person class, consider General Assembly. There are lots of classes, workshops, and get-togethers. A great way to learn about web development, user experience, or product management.
Learning with women
PyLadies Boston Meetup. A friendly environment to learn Python if you're a woman. Go here while you're working your way through the Python book! They even have sessions to help you get your computer set up to run Python. Check for one in your city.
Ladies learning code. A Canadian group that runs events.
Girl Develop It. Another in-person meetup.
You can build a website in Python, but even if you want to build something else you'll soon realize that the concepts are pretty much the same in any language (for example, Ruby for web development, Java for Android, and Swift and Objective-C for iOS).
Git and Github. Many people store and share their code on Github, and use a program called "git" to manage it.
MIT's 6.00. Introduction to Computer Science and Programming -- it says it's for beginners, but if you really don't know anything about programming it might be a harsh introduction. Take it VERY slow and don't get discouraged!
Codecademy. A good online resource for many different languages.
Hacker School. If you realize you love programming and want a great environment to polish your craft, consider Hacker School. It's three months in New York, and there are even some need-based grants available to help support your living costs.