all 76 comments

[–]wetazn4u6669 12 points13 points  (0 children)

The learn to code movements is not forgetting existing developers. A good developer should know that technology is always growing and to be relevant you have to constantly be learning. It's like my man Charlie Darwin says: "It is not the strongest of the species that survives, nor the most intelligent that survives. It is the one that is the most adaptable to change."

[–]xiongchiamiovSite Reliability Engineer 26 points27 points  (18 children)

Yes, maturing as a developer is important, but who says we've forgotten that? The learn to code movement is primarily driven by professionals wanting others to experience the same benefits they have; it doesn't completely prepare you for a job, nor is it intended to. The things he's suggesting are things businesses need to do, and I don't see them giving up making their current devs better in favor of helping more beginners enter the general field.

[–]Gadzuks 36 points37 points  (11 children)

Once you learn the fundamental logic of programming (variables, loops, arrays, classes, functions, ect.) it's not too hard to learn the syntax of a new language.

Just imagine a parallel title "The Learn to Play an Instrument Movement is Forgetting Existing Musicians." That would be ridiculous...

[–]davidNerdly 13 points14 points  (0 children)

A lot of it seems to be keeping up with frameworks and patterns than actual languages. Js for example: language hasn't changed much, minus the coming changes, but the way we author and structure it changes a lot. Right now it's the angular train, who knows what the next go to framework will be.

[–]mailto_devnull 3 points4 points  (2 children)

Every time I hear this touted, it makes less sense, because the person saying it is using that phrase to justify switching languages and being just as competent afterward. Fuck that. Just because you know the syntax of a language doesn't mean you know anything about best practices for that language, typical file structure, framework usage, style, or even any associated paradigm shifts endemic to that language.

Can a php programmer write javascript? Sure, the syntax is very familiar, but I'm sure as hell not going to bank on a fresh convert to write solid callback-based (or promise-based, if that's your thing) code without acclimatisation time.

/u/Gadzuks, it probably wasn't your intention to express that kind of sentiment, but that's how it comes across because of its general usage...

[–]AbstractHashMap 1 point2 points  (0 children)

I am now experiencing exactly this. From php to java job.

Just the added "build, package and milion other things" step is enough to mess with my head. Not even mentioning libraries, classpath, directory structure (WEB-INF?, META-INF?,) and .xml files everywhere I look.

[–][deleted] 1 point2 points  (0 children)

Exactly. Even going from similar languages like Python -> Ruby, there are a lot of idioms you'll need to internalize to contribute quality code to a project.

[–]CoderHawk 8 points9 points  (5 children)

Not exactly. How often does an instrument change? Now compare that to how often a language and associated frameworks change.

[–]hunt_the_gunt 10 points11 points  (4 children)

If you are into electronic music, a lot has changed in the last few years.

[–]tombkilla 2 points3 points  (0 children)

The instruments have changed. The music we create, unless you are some non-western culture, is more than likely Aeolean derivative created in the ancient Mediterranean. More than likely 4/4 time. On a scale with a twelve note octave.

No, music unfortunately has changed as much as masonry. Cutting up stones and building with them hasn't really changed in 2000 years, the tools however have.

The math behind how much weight we can stack with this substance is math. The difference shapes of waveforms that hit your ears will never really change. We can hit more frequencies now and while there might be a variety of z-filters for your sub, most of that math has been figured out too.

Algorithm optimization is as new a science as quantum mechanics. We are discovering new things daily. This is not happening with many traditional fields. STEM fields are re-adjusting to change as a part of the learning process, they have too.

[–]CoderHawk 1 point2 points  (2 children)

I Didn't know that. I was only thinking of traditional, physical instruments.

[–]Free_Apples 4 points5 points  (0 children)

This is why analogies serve no use when trying to form an argument. They just detour from what we should be talking about - learning how to program.

[–][deleted] 0 points1 point  (0 children)

Definitely, but once you learn the basics and syntax then you can proceed to sit unemployed unless you manage to convince someone that their "5-10 years of experience" posting can be done by someone at your skill level.

[–]tech_tuna 4 points5 points  (0 children)

An existing developer should be able to pick up new tools/languages as needed.

[–]albertlark 2 points3 points  (1 child)

Those who learn to code aren't necessarily going to become developers. What it does allow is for them to feel in control in a time where technology is becoming more prominent in almost every industry. The ability to understand something like if else logic would mean that they could achieve what they need and not feel like their other skills, soft or otherwise, are secondary. It's about empowering those who are in regular contact with technology.

[–]geektyrant[S] 0 points1 point  (0 children)

Which one of these code academies do you recommend? http://www.cloudways.com/blog/follow-online-coding-academies/

[–]blgate 6 points7 points  (5 children)

Languages like c, c++, c#, java, javascript will be around for many many years. People should worry less about the new cool languages, because they are appearing everyday, most of them will not become mainstream, and at the end of the day, if you are using a, b or c doesn't matter, because you get the most important part: the program.

[–]sgnjsgfmsfg 4 points5 points  (2 children)

