Jump to content


Please note: You can easily log in to MPN using your Facebook account!

OT: Learning to code - any advice?


delmar

Recommended Posts

I've been playing around with learning to code as I try to envision a next level career. Every article I read send me to google to learn what a new acronym means.

For anyone with experience coding, is there an effective way to learn the basics?

Is there a website or a book you'd recommend?

How many of these acronyms do you know, for instance? https://en.wikipedia.org/wiki/List_of_computing_and_IT_abbreviations

 

Link to comment
Share on other sites



  • Replies 63
  • Created
  • Last Reply

Code what? What code? To what end? Maybe answering some of those questions might help narrow down an answer in a massive field of opportunities (and acronyms!).

 

And what do you envision as a next level career? If the answer is 'software engineer' your next step is college for a formal degree.

 

If you're looking to enhance some aspect of your current career you can either self-teach if you have the discipline or try a starter course at a community college.

 

Have any more details for us?

Roland Fantom 06; Yamaha P-125; QSC K10; Cubase 13 Pro; Windows 10

Link to comment
Share on other sites

I also would recommend classes. I am self-taught (started as a web developer and moved now into databases) but in retrospect I think I could have made more progress with some formal training.

 

I've been trying to learn java, and programming to me has changed quite a bit from when I learned php/cold fusion web programming. The "frameworks" involved make it harder to get started IMO. They are great things for creating applications, but gone are the days where you just start typing in a text editor to code. I mean, you *can* do that, but that's not how apps are built now. (by "frameworks" I mean that the code you write fits into a structure of how to build an application. There are pre-built pieces and libraries of code that have to be there before you start on anything).

 

The other change for me is the prevalence of object-oriented programming. Some people take to it quickly, perhaps as a new programmer it will click, vs some old-school guys who have to unlearn everything!

 

The basics of any programming is logic. A course on logic, no coding involved, is recommended. I found that knowing signal flow from recording engineering directly translated to my IT career. It's all about troubleshooting in both professions, and being able to track the flow of (signal/code) to be able to find issues!

Link to comment
Share on other sites

Per the previous responses, it really depends on what you want to do. For instance, writing apps is different than desktop applications, which is different than web sites, which may or may not be different that databases. Instead of googling acronyms you need to decide what you actually want to do.

Dan

 

Acoustic/Electric stringed instruments ranging from 4 to 230 strings, hammered, picked, fingered, slapped, and plucked. Analog and Digital Electronic instruments, reeds, and throat/mouth.

Link to comment
Share on other sites

I could write a book on it, having just retired from a 25+ year career.

 

These days, a career can range from maintaining a bank's 30 year old COBOL code to cutting edge team programming, where you seem to learn a new programming language and software framework for each project.

 

Ability to quickly assimilate lots and lots of information is a big plus. Ability to think like an engineer and anticipate what could go wrong, and to solve problems is key.

 

I think you should find a suitably small sandbox to play in and learn enough to play around and see how you like it. Maybe start by learning the development tools and APIs (acronym alert) for developing an iPhone or Android app.

Moe

---

 

Link to comment
Share on other sites

Start here then move your way up. Learn by doing.

https://www.codecademy.com/

 

I suggest starting with Python and the basic web stuff.

 

Have fun. There are so many free resources available for learning. You can also check out coursera and udemy, but start with codecademy.

 

NS3C, Hammond XK5, Yamaha S7X, Sequential Prophet 6, Yamaha YC73, Roland Jupiter X

Link to comment
Share on other sites

I'd start with HTML5 and CSS + JavaScript if web is your goal.

 

If you are wanting to code for hardware platforms just go right into C++

 

Yes, online code learning sites are a great resource.

 

Classes are great too if you really have no experience because you might need that extra plain speak explanation.

 

After getting your feet wet, yes culturally the paycheck comes with the degree, so you'll need school.

Yamaha CP88, Casio PX-560

Link to comment
Share on other sites

What you really need to start with is exploring your own logic process and see how that translates to coding. Classes teach you how to use language syntax, but most classes fail at teaching you how to think like a computer. Someone here might be able to link a good course or book on algorithms. Algorithms are independent of programming language and the first step in writing a good program. Your natural thought process should be the leading factor in choosing what type of programming or computer field in general you follow.

This post edited for speling.

My Sweetwater Gear Exchange Page

Link to comment
Share on other sites

For what? For a job that's interesting and has decent prospects for attainment and longevity, with a living wage. I don't want to train for a job that's going to be obsolete in five years, or, once I get it, is torture. It would be nice if the company I work for treated its employees and customers with respect. That's all.

I've been using codeacademy, and checked out some of Khan U's offerings. Read a book about 'the beauty of coding.' Even played around with scratch to literally take things to a third grade level.

