This week's book giveaways are in the Jython/Python and Object-Oriented programming forums. We're giving away four copies each of Machine Learning for Business: Using Amazon SageMaker and Jupyter and Object Design Style Guide and have the authors on-line! See this thread and this one for details.
I'm a soon-to-be 35 year old male that works at walmart, and has worked at walmart for just over 8 years. I have a deep love of computers, technology, and software development. I started messing with computers in elementary school and got my foot in the door at 18 in a call center's IT department in the year 2000. I spent 9 months there before I quit because I hated my boss. I've never worked in IT again professionally. From then until now, I've effectively done nothing of meaning except *nearly* graduating from colorado tech online's software engineering bachelor degree a few years ago (18 credits shy). Instead, I'm riddled with 60k in student loan debt, no degree, and a lot of regret.
I played with visual basic in the mid 2000s and got pretty fluent with it. I stopped for a number of years and then picked up Java. It took me a long time to unlearn a lot of, what I was told was, bad practices. So, I have a low intermediate grasp on Java -and PHP for that matter (building web scrapers and such).
I make no excuses. I was lazy and didn't commit to what I wanted in life. I met the right girl 6 years ago and suddenly I realize that life is passing me by. I don't want this life. I want the life I dreamt about as a kid. I do believe I have enough brain power to turn this thing around but it does feel daunting.
I know somehow I have to finish my degree. I would very much like to finish at the University of WI Eau Claire because I live in Eau Claire. But, where do I go from here? What are my options? Advice? I feel like there is all these programming technologies and CS things that I need to know from looking at job listings. I visit tech sites and scratch my head at all these terms I'm not familiar with. Start writing code again? Try to be an independent dev? All of the above? What websites are 'in' these days? My weakest points are definitely the development methodologies and testing but I'm more interested in refining my entire knowledge base. What books would you recommend?
Thanks for any responses and insight you can give.
I agree that finishing your degree is a good idea. It will show you can be committed to pursuing something to completion. See if your school can help with leads on getting an internship. Having experience in something helps a lot on getting a job. Also, think about the skills you do have. Since you work in Walmart, I assume that means you are able to talk to people. That's useful.
As far as learning, take a look at unit testing and version control in addition to coding. You can practice by creating a project on github.
If you want to brush up your Java, you could look at certification in Java 8 (the latest version): Oracle Certified Associate Java Programmer. In addition to Oracle's Java documentation, you should be able to find plenty of other learning materials, tutorials and books e.g. ask around here on JavaRanch for tips.
Similarly, you might want to look at a couple of books aimed at working Java developers e.g. Effective Java (2nd edition) by Josh Bloch, which is a few years old now but is full of excellent advice and in-depth Java knowledge.
I'm also a big fan of The Well-Grounded Java Developer by Benjamin Evans and Martijn Verburg. This is more of a practical book for working developers looking at how to make the most of Java and related technologies in practice, with lots of useful tips on things like testing, build tools and continuous integration.
Finally, if you have time, look at the many opportunities for free online study via EdX, Coursera and Udacity. These providers offer a huge range of short courses (typically a few hours per week for a few weeks), usually based on existing undergraduate courses at major universities. The courses typically consist of a mixture of online videos, practical exercises, plus weekly assignments that are graded automatically. Most courses are available for free e.g. register to "audit" the course or for a non-verified option, but they also offer "verified" course certificates or extra tutorial support for a small fee. Obviously, completing a few online courses is not the same as completing your CS degree, but these can offer you a quick way to catch up on the current state of the art or explore new areas without a massive commitment in time or money.
Kevin Kahl wrote:I want the life I dreamt about as a kid. I do believe I have enough brain power to turn this thing around but it does feel daunting.
First of all, let me congratulate you. Knowing one's strengths (and weaknesses) is the first big hurdle.
Some excellent suggestion above by Jeanne and Chris. In addition, I would like to suggest a different angle. Maybe you might find it worth considering.
You worked in retail for 8 years. Is there any problem you noticed there which technology can solve? Is there any process which can be improved? Along with being an active developer, I think you also have the option of starting a service around these, where you can get the software written from freelancers. And even before you start, you are ahead of the competition by 8 years!