• You are currently viewing our forum as a guest, which gives you limited access to view most discussions and access our other features. By joining our free community, you will have access to additional post topics, communicate privately with other members (PM), view blogs, respond to polls, upload content, and access many other special features. Registration is fast, simple and absolutely free, so please join our community today! Just click here to register. You should turn your Ad Blocker off for this site or certain features may not work properly. If you have any problems with the registration process or your account login, please contact us by clicking here.

Code Rant: Learn To Code, It's Harder Than You Think

Olm the Water King

across the universe
Joined
Aug 12, 2014
Messages
1,455
MBTI Type
INFP
Enneagram
459
Instinctual Variant
sx/so
Code rant: Learn To Code, It’s Harder Than You Think

Learn To Code, It's Harder Than You Think

TL;DR: All the evidence shows that programming requires a high level of aptitude that only a small percentage of the population possess. The current fad for short learn-to-code courses is selling people a lie and will do nothing to help the skills shortage for professional programmers.

This post is written from a UK perspective. I recognise that things may be very different elsewhere, especially concerning the social standing of software developers.

...
 

Bush

cute lil war dog
Joined
Nov 18, 2008
Messages
5,182
Enneagram
3w4
Instinctual Variant
sp/so
Cool self-serving tl;dr there. I present him with the slowest clap in the world. Congrats, guy.

Dude says that short courses aren't enough to make someone a programmer. Well.. right. Who's saying that they are? Everyone realizes that one paint night at a local bar doesn't make you a van Gough, even if the bars tout them as "learn to paint!" sessions.

Besides, the data he presents shows that most professional programmers are largely self-taught. If one can learn the whole shebang at a professional level without any guidance whatsoever, then it can't be too too difficult, at least compared to other fields.

And if it's largely self-taught, how can it be said that resources are being reallocated from the really real professional programmers to the mass dumb stupid sheeple or whatever? The only resource that's being ripped away from the professionals' hands, then, is the infinitesimally small amount of network bandwidth that these stupid sheeple Dunning-Kruger mass peons consume when they visit all of the tutorial websites out there. That bandwidth belongs to the real programmers, dammit!

I say this as a self-taught programmer. I've dabbled in code for almost two decades, and my entry-level jobs were.. drumroll.. programming. Part of the whole thing was having developed a portfolio of sorts on my own rather than from having credentials.
 

Olm the Water King

across the universe
Joined
Aug 12, 2014
Messages
1,455
MBTI Type
INFP
Enneagram
459
Instinctual Variant
sx/so
Cool self-serving tl;dr there. I present him with the slowest clap in the world. Congrats, guy.

Dude says that short courses aren't enough to make someone a programmer. Well.. right. Who's saying that they are? Everyone realizes that one paint night at a local bar doesn't make you a van Gough, even if the bars tout them as "learn to paint!" sessions.

Besides, the data he presents shows that most professional programmers are largely self-taught. If one can learn the whole shebang at a professional level without any guidance whatsoever, then it can't be too too difficult, at least compared to other fields.

And if it's largely self-taught, how can it be said that resources are being reallocated from the really real professional programmers to the mass dumb stupid sheeple or whatever? The only resource that's being ripped away from the professionals' hands, then, is the infinitesimally small amount of network bandwidth that these stupid sheeple Dunning-Kruger mass peons consume when they visit all of the tutorial websites out there. That bandwidth belongs to the real programmers, dammit!

I say this as a self-taught programmer. I've dabbled in code for almost two decades, and my entry-level jobs were.. drumroll.. programming. Part of the whole thing was having developed a portfolio of sorts on my own rather than from having credentials.

I'm having trouble figuring out if we even read the same thing. I've read your reply 3 times and it's still no clearer to me.
 

Poki

New member
Joined
Dec 4, 2008
Messages
10,436
MBTI Type
STP
Instinctual Variant
sx/so
I am a self taught coder. I started at 5 by using my sister's programming magazines for commodore 64/128. I just played with it a little and then jumped into basic and VB a little through the years.

I got my degree in electronics became a technician and then learned some screen scraping stuff for a mainframe which I then got a network sniffer and reverse engineered the connection and started learning java. I then had a full fledge java based screen scraper utility that fed into another database and tracked and sent out texts based on current status. There in started my programming career 10 years ago. I then got into both Web Development and databases. Using solely the Internet and open source code to teach myself. I was moved from a technician into programming because the stuff I wrote reduced tasks that seduction to take many people to do down to a small part time task which allowed those people to be removed from the menial tedious stuff into more important things.

Jump to now, I am currently the technical lead of a group of about 10 people for a fortune 50 company. I dropped out of the only java class I took in school because they couldnt get the applets to work properly.

I keep saying I am gonna get certifications and such, but my work speaks for itself and I tend to stay with a company for awhile which means I am judged by my work not my list of certifications. I started at the bottom of the group 6 years ago and knocked the lead tech out who used to not only work with Java but used to also teach java for sun. He had a bachelor's in programming and lots of certifications. I have an associates in electronics and no certifications.
 