Honestly, my primary motivator is just being tired of the manual labor of managing restaurants and working as a CNA2 in a neurology unit. I'm doing customer service right now. The career path there is CSR, CSR2, mentor, specialist, manager. I'm expected to help seniors who think Google is a browser learn to use my company's app. Yesterday I was told that my quality scores are the highest in my department, but I need to cut my call times in half (from 12 minutes to six) to get hired. Our apps and websites crash daily, as do our internal networks. In six minutes, I'm supposed to verify a caller's account information, troubleshoot their problem, get them to understand how to uninstall and reinstall our app, or update Chrome, or access an email account for a password reset that half of the customers don't remember the login for.

 

But I digress!

 

I have about 20K in savings. I can continue to play this 24K/yr game, or man up and challenge my brain with something more practical than prog rock and Rachmaninoff, and hopefully not end up a retiree living on $1200/mo social security.

 

I'm thinking of spending about $1200 to upgrade my 2007 Macbook Pro to a 2012/2013 i7 model.

 

The idea of being my own boss sounds great. Why not me? I last tested at a really high IQ, which with $3 will get me a cup of coffee, I know, but Jesus, there has to be something out there I'd excel at. (Excel, perhaps?) But seriously, I'd love to be tested to see what my brain's good at. I think a major source of dissatisfaction for many is doing a job that one neither enjoys all that much nor is the best fit for one's personality/mental aptitude. Is there a quiz out there to determine mental strengths?

To sum up, if I am unable to distinguish between one type of developer or another, that's because of my complete ignorance of what their jobs are like. I just know I like science, math, computers, not wearing my back out or watching everyone around me own a home and see other countries while my girlfriend and I count ourselves lucky to enjoy a night out once a month, living in someone else's basement apartment. At least I've got my girlfriend's support. She makes three times what I do and wants me to do something more with my life as much as I do.

Link to comment
Share on other sites

The first thing I would look into is going to a Community College or Liberal Arts College and visit the Career Counseling Department. They can offer you a Myers-Brigg Test which will tell you about your personality and what you would be good at. I would take it one step further and also ask to take the Strong's Personality Inventory to get a extensive listing of jobs you'd be good at based on your scores. Having a counselor go over the results with you will open your eyes to jobs you may have never even considered. I am finishing up a 4-year degree right now (in my last semester) in Organizational Communication. I had been teaching software application classes for the last 15 years and got laid off. I figured I'd have an easy road getting a Computer Science degree based on my experience. Then I discovered I really suck at math. So I changed my major based on those two tests. At 57 I'm still trying to figure out what I wanna be when I grow up. Good luck in your quest.

Hardware:
Yamaha
: MODX7 | Korg: Kronos 88, Wavestate | ASM: Hydrasynth Deluxe | Roland: Jupiter-Xm, Cloud Pro, TD-9K V-Drums | Alesis: StrikePad Pro|
Behringer: Crave, Poly D, XR-18, RX1602 | CPS: SpaceStation SSv2 | 
Controllers: ROLI RISE 49 | Arturia KeyLab Essentials 88, KeyLab 61, MiniLab | M-Audio KeyStation 88 & 49 | Akai EWI USB |
Novation LaunchPad Mini, |
Guitars & Such: Line 6 Variax, Helix LT, POD X3 Live, Martin Acoustic, DG Strat Copy, LP Sunburst Copy, Natural Tele Copy|
Squier Precision 5-String Bass | Mandolin | Banjo | Ukulele

Software:
Recording
: MacBook Pro | Mac Mini | Logic Pro X | Mainstage | Cubase Pro 12 | Ableton Live 11 | Monitors: M-Audio BX8 | Presonus Eris 3.5BT Monitors | Slate Digital VSX Headphones & ML-1 Mic | Behringer XR-18 & RX1602 Mixers | Beyerdynamics DT-770 & DT-240
Arturia: V-Collection 9 | Native Instruments: Komplete 1 Standard | Spectrasonics: Omnisphere 2, Keyscape, Trilian | Korg: Legacy Collection 4 | Roland: Cloud Pro | GForce: Most all of their plugins | u-he: Diva, Hive 2, Repro, Zebra Legacy | AAS: Most of their VSTs |
IK Multimedia: SampleTank 4 Max, Sonik Synth, MODO Drums & Bass | Cherry Audio: Most of their VSTs |

 

 

 

 

Link to comment
Share on other sites

That is all great, but understand that the computer programming field has been hit HARD by outsourcing to India. When people ask me for recommendations about jobs in the computer field I usually mention networking and hardware support. Or become specialized in something like Hospital Information System Administration where you manage EMR (electronic medical records) and manage billing.

This post edited for speling.

My Sweetwater Gear Exchange Page

Link to comment
Share on other sites

^^^

