drew

Posted on

# Learning to code at(after)40: an update

I know the comic above is cut off, but that little segment really fits ๐

It's been awhile since my last update. I'm still plugging away and doing the #100DaysOfCode challenge, I also added in #100DaysOfJava which didn't exist until I started using it, apparently. Someone on twitter said they were going to do a round of #100DaysOfJava with me when their current round of #100DaysOfCode was finished. Woohoo!

I'm 30 days into learning Java, and I've learned a lot. Now that I found a course with lots of exercises I'm making some real headway. I'm currently working through the Java while loop challenges in Tim Buchalca's Java Masterclass on Udemy. They really work my brain and use a ton of math/numbers, not my strong suit. I've always been a word guy, so I really feel like my brain is getting a work out.

Essentially I'm writing methods that do something. For instance, the one I did today was: write a method with two int arguments. Limit the numbers between 10 and 99. Compare the numbers against each other. If either of the two numbers share a digit, return true. Otherwise return false. Sounded easy, I thought. Except it took me maybe 5 hours to figure it out. Easy with if else statements, a good bit harder to do it in a while loop.

The constraint I put on myself is to try not to google the problem. Not that I can't ever use google, but Google will basically give you the whole method if you want. My goal is to learn to write the code myself. Where I will use google is if I need a complicated math problem(complicated for the math challenged, aka me). For instance, I never knew that using something like:

935 % 10

would give the last digit of pretty much any integer.

What these challenges are making me do is break down problems into small chunks. I find myself puzzling them out loud, which seems to help me wrap my head around an issue. This is not something that happened when I was doing code-alongs or project based courses, and learning how to problem solve is pretty much what every programmer is supposed to do, right?

There are times when I thought I was going really slow, but part of that I think, is I was used to doing the project based stuff where they kind of breeze through the basics. I think I'm also at a point where the difficulty is starting to increase some, so my head muscle is getting a good work out. Like any good muscle, eventually It will adjust and won't be so hard.

The course is ginormous. 80 hours at least, and I'm 22% through it, currently working my way through section 5.

I've been giving a lot of thought to what I might do next. My plan is to get the core Java covered (sections 3 - 9 of the course) and then start looking at projects/frameworks such as spring and JavaFX. The latter really interests me because I tend to be a visual guy, and I'd love to make really good looking applications. The course covers JavaFX, and a lot of other stuff, so I definitely have a lot more to learn. I'm hoping to be job hunting by late spring/early summer, but no pressure.

If anyone else is doing Tim Buchalca's javascript course, I'd love to hear about your experience with it.

udr013

Hi Drew, I also started to code when I was 42. Did that same course by Tim, got my java OCA, landed a job as developer a year later. And four years later still working as a java developer. I can say it was the best decision I ever made! Enjoying every day! My advice: Think of an own project, build a nice app with Spring framework, like a website or API and keep up the good work :)

drew

This is really encouraging. Do you think the OCA helped? I've debated whether or not to work on that. I have some ideas for some things to build once I get some more knowledge under my belt. A couple small things, and a couple I suspect will be larger projects. I'll probably start with the small stuff first :)

udr013

If you really aspire a job in software development, the certification will show you have basic knowledge of java. I don't know how it's in your country, but because of the current shortage in IT, there are various secondment agencies that provide education to those willing to learn programming. Have a look around and see if you can enter such a program. They will help you land your first job as well.

drew

I will take a look around. I know we have temp agencies, and recruiters, of course. We have bootcamps now that help land jobs, but they want a part of your first year or two income. I thought about doing one of those, but as the sole income earner they wont fit in my schedule.

Peter

Sounds good Drew and also emphasizing the point that programming is 90% problem solving and logic and 10% (if that!) The language or tech that you are using. I would also suggest that instead of spending too much time learning Java fx I would suggest you look at other graphical or front end tech for the visuals. I say this because in all my work in major blues cup companies very few (if any) use java for graphical user interfaces. You may be better served by looking at angular, react or bootstrap. Might be better time well spent and introduce you to other technologies.

drew

That's a fair point. I'm familiar with bootstrap (my pathetic website is currently built with that), so I have that going for me at least. I've been toggling between JavaFX and Android development next, and I already have Tim's java course. I tried to run the android emulator on my current laptop and it chugged, so I guess I'll be needed an upgrade soon. Which do you work with more between react and angular?

Peter

Hi Drew, I have done a little work with Angular and really like it however in discussion with many people who I have worked with it seems most favour react and prefer it as from what I hear Angular can get a little messy and difficult to maintsin and update. I have done alittle work with react and quite like that too :-)

I think in the future if I am to do any front end work it would be with react.

At your stage now I would concentrate on your java and understanding the Object Oriented principles. Especially the use of interfaces although it is important to have a good knowledge of the language itself the important thing is to know the principles behind it, this will always be useful going forward especially when you start looking at other languages (such as JavaScript) that do not impose to many restrictions on how you write your code.
A good working knowledge of collections and generics and an understanding of inner classes should suffice as far as the technical part of the language. Then moving on to enterprise java would be very useful, understanding how to connect to databases using jdbc then moving on to looking at things like the jpa, jms and creating rest services.
Currently most organisations are moving on to using Spring Boot so that could be a good aim for you further out. Once you have tried that then I would look at the front end and how to hook up any type of front end (because you can) to a rest service using ajax would stand you in good stead and give you an idea with regards to full stack development and how some of the large organisations put their systems together.
I hope that helps and I know it's a lot but just remember it's a journey and take it step by step and if I can be of any help drop me a line.
:-)

drew

I really appreciate the information. It's definitely difficult at this stage to visualize how things hook up in the early stages, but I know I'll get there eventually. I'm committed to learning this thoroughly, I'd love to hit you back later as I go. I have a RL friend who works as a Java developer, but he really has no interest in programming so it's nice to talk to people who enjoy it.

Michael Maitoza

Great job Drew. I like how you are taking things methodically and project based. This reinforces what you are learning in your lessons. I also like the fact that you are being patient, yet challenging yourself at the same time. I hope you continue on this journey with this same approach because it will most likely yield great results. Keep up the good work!

drew

Thanks Michael. Took me awhile to get to the point where I was patient, lol. I used to hop around a lot but realized I wasn't learning much that way. All the Udemy courses look so exciting! :D

Shivan Moodley

Puzzling out loud is great! Though it tends to make my coworkers ask if I'm okay ๐

drew

I definitely only do it when no-one is around ๐

Ben Halpern

Great stuff

drew

Thank you :)

Davidson Sousa

Your idea of not using Google is pretty good. I'd recommend you find a good reference guide book for Java, if you choose to stick to it. It helped me a lot on the beginning when Google wasn't a thing.

drew

Thanks, I'm actually searching for a good reference book. Now. Humble bundle has Java in a Nutshell on it, I'm thinking of picking it up. Any others you would recommend?

Matt Shirlaw

Stick at it Drew, best of luck ๐

drew

Thank you Matt. I appreciate it. I definitely plan on being here for the long haul ๐