grey_beard

The Typing Tabby
Joined
Jan 28, 2014
Messages
1,478
MBTI Type
INTJ
Enneagram
5w4
Instinctual Variant
sx/sp
I am a self taught coder. I started at 5 by using my sister's programming magazines for commodore 64/128. I just played with it a little and then jumped into basic and VB a little through the years.

I got my degree in electronics became a technician and then learned some screen scraping stuff for a mainframe which I then got a network sniffer and reverse engineered the connection and started learning java. I then had a full fledge java based screen scraper utility that fed into another database and tracked and sent out texts based on current status. There in started my programming career 10 years ago. I then got into both Web Development and databases. Using solely the Internet and open source code to teach myself. I was moved from a technician into programming because the stuff I wrote reduced tasks that seduction to take many people to do down to a small part time task which allowed those people to be removed from the menial tedious stuff into more important things.

Jump to now, I am currently the technical lead of a group of about 10 people for a fortune 50 company. I dropped out of the only java class I took in school because they couldnt get the applets to work properly.

I keep saying I am gonna get certifications and such, but my work speaks for itself and I tend to stay with a company for awhile which means I am judged by my work not my list of certifications. I started at the bottom of the group 6 years ago and knocked the lead tech out who used to not only work with Java but used to also teach java for sun. He had a bachelor's in programming and lots of certifications. I have an associates in electronics and no certifications.

Yeah, the best programmers are the ones who get shoulders deep into the code and take it apart to figure how how it works; then how to improve it; then how to, umm, "borrow" it for other users.

Too bad the bean counters are too stupid to do anything more than look at certifications...!
 

Poki

New member
Joined
Dec 4, 2008
Messages
10,436
MBTI Type
STP
Instinctual Variant
sx/so
Yeah, the best programmers are the ones who get shoulders deep into the code and take it apart to figure how how it works; then how to improve it; then how to, umm, "borrow" it for other users.

Too bad the bean counters are too stupid to do anything more than look at certifications...!

That's why I really enjoy java there is so much open source and free code everywhere that it's easy to dissect and learn. You still have to analyze and reverse engineer because there are alot of coders who don't employ KISS and write overly complicated code. We had offshore write a servlet that called an ejb that called jms I guess because they wanted it to be all fancy. EJB is removed now and the servlet will soon be a Web service which sends off a just message which is processed in background. Web service just returns if jms message was successfully sent. Beware of offshore coders, they get the job done. But thier methods are basically a "it works" priority, not so much a this is a very clean and good way to do things.

Jms is nice because we can create one base(abstract) jms bean and several topics each one configured differently. So large image processing goes through one which is throttled to work on only 2 at a time since the produce a document with thousands of pages and can require gigs of memory, smaller jobs are throttled to 30 at time and the tiny ones are not throttled at all. Same code, just different configurations.
 

Coriolis

Si vis pacem, para bellum
Staff member
Joined
Apr 18, 2010
Messages
27,195
MBTI Type
INTJ
Enneagram
5w6
Instinctual Variant
sp/sx
tl;dr
the time spent skimming through the article is best spent learning how to code.
Amen.

Yeah, the best programmers are the ones who get shoulders deep into the code and take it apart to figure how how it works; then how to improve it; then how to, umm, "borrow" it for other users.

Too bad the bean counters are too stupid to do anything more than look at certifications...!
Exactly. I have taught myself all the coding I have ever needed to do. I'm far from expert, but know that whatever I need I will be able to learn on my own. The best way to learn is to do, and do, and do - until it works, and then works better.
 

highlander

Administrator
Staff member
Joined
Dec 23, 2009
Messages
26,581
MBTI Type
INTJ
Enneagram
6w5
Instinctual Variant
sx/sp
I have an undergraduate degree in computer science. One thing that was good about the school I went to is that they specialized in training people to have skills that were directly translatable to the business world. You took classes specifically designed to educate you and train you to be a programmer. Then I got an internship and then a job as one which I did for several years.

What I learned is this:

1. You get a foundation in school but it is not the same as work because the projects in school lack the complexity of a real business system. It took me two to three full time years to start to get really good at it and a good deal of that was learning from others - things like how to test and how to write easily understood/elegant code, etc.

2. The very best programmers are way better than an average one. Some people truly have a gift. There were people who could run circles around me when it came to quickly developing code that worked with very few logic errors.

3. A lot of people do not have the aptitude. I was surprised at how many people were working as programmers who really were not very good at it at all. They wrote terrible code, their stuff would crap out because they didn't test it, they created stuff that was very un-user friendly, etc. There were some programs that I had inherited from others which were like spaghetti. I remember spending an entire Saturday once trying to understand what someone wrote and was unable to follow the mess. The program had the nickname of FUBAR I can see why.

4. I spent many many hours with self study in addition to normal work hours.

I don't think I was great but I was pretty good at it. It took me a while to write the code and I had to work through a lot of bugs every time. My logic always had mistakes. I was very thorough at testing though. I was pretty good a figuring things out when they went wrong and had a reputation as being the guy "who can fix anything". I was very good at developing an understanding of what the business user wanted and developing something that they liked.
 