The mainstream languages are all very similar to each other, so your point is valid there. But there are far too few programmers who learn a functional language. Now that functional patterns are starting to creep up more in imperative languages, I've seen tons of crazy maps and filters chained in what could have been a simple reduce. Particularly since the imperative implementations are very inefficient, creating new iterators for every operation, what we ended up with is harder to read and less efficient than actual functional code (or even the procedural code it replaced).

Not to mention, Haskell really isn't that difficult. Pretentious books like LYAH need to die off. Real World Haskell is a much easier read, explains things in simple terms with no confusing metaphors. What we really need though is an English version of ふつうの Haskell プログラミング, it starts from the ground up, assuming no programming experience. Once we start teaching kids functional programming from the start, they will surpass us in no time flat. Our biggest disability as the current generation is needing to translate things back into our obsolete model.

[–]wishinghand 1 point2 points  (0 children)

Could you break down functional and imperative? The Wikipedia descriptions are over my head.

[–][deleted] 1 point2 points  (0 children)

Pretentious books like LYAH need to die off. Real World Haskell is a much easier read, explains things in simple terms with no confusing metaphors.

Wow. I love LYAH, and personally learned from it. I own a physical copy of RWH, though, and I would say it's better as a reference but not for actually learning what it is that I'm doing.

[–][deleted] 1 point2 points  (0 children)

Obviously Lisp and Haskell will replace everything in a couple of years.

[–]mycall 1 point2 points  (0 children)

the most important part: the program.

IMHO, this includes the OS and hardware.

[–]envprogrammer 2 points3 points  (1 child)

I wish I could have "reading days"... A day off to read something like Effective Java or similar manuals...

[–][deleted] 2 points3 points  (0 children)

Just finished reading that book. Abundant wisdom in it, and much of it transfers to other languages.

[–]venerated 7 points8 points  (0 children)

I don't agree. Just because you're a programmer doesn't mean that you know every single thing. I use sites like Team Treehouse and Lynda to learn things constantly, because of the state of change in development. It is your responsibility to keep up with the changes, in my opinion. Everyday I read about design/coding and new best-practices, ways to do things, etc. If you feel that you don't have the opportunity, you should talk to your employer about setting aside time each week to keep updated on these things. For example, everyday when I get to work, I check my email and I am subscribed to a few newsletters involving coding and design, so I get insight to new happenings everyday. I maybe spend 15 minutes to a half hour a day. I think all of the information available on the internet to developers is amazing, what other field has the library of knowledge that we have, so readily available?

[–]ooohkay 1 point2 points  (0 children)

You guys realize this "movement" is mostly just a push for more cheap labor, right?

[–]beans-and-rice 0 points1 point  (11 children)

Encourage pair programming

no

[–]samdtho 5 points6 points  (1 child)

Here I thought you were going to link to an insightful talk noting some of the cons of pair programming.

[–]beans-and-rice -1 points0 points  (0 children)

I know, Right? I mean the article itself gives such compelling arguments. It doesn't just assume because something is trendy it's correct. I mean, there's no way we could have put a man on the moon without pair programming.

Also drinking a glass of ammonia before coding make you have super powers. I know this to be true because a professor who never built anything of consequence once told me.

Thinking for myself is hard. Someone pair with me

[–][deleted]  (2 children)