there is of course a bit of truth in the outsourcing issue, there is also the heavy desire in silicon valley to recruit internationally for talent. but all in all, compared to other segments of the economy, computer programming is still a better paying and more in demand path than many others you could choose from. just make sure you're building the right skill sets, focusing on the in demand languages, and open to the idea that you will constantly have to re-train as technology evolves. it's not an easy road.

Yamaha CP88, Casio PX-560

Link to comment
Share on other sites

Do it! Get a 4 yr degree in engineering or computer science. Start learning on your own. Make something (i.e., web application, mobile app, scientific tool, something). You will figure out the details along the way. It's like learning a musical instrument (actually a little easier). You can make 3x (likely more) $ the day you graduate and then much more over time. Be the best engineer/developer you can be and learn so solve problems using computers/code as a tool.

 

To get a big picture view regarding what you are seeking, start looking at job postings for software engineers, web developers, electrical engineers, embedded engineers, etc. When you read something in a posting you don't have a clue about, seek out more information about it. The outsourcing comments made here are total BS and do not apply to those that have deep skills and can actually solve problems. For those engineers, there are many job/career options. That is not changing anytime soon. Don't seek out just a certification, or light-weight software skill. Become a heavy hitter at engineering or software development. Your efforts will be rewarded. It will take a few years to get a solid foundation. Enjoy the journey!

NS3C, Hammond XK5, Yamaha S7X, Sequential Prophet 6, Yamaha YC73, Roland Jupiter X

Link to comment
Share on other sites

Learn to be lazy- code something only once. Keep a folder with UDFs.

 

Learn to stand up to people to stop Creature Feep.

 

Develop a thick skin and learn to lose the need for sleep.

 

Learn that people don't care the this proc will take 10 hours- they want it in 2

 

Learn that respect is earned, not bestowed.

 

Learn that there's someone that will do it from $500.00 less.

 

Ad nauseum.

 

..Joe

Setup: Korg Kronos 61, Roland XV-88, Korg Triton-Rack, Motif-Rack, Korg N1r, Alesis QSR, Roland M-GS64 Yamaha KX-88, KX76, Roland Super-JX, E-Mu Longboard 61, Kawai K1II, Kawai K4.
Link to comment
Share on other sites

There are different kinds of software jobs. If software is the actual product, developers are the rock stars. If the company sells insurance, developers are the unappreciated grunts.

 

Learn if you are a large company person vs a small company person.

 

Large companies are safer than small companies. They won't go out of business overnight. They will have better benefits. And they will be more boring. You will spend your time working on maintaining old code and adding new features. They will still lay off developers if some bean counter says to. Politics can be a factor.

 

Startup companies are exciting. Everybody has passion for the product and works extraordinarily long hours so that to company can survive. You will wear multiple hats. You will be pressed into facing potential customers and selling them on your product. Benefits will be sketchy at first. You will be coding a new product from scratch. You will have a proportionally larger impact with your contribution. If you get in on the ground floor, you may get some ownership.

 

Sometimes you will be with a small company that has success and grows to be a large company. Those developers who value freedom over stratification, or who grow tired of working on the same thing too long will start leaving.

 

I found I am a small company person. I was fortunate enough on my 3rd job to land in an area where the startup culture was strong, and the local university provided resources and help for startups. This meant I was able to raise my family in one place for 18 years.

 

On my 7th company, everything fell into place. I was able to jump into a new company just starting up. It was being started by the same management and technical team I had worked with before at another successful startup. This time the market potential was even stronger, and we were able to get into a brand new market that we invented and dominated. I got ownership because I joined so early (in lieu of some salary), we grew like a monster, went public, and I was able to retire.

Moe

---

 

Link to comment
Share on other sites

Lynda.com

 

Great site with a lots of online training across many different languages.

 

Also has the advantage of some music (and other ) training.

 

You can get a free trial, and if you do subscribe and later decided you aren't using it you can suspend your subscription until you do have time.

 

My company uses it as a resource as well.

Link to comment
Share on other sites

I'm going to the "grumpy old man" in this discussion. There has been a push by many in the industry to teach coding. Coding bootcamps, coding for girls, coding for boys, coding for dummies, etc. If people were still smoking a lot, you'd see Coding Schools on matchbook covers ...

 

I get it that there are a shortage of good software developers. But what I see when I try to hire is a sea of coders with little understanding of what their code is doing. They have no clues about algorithms, data structures, networking, databases, operating systems, etc.

 

I've hired some and they produced tons of unsupportable garbage. Their dev process is to code until something doesn't compile, google it, then cut and paste someone's solution into their code. The result is a vomitus mess.

 

I'm sure that there are areas where coders are appropriate. But in my world, real-time systems that need to run 24/7, you need to understand the system in order to support it or add new features.

 

Coding is an important part of any project. But coding without knowing how to design software is like playing piano without any knowledge of music theory. Yes, it can be done, but eventually, it goes terribly wrong.

 