1487610420

Permabanned
Joined
Apr 13, 2009
Messages
6,426
The program had the nickname of FUBAR I can see why.

That made my chuckle. Probably some lazy entp. :laugh:

although, personally I recall being a bit ocd over clean, elegant logic/code, but my design process probably better fits trial & error :greatscott:
Testing? why wouldn't it compile and execute without errors at first try? :doh:
 

highlander

Administrator
Staff member
Joined
Dec 23, 2009
Messages
26,581
MBTI Type
INTJ
Enneagram
6w5
Instinctual Variant
sx/sp
That made my chuckle. Probably some lazy entp. :laugh:

although, personally I recall being a bit ocd over clean, elegant logic/code, but my design process probably better fits trial & error :greatscott:

You have no idea how bad this program was :)
 

Snoopy22

New member
Joined
Dec 29, 2008
Messages
355
MBTI Type
INTP
Enneagram
9w1
Instinctual Variant
so/sp
Assembly is difficult, C and C++ not so difficult. The rest concerns me not.
 

Poki

New member
Joined
Dec 4, 2008
Messages
10,436
MBTI Type
STP
Instinctual Variant
sx/so
That made my chuckle. Probably some lazy entp. :laugh:

although, personally I recall being a bit ocd over clean, elegant logic/code, but my design process probably better fits trial & error :greatscott:

I know a non-lazy ENTP who isn't that great. He has the concepts down, but actual coding and he is always late and ends up with crazy hacks. His high level design is decent, usually has throw away as he designs architect and then codes. I like to design as I code so I have only what's needed. My pre-design is more like brain storming then a single design. It usually has alot of proof of concept which gets refactoring and cleaned up. I am always refactoring and cleaning up code.

I can do this faster the most can write the first draft of code though.
 

1487610420

Permabanned
Joined
Apr 13, 2009
Messages
6,426
I know a non-lazy ENTP who isn't that great. He has the concepts down, but actual coding and he is always late and ends up with crazy hacks. His high level design is decent, usually has throw away as he designs architect and then codes. I like to design as I code so I have only what's needed. My pre-design is more like brain storming then a single design. It usually has alot of proof of concept which gets refactoring and cleaned up. I am always refactoring and cleaning up code.

I can do this faster the most can write the first draft of code though.

Usually I'd do pseudo code/block diagram flow, to visualize the main logic and big picture and then execute & and figure out the kinks as they come along.
 

Poki

New member
Joined
Dec 4, 2008
Messages
10,436
MBTI Type
STP
Instinctual Variant
sx/so
Usually I'd do pseudo code/block diagram flow, to visualize the main logic and big picture and then execute & and figure out the kinks as they come along.

I read code better then I read diagrams so it's harder for me to actually wite the diagram as I think more like code. I basically start with shell code and no actual meat. Then I tie together the shell. Add large things in and then work my way down to the details. Shell for me is usually just a method and it's return type. Or a data object with no data defined in it. Sometime the parameters passed in, but not always.
 

1487610420

Permabanned
Joined
Apr 13, 2009
Messages
6,426
I read code better then I read diagrams so it's harder for me to actually wite the diagram as I think more like code. I basically start with shell code and no actual meat. Then I tie together the shell. Add large things in and then work my way down to the details. Shell for me is usually just a method and it's return type. Or a data object with no data defined in it. Sometime the parameters passed in, but not always.

not fancy diagrams, just casual drawings, im a visual person
 

Poki

New member
Joined
Dec 4, 2008
Messages
10,436
MBTI Type
STP
Instinctual Variant
sx/so
not fancy diagrams, just casual drawings, im a visual person

Lol, reminds me of my chicken scratch notes. They show like 1% of The idea and more of a this is the little things I can't do in my head as easy. When I built a shed I drew 2 straight lines and wrote down 16, 32, 48, 64 so I know how many studs I need. I know it's length /16 +1 but visual provides the solid judgement. Roof I draw a rough sketch of a single triangle and I write down the known and calculate the unkown. I refer to this so I don't have to recalculate every time. That's my plans for a shed. It's basically chicken scratch with the couple calculated numbers written down. Nothing is to scale and nothing is actually defined much at all. 1% is probably overkill estimate of how much it entails of the finished product.
 

EcK

The Memes Justify the End
Joined
Nov 21, 2008
Messages
7,707
MBTI Type
ENTP
Enneagram
738
I know a non-lazy ENTP who isn't that great. He has the concepts down, but actual coding and he is always late and ends up with crazy hacks. His high level design is decent, usually has throw away as he designs architect and then codes. I like to design as I code so I have only what's needed. My pre-design is more like brain storming then a single design. It usually has alot of proof of concept which gets refactoring and cleaned up. I am always refactoring and cleaning up code.

I can do this faster the most can write the first draft of code though.

You have no idea how bad this program was :)


You two. How dare you say anything negative about the colorful ENTP minority!

I'm watching you ENTP-ists :ranting:
 
Top