Java for new Programmers

Today was a great session about Java in education

From Oracle

Resources from Ken Fogel’s talk

  • Sample code showing Java brevity
  • Single File Source Code Execution (I really like being able to write java MyProgram.java). Way less explanation for new programmers!
  • Type /edit in JShell to open in an external editor (I didn’t know about this – cool)

Other resources I like

  • Online IDEs
    • https://repl.it/languages/java10
    • https://www.jdoodle.com/online-java-compiler/

on getting old(er) in tech – live blogging from qcon

On Getting Old(er) in Tech – Staying Relevant
Speaker: Don Denoncourt

See the list of all blog posts from the conference

Speaker is 57. In audience, nobody admitted to being older than that. About a dozen in their 50s. (I’m nowhere near 60. I came because I do want to stay in tech for my career so these problems will affect me someday)

Stats

  • Average of IT workers Facebook: 28
  • Average of IT workers LinkedIn: 29
  • Average of IT workers Google: 30
  • Average of all American workers: 42

Strategies to Stay Relevant

  • If best, have no opportunity to learn. Ok to work to be medium so learn from teammates.
  • If the best, find people elsewhere to collaborate/practice/learn
  • “Cubical dancing” – learn from everyone you work with. Ask different people for help. Learn from people who want to share.
  • Cross boundaries – Every time you fail, your brain gets stronger. You might not learn, but still stronger.
  • Challenge yourself – try something new; learn on own. Don’t want to be bored. Look at what is new on the horizon that need to jump into.

What to do if you are the best in your shop

  • Read code – compare to code of others
  • Join open source
  • Write blog posts – learn from writing
  • Speak at user groups and conferences
  • Discover technologies that other team members know more about
  • Mentor – learn from mentee’s ideas

Learning regularly

  • “10 years experience or 1 year 10 times” – can continue to learn in same job. But not everyone does.
  • “After doing 1 year 10 times, folks often lose the ability to learn”
  • Brain starts to lose ability after 30. Need to exercise it
  • Can be too late if stop learning
  • “Once you stop learning, you start dying” -Einstein
  • I plan on being in IT more than 10 years, need to beocme a lifelon learner
  • Perspective (for technologies): You are only as good as your last two years of accomplishment. After two years of pair programming, developers are roughly equal. Need to acquire new knowledge regularly.
    [this is a good resume point for people like me who have worked at one company a long time; highlight what recent]

    Learning types

    • Know your learnng style – books, videos, coursera
    • Remember that will learn most at beginning/end of learning session. Short bursts of learning help. Find short things to learn like Ruby Tapas
    • Go over material in muliple passes. Ex: multiple books on same subject
    • Mental pump – do something each day. Learn a lot when you graduate college and start working. Continue that.
    • Surge – blast of energy like pre-conference, pre-project launch, between projects, when job hunting. Take advantage of time and energy
    • Stockpile resources – keep track of books/bog/courses/videos people like. Keep conference/seminar videos. Keep newsletters. Then look at when ready/have time.

    Finding time

    • Use your commute time
    • Use your exercise time
    • Listen to podcasts or audio books

    On Getting Hired

    • Be up front about your age. Don’t color hair or hide experience made joke in application about knowing old tech and get guess age
    • Look and stay fit
    • Be interesting have hobbies
    • Take a cut in salary for new opportunities
    • Post code on github

    why i usually like books over video

    A teammate was discussing the “wonders of learning from video” yesterday.  Which got me thinking.  I generally like learning from books/articles best.  This would be text with illustrations/diagrams, not raw text.  I like reading better because:

    1. It is easier to go at my own pace.  (While you can speed up video, it takes more energy to listen to fast.  And I don’t want it uniformly fast. I want to be able to stop and re-read.  Which is a pain on video.)
    2. I find it easier to find information in text.
    3. I can later search text if electronic.  Or have “physical presence” cues if hard copy.

    That said, I’m enjoying some of the MOCC courses online.  Some being the operative word.  A video has to be done right to be good.  (As does a book; it’s just that books tend to go through more editing.)  I’ve noticed that the videos I like tend to be less than 5 -10 minutes in length.  With quizzes or exercises in between or in the middle.  I think the interaction helps.  It is easy to see if I understand what is going on so far.  And to revisit select parts.

    Live/in person video doesn’t have the negative side effects that recorded videos do for me.  I think that is because the presenter can adjust real time.  Either by seeing reactions or looking at visual cues or answering questions.  It still feels interactive even if a high percentage is lecture.

    When creating documentation

    When looking for general information, there are many forms and it is relatively easy to pick the format one desires.  (Although books are more common than videos on specialized topics.)  In a company, the cost to produce internal documentation often precludes doing both.  It’s also harder on the creators to do video because:

    1. Content needs to be searchable (I suppose a video transcription could allow this.)  This is the same reason text in an image should be available in pure text as well.
    2. Producing content for video consumption is very different than merely recording an in person training session.  The focus is different.  The “real time clutter” needs to be removed.  The screen needs to be shown with a different emphasis.  It’s not something to just do on a whim.
    3. Video can’t be watched while on hold, on a conference call, etc.  Granted these aren’t the ideal times to be learning, but it does happen.  Again subtitles could help with this.

    What do you think?  How do you balance text vs video for technical content?