My advice to the OP is to decide what role you'd like to eventually play. Software developer or coder? Good developers are always in demand. The value of coding skills comes and goes.

Casio PX-5S, Korg Kronos 61, Omnisphere 2, Ableton Live, LaunchKey 25, 2M cables
Link to comment
Share on other sites

That is all great, but understand that the computer programming field has been hit HARD by outsourcing to India......

 

This is a very important point. If your job is pure software coding, then your job is vulnerable to being outsourced overseas. But even if you forget that, many people who started out writing code eventually decide they want to do something other than coding, even if it leverages the experience they learned as a coder. Some examples are designing solutions (but not writing the code themselves), acting as an interface between the group that writes the code and the group that will use it, or becoming a services consultant who helps companies deploy the application in their environment.

 

You can make yourself more indispensable if you can find a job where an employee needs a combination of skills that not many have. I started as a programmer, doing this for 6 years back in 1980s - I enjoyed coding, and it felt natural to me. I understood that if you tell a computer to do something, it will follow those instructions 100% literally, no matter how illogical the outcome might seem to a human. To use an analogy: If you tell a computer "go jump in a lake", it will do so, even if you don't realize that you told it to do this. If this is a puzzle-solving game you would enjoy, then you might enjoy coding.

 

I moved to different positions over the years, some by choice and some by accident. At a certain point, I found a job role in computer software that required a lot a technical knowledge but also required pretty good communications skills. Many people who have the technical skills don't know how to talk to people, and I realized I was strong enough in both to make this a good path for me.

 

You do already have some useful related experience: you see what type of user errors and unexpected environment changes can cause software to not produce the desired results, and what steps a support group is likely to take to try to resolve user problems. A good coder will take this into account to make their program be more resistant to user and environment errors, and to make it easier to diagnose and resolve such problems.

Link to comment
Share on other sites

I've been playing around with learning to code as I try to envision a next level career.

I think programming is an excellent career path. It has served me well and will only become more important in the future.

 

Live : Kurzweil PC3K7; Roland A-88

Home : Kurzweil PC3K7; Kurzweil PC88mx; Roland MKS-80/MPG-80; Yamaha A4000; Alesis QSR; Kawai K1; Yamaha S03; Roland PK-5

Link to comment
Share on other sites

I learned to code way back in the 70s and 80s. Other people were better at it than I. I took the skill and built on it: marketing, strategy, etc. Not a bad thing to have in your portfolio. Besides, given the right circumstances, it can actually be fun.

Want to make your band better?  Check out "A Guide To Starting (Or Improving!) Your Own Local Band"

 

Link to comment
Share on other sites

Becoming a programmer and getting a job will allow you to purchase all the nice keyboards you want. Music will kill you a slow death unless you are really, really great or have some sort of magnetic personality. :-)

 

I'm not sure what type of language I would start with now, but if you have an iPad, Apple has a swift language playground that teaches the basics of programming in a fun way.

Korg Kronos, Roland RD-88, Korg Kross, JP8000, MS2000, Sequential Pro One, Micromoog, Yamaha VL1, author of unrealBook for iPad.

Link to comment
Share on other sites

Teaching programming is exactly what I do. I taught programming for more than 5 years in a small college in Brazil, and now I came to the UK to do study and focus on using code as a catalyst to teach high school mathematics.

 

Check "Coding Rainbow." It's a very good channel for beginners by a NYU lecturer called Daniel Shiffman. I have been following his work for a while and I really like the way he teaches.

Link to comment
Share on other sites

Wow, Murman has an interesting perspective. And I think he equates "coding" with "learning syntax", because if not, nothing he says makes sense.

 

You can learn the syntax and paradigm of a new language in about two weeks.

 

Doesn't mean you can code your way out of a wet paper bag, however. THAT requires actual knowledge. And insight, and all that other stuff that makes a good coder.

 

I'm still trying to figure out the right set of questions to interview coders. The good ones understand systems. The bad ones know all the buzzwords and syntax. Some even know a bunch of patterns. If you can't grasp how a system hangs together, you're no good to me.

 

Same as guys who can't grok abstractions. I have never figured that out. How can you work in this field if you can't pile one abstraction on top of another. It's basically the entire game.

 

Wes

Hammond: L111, M100, M3, BC, CV, Franken CV, A100, D152, C3, B3

Leslie: 710, 760, 51C, 147, 145, 122, 22H, 31H

Yamaha: CP4, DGX-620, DX7II-FD-E!, PF85, DX9

Roland: VR-09, RD-800

 

Link to comment
Share on other sites

How can you work in this field if you can't pile one abstraction on top of another. It's basically the entire game.

 

Wes

Nope. It is not the entire game. It is just the part of the game above the abstraction layer.

Whenever you find yourself on the side of the majority, it is time to pause and reflect.

-Mark Twain

 

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...