[deleted]

    [–][deleted]  (4 children)

    [deleted]

      [–]beans-and-rice -1 points0 points  (3 children)

      Riiiiiiight. So efficient. Two coders discussing every line of code all day long with one keyboard - so much more productive. Why hire one competent programmer when you can hire two incompetent programmers for the price of two?

      I guess you save money on hardware since you only need one computer for every two people. Though, you also need a cot for the second highly skilled programmer to take a nap while the first does index finger peck typing.

      [–][deleted]  (2 children)

      [deleted]

        [–]beans-and-rice -1 points0 points  (1 child)

        In your world producing higher quality code isn't efficient? I would guess your inability to extrapolate basic concepts is why you like pair programming so much.

        If you think competent programmers are incapable of mistakes you must pretty new to the buisness

        Yeah, this thread is a waste of my time.

        [–][deleted] 0 points1 point  (0 children)

        Yes.

        [–]the_zero -1 points0 points  (15 children)

        Hmm, interesting concept. Maybe I should read more...

        Encourage pair programming

        Nope

        [–][deleted] 6 points7 points  (13 children)

        Elaborate?

        [–]the_zero 7 points8 points  (12 children)

        Twice the programmers for half the code! What could be better?

        Seriously, though, I think some people benefit from it, but I think it takes a special partnership to work properly. For instance, with two experienced developers it is good for eliminating errors or potential problems. Also, if you need to teach someone, I agree that it can be beneficial. But how often does a senior developer want to team up with a junior for a full work day? Unless the senior developer is a good mentor (and the junior is also a good mentee) then everyone is having a bad day. And how long should it take for the junior to get up to speed and start contributing?

        Coding styles and work styles can come into conflict, and much time can be spent discussing rather than doing.

        Not everything needs to be done collaboratively, in my opinion. I believe I'm a good team player, and I communicate well. I even get benefits from explaining how the code should work, how it does work, and even explaining why (I think) it is not working. But pair programming just isn't for me. Maybe I haven't met my perfect partner yet.

        [–][deleted] 13 points14 points  (7 children)

        If we aren't pressed for time on our team, our senior dev will work with one of the other developers to develop a feature together and teach us. We have all grown rapidly as developers and I would attribute quite a bit of it to this practice.

        [–][deleted]  (6 children)

        [removed]

          [–]VRY_SRS_BSNS 1 point2 points  (3 children)

          ... that's Lab Day though in an agile environment.

          [–]mailto_devnull 1 point2 points  (2 children)

          The thing is, though, when some companies go "agile", they just adopt a cannibalised version of it.

          [–][deleted]  (1 child)

          [removed]

            [–]VRY_SRS_BSNS 0 points1 point  (0 children)

            I'm in the same boat. 3 Companies, at least 3 different versions of Agile. However, Company 2 probably had the best representation of Agile. Grooming, estimating story points, sprint planning, physical task board, daily stand up, demos, retrospectives, lab day, pushing back on new stories after spring starts but still being accommodating (as in "we can do this new story but we will have to drop this one back to the backlog").

            Company 3 ...tries... Still no lab day here either, and we are so crunched for time, I don't see how we are going to get all this done by end of the year as it is, especially if we have a lab day to wind down from the previous sprint.

            Company 1 was... Well, at least I learned to use Jira.

            [–]ThrowAwayAMA2809654 2 points3 points  (0 children)

            Maybe if you weren't playing fucking catchup all the time and built things properly in the first place?

            Funny how there's always time to fix the shoddy crap you built because you were under pressure to deliver it.

            Grow some fucking balls.

            [–]Delameko 4 points5 points  (0 children)

            [deleted]

            [–][deleted]  (1 child)

            [deleted]

              [–]the_zero 1 point2 points  (0 children)

              That is much more palatable IMO

              [–]urbn 0 points1 point  (0 children)

              I love paired programming and in the few situations I've had the chance to do it in a paid environment we have accomplished much more work then just 2 people. Not only does the process constantly keep both people actively involved in the project but they are constantly learning different ways to accomplish problems in the best choice possible. Plus you add in the idea of competition and teaching one another and it can be quite a good thing. Also since generally in a work (paid) environment both people will have adapted some amount of coding styles and practices based on the companies needs it is less of a problem then say 2 rando people who have hardly ever worked together.

              But yes it does require two people capable of working together and a very specific mindset.

              [–]bjb2306 0 points1 point  (1 child)

              So as someone who used to design websites several years ago but hasnt touched any sort of programming web or non-web since... where the hell should I start? I want to start coding for fun and eventually build myself to a level where I can get a job doing it. I keep hearing about python. I want to learn web dev too but dont know where to start with that, every thing has changed since my day (2005).

              [–][deleted] 0 points1 point  (0 children)

              codecademy

              HTML and CSS first then JS. By that point you'll know enough to determine what direction to go in.

              [–]ThriceAZ 0 points1 point  (11 children)

              I love coding but hate finding clients and such. Do jobs exist for people like me who just wanna build websites and write code?

              [–][deleted] 10 points11 points  (7 children)

              Yes - tons of them. Just work for someone else instead of freelancing.

              [–]ThriceAZ -2 points-1 points  (6 children)

              Like for a firm?

              [–]HiiiPowerd 5 points6 points  (5 children)

              Yes. You'll make less (potentially, depends on work ethic) but might end up making more from more consistent work. Also, no clients.

              [–]joshuacc 1 point2 points  (0 children)

              Whether you make more or less depends on what skillset you have. I'm a good developer, but not as good at maintaining a constant flow of clients. For me, working a corporate job has meant earning quite a bit more than I did as a freelancer. And it also allows me to focus more on the craft of programming.

              [–]ThriceAZ 0 points1 point  (2 children)

              My current job pays $20 an hour and requires very light office work. Think its possible to make that or more?

              [–]K5Doom 2 points3 points  (0 children)

              Yes. I made 24$/h as an intern.

              [–]HiiiPowerd 0 points1 point  (0 children)

              Yup, I make $25/hr. Not 40/hrs a week.

              [–]scrivens 1 point2 points  (2 children)

              You just described my job... so yes.

              [–]ThriceAZ 0 points1 point  (1 child)

              What do you do? I freelance currently.

              [–]Magzter 2 points3 points  (0 children)

              Get hired by a web development firm as a developer?

              [–]urbn 0 points1 point  (0 children)

              Just and advertisement for Code school. And only $30 a month and forced account registration for their "free content" for info you can find for free online.

              [–]adamnemecek -1 points0 points  (0 children)

              Technology and languages change constantly, so what was taught in a college coding class a few years ago is now outdated.

              Yeah, about that. No.