I've had to train a good number of developers in my time. The ones that succeeded had rock-solid, persistent motivations. Is that you?
"I want to learn how to code, but have no idea where to begin."
I've been getting this question pretty frequently lately, and thought it was a good time to put together a thread to cover all the basics.
And here it is!
I've had to train a good number of developers in my time. The ones that succeeded had rock-solid, persistent motivations. Is that you?
* Enabling a career change
* Insatiable curiosity, eagerness to learn
* Frustration with inefficiency + desire to improve things
* Larger goals in mind, coding being a stepping stone
* It seems popular
* Your friends/family have ideas for apps
* You want to make lots of money by sitting in front of a computer
* You bought an expensive MacBook and are struggling to justify the expense
For those, trade forex.
Depending on what you do, you may have to learn several languages at once. Tools constantly update. New approaches land in the market on an annual basis. You're constantly upskilling.
The first "real" thing I made was in 2006 - my own CMS, having become frustrated with the limitations of an existing one.
15 years later, that same motivation carries me every single day.
* Variables
* Control structures
* Error handling
* Functions, maybe Objects
No one language is "better". Disregard claims to the contrary.
Learning how to structure programs as they grow more and more complex is more challenging, but is much more transferable to other languages.
I call this out because I've seen it so many times.
* Working with data, automating a tedious process: Python
* The above but in Excel: VBA
* Building webpages: HTML and CSS
* Webpages that can store data: PHP
* Webpages that are interactive: Javascript
They have a solid platform for picking up languages, grouped by career paths, and you can get through most of it fairly quickly. But this is only the start of the journey.
Maybe it's a manual report you're doing in Excel, or creating a single page that can submit something to an API, or building a simple dashboard.
StackOverflow, https://t.co/n0p1Uciwxg, https://t.co/MMW3zGZTwj or any other forum, find a place to network with others who are also starting out.
Learning from each other is gold.
* A better way to re-do it
* A tool or library you didn't know about before
* An unexpected issue that hindered you
That's the next thing. Keep going.
That's all programming really is. It looks big and complex on the outside, but it's actually just thousands of tiny solutions stuck together.
I can guarantee you that every single one of those people started in the same place you are.
* Use a decent text editor. Microsoft Visual Studio Code is light, fast, free, and pretty good!
* HTML and CSS are good markup languages to learn, even if you don't end up using them all the time.
* https://t.co/F3HeR7lqe6 can publish basic websites from https://t.co/KMuOQgZwaK free of charge, in a very easy-to-use interface.
* I like https://t.co/zzDE3BzOUM for taking it further, with lots of free components
* You may need your own domain name. https://t.co/WwJE93om85 is easily my favourite for price, ease of use, and reliability.
- https://t.co/NCrgrasz9n
- https://t.co/Dj3UWsEuwh
- https://t.co/ZrXU1Jm0dl
- https://t.co/rBp7waDpaN
* Free web fonts: https://t.co/HNr9WgT1dK
* Android apps are built with https://t.co/USk2B6OAzh
* iOS apps are built with https://t.co/yCZitv6Hgl
* https://t.co/fw2XnJkHbT lets you build for both
* Simplest start you can make: https://t.co/mPLnmBfFeu
* Build cross-platform using HTML, CSS and Javascript with https://t.co/gubXTnaHWx (there are many alternatives)
* For Windows desktop apps, definitely get Visual Studio Community (latest edition)
* iOS desktop apps, that's also Xcode.
If you can build, deploy, and run a service you want people to pay you for (in SA) I recommend https://t.co/PhZdGw6WyC
More from Coding
You May Also Like
Like company moats, your personal moat should be a competitive advantage that is not only durable—it should also compound over time.
Characteristics of a personal moat below:
I'm increasingly interested in the idea of "personal moats" in the context of careers.
— Erik Torenberg (@eriktorenberg) November 22, 2018
Moats should be:
- Hard to learn and hard to do (but perhaps easier for you)
- Skills that are rare and valuable
- Legible
- Compounding over time
- Unique to your own talents & interests https://t.co/bB3k1YcH5b
2/ Like a company moat, you want to build career capital while you sleep.
As Andrew Chen noted:
People talk about \u201cpassive income\u201d a lot but not about \u201cpassive social capital\u201d or \u201cpassive networking\u201d or \u201cpassive knowledge gaining\u201d but that\u2019s what you can architect if you have a thing and it grows over time without intensive constant effort to sustain it
— Andrew Chen (@andrewchen) November 22, 2018
3/ You don’t want to build a competitive advantage that is fleeting or that will get commoditized
Things that might get commoditized over time (some longer than
Things that look like moats but likely aren\u2019t or may fade:
— Erik Torenberg (@eriktorenberg) November 22, 2018
- Proprietary networks
- Being something other than one of the best at any tournament style-game
- Many "awards"
- Twitter followers or general reach without "respect"
- Anything that depends on information asymmetry https://t.co/abjxesVIh9
4/ Before the arrival of recorded music, what used to be scarce was the actual music itself — required an in-person artist.
After recorded music, the music itself became abundant and what became scarce was curation, distribution, and self space.
5/ Similarly, in careers, what used to be (more) scarce were things like ideas, money, and exclusive relationships.
In the internet economy, what has become scarce are things like specific knowledge, rare & valuable skills, and great reputations.