Blogging

While writing this article I did a bit of digging through my archives and found out that my first blog post was written October 7, 2005. That means I will be celebrating 14 years of blogging later this year which on one hand is pretty amazing and on the other makes me feel really old.

Why I started blogging

I started blogging because I thought it would be a great chance for me to learn about how open source software worked. At the time I was a ColdFusion developer and BlogCFC was a popular open source blogging platform written by Raymond Camden. I learned so much by looking at how someone else wrote code and structured a project and I will always be thankful for that experience.

Another reason I started blogging was to get involved in the community. There were a lot of really great developers that would often blog about what they working on and I really looked up to them. I wanted to be one of the cool kids and tell others what I was working on.

Finally, I thought this was a great chance for me to help others. In the early days, I often found myself struggling with projects that I was working on and thought to myself someone else must be experiencing the same issues as me. This was a great opportunity for me to take what I was learning and share it with other developers so that they didn’t make the same mistakes that I did.

Moving to WordPress

In 2014 I decided to move my blog over to WordPress. It had been a while since I was using ColdFusion and I just didn’t want to maintain it any longer. I also thought that this was a good chance to give the blog a fresh look. The migration to WordPress went pretty smooth thanks in part to open source. There were some migration scripts floating around that really helped me through that process.

While the WordPress platform has served me well over the years I have had my problems with it. First I originally was running this site on a Digital Ocean droplet for $5 a month which was great because at the time it wasn’t really generating any revenue.

I quickly found out that WordPress doesn’t perform well on that plan because it was a huge resource hog. It would go down often and require me to login and restart the server. After upgrading to the $20/month plan a lot of those problems went away.

There was still the problem of me having to manage a server. I am not a server admin and really didn’t enjoy everything that went along with that. I ended up getting really lucky and finding someone on Upwork to manage the server. His name is Justin and he was able to fix my server when it when down as well as make sure the server was up to date with security patches. He runs a hosting company called Big Scoots which is now where my website is hosted. I can’t recommend him or his company enough if you’re looking for a WordPress host. I have had 0 problems since moving to them.

The other main issue I have with WordPress is that I am not a PHP developer nor do I care to be. I have been able to get in there and mess around with the layouts and templates but that is about as far as I have gone. I also don’t have a local WordPress installation so working on theme updates isn’t easy for me.

While I have had some issues I do think WordPress is an amazing product. It’s just no longer the product for me.

New Solution Requirements

Now that you know my story and where I have been we can talk about what I am looking for. I have become a huge fan of the JAMStack which stands for JavaScript + API + Markup. The idea behind this is pretty simple, serve up a static site for everything that you can and then reach out to an API for any data or functionality that your site needs. This is a big shift from the traditional server-side monolithic applications of the past and one I am very excited about.

Static Site Generators (SSGs) like Gatsby have become really popular and they have their advantages. First, we get to serve a static site to our users which means it is going to be extremely fast. My visitors are coming to my site to check out content, not some loading bar. The other big advantage is the options we have when it comes to hosting our static sites. If you want to host it on something like Amazon Web Services (AWS) it can be very inexpensive. There is also one of my favorite services around Netlify, which is FREE for personal projects.

Another advantage of this approach is that I am not tied to some server-side language. I get to build my layouts and views in good old HTML/CSS/JavaScript. Another feature I am looking for is the ability to write all of my blog posts in Markdown. I write a ton of documentation for work and in my personal projects so I have become very comfortable writing in this format.

I had a bunch of options when building out this new site. I can’t wait to tell you about what I found but for now, I am going to just talk about the one ended up using.

Gridsome

I mentioned Gatsby earlier and while this was definitely a possible solution for me I wanted something that was Vue based. I really love Vue, the ecosystem and the community so I wanted a solution that would keep me there. After looking around and creating a few projects i decided on Gridsome.

What is Gridsome

Gridsome is a static site generator similar to Gatsby (though still new so not as feature rich) for the Vue framework. Gridsome has a ton of features but here are just a few. What this means for me is I get to write Vue applications that can then generate a static website. Now I know what you’re thinking, Vue can do that on its own and you’re right. Let’s take a look at a few more features of Gridsome.

How Gridsome Works

If you were just going to have a plain static site you wouldn’t really need something like Gridsome. Where Gridsome really shines is its ability to use multiple data source and combine them into a single GraphQL data layer. This means that you can work with local files like Markdown as well headless CMS’s like WordPress, Contentful and so on. If you’re new to GraphQL don’t worry I was too and it’s pretty easy to pickup.

Markdown

As I mentioned one of those data sources is Markdown which made me very happy because I can start writing in a familiar environment. I am going to go over this in detail in another post but the quick version is that this was really easy to set up. You start with some configuration to use the plugin @gridsome/source-filesystem

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

module.exports={

plugins:[

{

use:'@gridsome/source-filesystem',

options:{

path:'blog/**/*.md',

typeName:'Post',

route:'/blog/:slug',

resolveAbsolutePaths:true,

remark:{

autolinkClassName:'fas fa-hashtag',

externalLinksTarget:'_blank',

externalLinksRel:['nofollow','noopener','noreferrer'],

plugins:[

['gridsome-plugin-remark-shiki',{theme:'nord'}]

]

}

}

}

]

}

In that plugin, you configure some options like what the path will be and the component that will handle the type. I’m also using the Gridsome Transformer Remark plugin which is the Markdown transformer for Gridsome. Remark can include a number of options and plugins itself one of which is a syntax highlighter called shiki which is what formatted the code that is right above this.

Gridsome is awesome

This was just the start of what Gridsome can do. I have so many things to share so I hope you will sign up for my newsletter or follow me on Twitter and learn about all the cool things you can do in Gridsome and in Vue.

Should I move my existing website?

Now the real question and much harder than a simple yes or no. Should I move my existing website to Gridsome? I am really happy with this website and the workflow I have for adding new content to it.

Moving my close to 1000 blog posts is easier said than done. 1 question that comes into play is should I just get rid of all the posts that I don’t think hold much weight anymore? This could slim down the migration process substantially. These are some of the concerns I have to look into before making my decision.

Existing URLs must keep the same format /month/day/year/slug

I have lots of images and should probably move those to something like S3

I have photo galleries on posts, what to do with that.

I need to make sure existing code blocks work with this new syntax highlighter.

Should I use Disqus comments (free vs paid) or roll my own with Firebase?

I want to display tweets in a post.

When I share a post on social media there are some meta tags to customize the display.

SSL: I need to make sure the entire site runs on https.

Conclusion

I still have some things to think about but I would love to hear your thoughts on this. If you have migrated from WordPress to Gridsome I would really love to hear what that process was like for you. If you’re interested in hearing how I decided on Gridsome or how I created this site, stay tuned! In the meantime, you can check out the source for this site here.

It is hard to believe that another year has come and gone. After I spent some time last week reflecting on 2018 it’s time we look ahead to the new year and set some new goals.

If you read my last post you know that my free time to work on side projects and learn new things is minimal these days. With that in mind, my goals have to be smart and planned out this year. These are my goals for 2019 in no specific order.

Personal Goals

The best thing I did in 2018 was giving up soda. I was drinking too much Diet Coke in 2017 and I decided to completely give it up this. I am taking this into 2019 and absolutely no soda is for the entire year. At this point health is very important to me now and going forward so its going to be the majority of my personal goals.

No Diet Coke or soda of any kind

Exercise 3-5x a week.

Minimum of 12x per month

Run 10 miles a week when possible (I live in Cleveland)

Be a good person & be a great role model for my daughter.

Get back to journaling every morning.

Household Projects

There are a lot of projects around the house that need to get done but these are the projects that need my attention in 2019.

Baby proof the entire house

New carpet upstairs and downstairs

New bathtub in the main bathroom.

Update the garage, add storage and update gym.

Continue with updates to the office

Learning Goals

I say this every year but I am a serial learner. I LOVE to learn new things and then tell all of you about what I just learned. WIth that most of my goals this year revolve around investing in myself and continuing to learn.

Books

Last year I had a goal of 30 books to read and while I got out to a hot start it came to a complete stop once my daughter was born. This year I am going to dial back the goal to an easy 8 books. I already have 4 that I want to read to start the year off so I will start with those and move forward.

Podcasts

I absolutely love listening to podcasts on my way to work, at work, going home from work and If I can get back to the gym with a treadmill I will use it there as well. There is just something about being entertained and learning something new at the same time. With that these are some of my favorite podcasts but certainly not my entire list. If you have any suggestions for podcasts I would love to hear them below.

Things to Learn

As always my “stuff to learn” list is a mile long and instead of getting crazy ambitious here I am going to narrow it down to 3 things I want to learn in 2019.

VueJS

I already have a solid foundation in Vue but I will be doubling down on Vue in 2019. We are teaching Vue this year at work to our bootcamp students and I am running a local meetup group called VueCLE. This will involve diving deep into everything Vue related and becoming an expert at things I haven’t learned yet like Nuxt.js.

I don’t think I have ever been as excited about anything as a programmer as I am about where JavaScript is heading and a framework like Vue.

Live Video

My life’s work is centered around delivering content. Live video is becoming more and more popular and the tools available to make this easy to use and available to everyone is just getting better and better. I want to start creating some live streams on platforms like YouTube, Facebook & Twitch. There is some awesome software for helping you do this on the Mac called ecamm live.

SAMSUNG CSC

I need to learn how to use that software, the different platforms and define what my live sessions will look like and how often to go live. This is going to be a fun process so look for more of this in 2019.

The Cloud

I realize this last one is kind of vague but it needs to be. I don’t know a whole lot about DevOps or the cloud so I don’t know what I need to know. What I do know is that I like to build things and when I build things I need a way to get them out to the public for everyone to see. I am fascinated with all things AWS and just the amount of services they provide.

Proffessional Goals

At Tech Elevator we have some exciting things happening this year that I can’t talk about just yet so I am going to leave you in suspense but I hope to talk more about these as the year goes on.

Content Creation

My main focus at my day job and outside of work is content creation. Outside of work I really need to define what that looks like. I have a blog, YouTube Channel, Courses and I feel like I am all over the place with this. I’m not quite sure blogging makes much sense for me anymore except maybe to talk about a video I posted or a course I created. I just don’t know, I have a lot of questions here that I need to answer. When I figure out what this looks like I will share it with you.

Side Hustle

Last year I started a company called CodeMonkey LLC just so I could separate what I was making teaching online from my personal income. I haven’t done anything with this yet and I am not sure that I will. I did reach out the person who owns the dot com domain and he offered to sell it to me for 100k. So I guess you could say I got that going for me.

Conclusion

I just want to wish all of you a happy New Year! I wish all of you and your families continued health and happiness. 2019 looks to be an exciting year for me personally and professionally and I am looking forward to it.

It is that time again friends. Time to find out what goals I fell short of and which ones I made good on. This is my 2018 year in review and in a couple weeks I will posting my goals for 2019.

This year was life-changing as my wife and I welcomed our first child, Isabella Margaret Vega into the world. I never knew I could love anything as much as I love this little girl and she was completely changed my life, for the better.

I think I could pretty much end the post there. I knew having a child would be life-changing but I didn’t understand just how much life would change. I use to have so much time to work on a project or learning a new skill but that for the most part has gone out the window.

I also joined Tech Elevator this year and looking back on it that was certainly the right decision for me. I love the people that I work with, the mission that we have and seeing our students transform their lives in just 14 weeks.

I am going to revisit each of the goals I had last year and let you know whether I completed them or not. If you didn’t already guess I fell short on a lot of them but I am glad I did because some of them are no longer goals I want to pursue.

Personal Goals

For the most part, I met my personal goals. I didn’t drink a single ounce of soda in 2108 and I am pretty proud of that one. The only one I didn’t complete here was running 20 miles per week. That was probably pretty ambitious considereing I spend 3-4 days a week in the gym.

Exercise 3-5x per week

Run 20 miles per week (When the weather breaks here in Ohio)

No more soda

Morning routine

Meditate 5 – 10 minutes

Journal (Productivity and Focus) 5 min

Read for 30 min

Move for 5 minutes

Complete my home office

Complete the nursery (Baby on the way)

Spend more time with my family

Education Goals

These were a list of things that I wanted to learn more about. To be fair this list is very long but these are what I narrowed it down to in 2018 and looking back on it I made some bad choices here.

Building an iOS app

I am not sure why but I have always wanted to build a mobile application and more specifically one for iOS. I have done some coding challenges in Swift and I love the programming language. I haven’t however had a good idea for a practical application that I want to build. Until I do so I think this is going to sit on the shelf.

Cryptocurrency & Blockchain

In one of my best moves of 2018 I didn’t purchase any bitcoin which turned out to be a huge win. With that said I am still a big believer in the blockchain and want to learn more. Just like the iOS skill though I haven’t found a practical need to learn anything in this space so for now it’s probably going to be down on my list.

Alexa Skills

1 year later and I love the 2 Echo’s that we have in our house. I mainly use them to play music, books or podcasts in different rooms but there are also a few skills that I am using. This is another instance of me wanting to learn something just to learn something with no practical reason to learn it. This will go on the backlog but stay pretty hi.

Marketing

This is something I did spend some time learning at the beginning of the year. I learned a few things about ads, analytics and using different sales funnels. As my time to work on this sort of thing became less and less I started to focus on creating new content and not worrying about the marketing sides of things. I wouldn’t call this one a pass but I also wouldn’t say its a failure.

Augmented Reality

This is one of those technologies that I think is going to continue to get more interesting. I didn’t do anything this year in this this space and sadly this is going to go on the backburner.

Books

I set a pretty lofty goal of reading 30 books and I missed that by a lot. I will blame missing this goal on the baby but I probably could have found a way to read more than 5 books this year.

Course Development

My goal was to release 4 new courses this year and that didn’t happen. I did, however, release one new course, Getting Started with Spring Boot 2. This was a course I spent a lot of time working on and it ended up being a course with over 13 hours of content so you could say I created 4 courses and wrapped them up into 1. My main focus with my time is going to be spent creating new content but going into 2019 I need to have a better approach. Creating 1 course a year is not going to do much for me.

Video Production

One of my biggest goals for the year was to get better at video production. I am going to call this goal completed. Now, I am no rockstar but I got much better this year at using Adobe Premiere Pro & After Effects. Here is the trailer I created for my Spring Boot 2 course.

Podcasting

I love podcasts. They are one of the tools that I use to learn and advance my skill set. It is that love of learning that has always made me curious about creating a podcast. I don’t know what my podcast would be about except that it would be somewhere in the Software Development space. I had no time to pursue this goal this year but it’s going towards the top of the list for something I want to explore further in 2019.

Business Ventures

Last year I announced that I started a new company called CodeMonkey, LLC. This was mainly to organize what I was doing with content creation. I did have some ideas around this but the theme of this year continues and I didn’t get to any of them. I did reach to the person that owns Code Monkey dot com and he said he would sell me the domain for 100k so he could buy a Porsche. So there’s that.

Toys for Shots 2018

This was another successful year that took up a lot of my free time after September. We ended up having a little over 500 people attend the event and more importantly, we raised 20+ boxes of toys. This provided almost $15,000 worth of toys for children right here in Northeast Ohio. What we accompolish in 1 night is so amazing and I am so thankful for everyone involved.

Conclusion

From a goal setting standpoint this year was a pretty big failure. I think it’s more of a failure on my part on being a little bit smarter about the goals that I set. With that I can’t wait to share with you what my plans are for 2019. From a personal standpoint I could care less about failing on some of these goals because I have spent the bulk of my year raising the most amazing daughter ever.

I thought I would take some time and document what I do when I get a new machine. This is going to walk through some preferences I configure, applications I install and settings I use for different programs. I am always curious to see how other software developers are setting up their development machines so I figured it would be a good opportunity to share mine.

I am a Software Developer so most of my configuration will be around programming. My current MacBook configuration is as follows:

MacBook Pro (13-inch, 2017, Two Thunderbolt 3 ports)

Processor: 2.3 GHz Intel Core i5

Memory: 16 GB

Startup Disk: Macintosh HD

Graphics: Intel Iris Plus Graphics 640 1536 MB

Storage: 500 GB

When you power on your MacBook you are going to run through the setup. I usually configure anything I can here like Wi-fi & Apple ID. The rest of the instructions will assume you made it through the setup and are on the desktop.

If you don’t want to have to wait for disk encryption (error in macOS updates section) don’t select that during setup and perform that at a later time

macOS Updates

The first thing I do is run any updates that are available. In my case the laptop came preloaded with macOS Sierra and macOS Mojave has been released.

So my first step is going to be to update to macOS Mojave. You can download this and run this from the App Store.

Error: You may not install to this volume because it is currently being encrypted

If you get the error above than you chose the option of encrypting your hard drive during setup. Make sure you have the power plugged in and go to System Preferences > Security & Privacy > File Vault. From there you can see the progress of encryption and when its complete you can launch the macOS Mojave installer.

App Store

If you have signed in with your Apple Id you will be taken directly to the Apple Store. This is a good time to run any updates that are available.

You might run into issues here because the apple id that downloaded them is not you. In this case I just removed those apps I am not using (GarageBand,Numbers,Pages,iMovie…)

To remove applications I like installing AppCleaner. This will make sure that the application and any related files will be removed.

Another application I really love for this and so many other things is Clean My Mac

Garage Band

Unfortunately AppCleaner only works for 3rd party installed applications and wont remove GarageBand. You need to remove this manually and while there are a few more locations these are the main 3 you should remove. If you’re going to use apple sound affects in other programs please read up on this before deleting.

/Applications/GarageBand.app

/Library/Application Support/GarageBand/

/Library/Audio/Apple Loops/Apple/

Empty Trash

Getting Started

Anything I can install using HomeBrew I will. Before you install HomeBrew though you need to install the xcode command line utilities. Open up a new terminal and type the following command. Even if you plan on installing xcode I believe you still need to install these now as they moved them out of the standard installation.

1

xcode-select--install

The Command Line Tools Package is a small self-contained package available for download separately from Xcode and that allows you to do command line development in OS X. It consists of two components: OS X SDK and command-line tools such as Clang, which are installed in /usr/bin.

HomeBrew

As I said earlier I use HomeBrew to install anything that it can install. I recently found out about cask which makes my life so much easier. If you normally use brew to install something like google-chrome you know that you have to then drag it into the applications folder. If you you use cask it will not only download the package but also move it into the applications folder.

brew update – You shouldn’t have anything to update but its good to check.

brew search ‘term’ to search for brews

Terminal / Bash / iTerm

Now that we have HomeBrew installed it’s time to start installing some software. The default version of bash is v3.2 and I want to go ahead and upgrade this to 4.x. There is a really good guide here that you can follow to upgrade bash.

bash -v (bash-3.2)

brew install bash

if you close terminal or open a new tab it will show 4.4 but this still isn’t the default version.

which bash will show you what bash you’re using.

Now that we have bash updated we need to make that our default shell. To do so you need to edit /etc/shells

1

2

3

4

5

6

sudo vi/etc/shells

add the path/usr/local/bin/bash

comment out the others

Change tothe newshell

chsh-s/usr/local/bin/bash

Bash Profile

Now that we have bash updated I need to customize my shell. Look in your home directory and see if you have a .bash_profile and if you don’t you can create one using the following command.

1

touch.bash_profile

This is where you can add all kinds of customization’s to bash. I have included my .bash_profile in this repository if you want to check it out. As always if you have questions about what’s in there please let me know.

iTerm2

For the longest time I used the terminal and even had a couple of people call me out on it :joy:

I am now using iTerm2 full time and I absolutely love it. If you want to find out about some of the features & configurations it gives you please check out their website.

1

brew cask install iterm2

One thing I like to do is customize the colors and a great resource for that is https://iterm2colorschemes.com/

This is a list of my favorite color schemes.

Dracula

FirefoxDev

Github

Grape

Grass

Hipster Green

Homebrew

Man Page

Material

MaterialDark

Novel

OceanicMaterial

Development Setup

Now that I have a nice looking command line full of features its time to start installing all of the different applications I will use. If you have any questions about any of these or why I install them please see the contact me section below.

brew install git

brew cask install google-chrome

brew cask install google-chrome-canary

brew cask install firefox

brew cask install firefox-developer-edition

brew cask install visual-studio-code

brew cask install visual-studio-code-insiders

brew cask install intellij-idea

brew cask install eclipse-java

brew cask install postman

brew cask install docker

brew cask install spectacle

brew install tree

https://github.com/sindresorhus/quick-look-plugins

Visual Studio Code

If you aren’t using Visual Studio Code, what the heck are you waiting for? All jokes aside I am sure you have probably heard of code by now and here is a few ways that I customize it.

Extensions

I used to hate having to install Visual Studio Code on a new machine. The reason for that is I have grown to love the editor so much that I have an extension for everything. I use to install them one by one and when you have to do that 35 times it gets really old.

If you want to get a list of extensions currently installed on your machine you can use the following command.

1

code--list-extensions

The nice thing about that is you can install visual studio code extensions using the command line.

1

code--install-extension${extension-name}

You can pipe the results of your list into a file or if you wish you can grab mine from this repository. Once you have that file you can run the following to install all of your extensions. if you’re interested in what extensions I am using I have included my list of extensions.

1

cat extensions.txt|xargs-L1 code--install-extension

After I did this and tweeted about it a lot of people let me know about another extension called sync settings. This will sync all of your visual studio extensions, settings, key bindings, etc across machines.

Fonts

User Settings

I have included my user settings in case you want to see what I use. I don’t have much here but will try and update these soon.

Node & NPM

If you’re going to install Node I think the best way to do so is by using Node Version Manager (NVM). This to me has a few advantages over installing it from brew or even directly downloading it from their website.

You can install multiple versions of Node

You can set a default version

You can switch between these versions easily

Installs in your home directory

You don’t need special privileges

No more sudo when installing packages globally

Once you have NVM you can install the latest stable realease (v10.12.0 at the time of this writing) using the following command.

1

nvm install stable

Global Packages to Install

1

2

3

4

5

6

7

8

npm install-gtldr

npm install-gtypescript

npm install-g@vue/cli

npm install-gvuepress

npm install-g@angular/cli

npm install-geslint

npm install-ggitbook-cli

npm install-glodash

Git Config

There is usually a default install of git but we used brew to install the latest earlier. Now that we are on the latest version of git we need to do a little configuration.

Our students also use DBVisualizer so I like to have that installed as well.

1

brew cask install dbvisualizer

MongoDB

MySQL

To get started with MySQL run the following command:

1

brew install mysql

To have MySQL automatically run when you computer starts:

1

brew services start mysql

OR you can start / stop it manually

1

mysql.server start

To be consistent with our PostgreSQL we can create a few aliases.

1

2

3

4

alias start_mysql="mysql.server start"

alias stop_mysql="mysql.server stop"

alias mysqlup="start_mysql"

alias mysqldown="stop_mysql"

SDKMan

This is one of my favorite version managers because I use a lot of the Software Development Kits (SDKs) it manages. If you haven’t heard of SDKMan check them out here. This is a list of SDKs I manage using SDKMan.

Java

Groovy

Grails

Gradle

Maven

Micronaut

Spring Boot

Kotlin

Here is a full list of SDKs https://sdkman.io/sdks

Installation: curl -s “https://get.sdkman.io” | bash

If you just type sdk install candidate it will install the latest stable version or you can install a specific version

1

sdk install java8.0.191-oracle

If you need to get a list of versions you can ask for it:

1

sdk list java

Browser Configuration

Turn on sync and sign into chrome, this brings all of my bookmarks and extensions. If you have any questions about any of these or why I install them please see the contact me section below.

System Preferences

Dock:
System Preferences > Dock
Change the size to small and turn on magnification
I also remove all icons from the dock that i don’t use

Avatar:
System Preferences > Users & Groups > Edit Avatar

Theme:
macOS Mojave introduced light & dark themes. I still stick with the light theme even though I use dark themes in almost every editor or program that I use. If you want to change this later simply go to System Preferences > General > Appearance

Finder

I like to customize Finder so I can get to all of my most used places quickly.

Locations

Add Macintosh HD to locations so I can always get to the root hard drive

Home /Users/vega

screenshots (configure screenshot utility to save here)

open screenshot > options > other location

A few tips in finder

cmd+shift+h (takes you home)

cmd . (show hidden files and folders)

Work Setup

These are a list of applications and configuration I need for work. You may not need some of these tools but I thought I would share them here anyways.

Last Pass
Slack
Twitter (App Store)
Screenflow

Adobe Creative Suite

I am huge fan of Adobe and all of their products!

Photoshop CC

Illustrator CC

Premiere Pro CC

After Effects CC

Premiere Rush CC

XD

Windows 10

At work I need to dual boot with macOS and Windows 10. We have a .NET track where the students use Windows (Visual Studio, SQL Server, etc…) and I need to be able to support them. The great thing about this is Apple has made this stupid simple using BootCamp Assistant. If you want to read more about this check out the document below.

Conclusion

I had a lot of fun putting this together and I hope you picked up a new trick or 2. Whenever I find something new or a way to improve the installation process I will update the link below if you would like to follow along. Please let me know if I missed something that I should look into or if you have any tips and tricks.

I am so excited to announce that my new course is live! This course was a long time in the making and I am just so thrilled that I get to share it with all of you because I believe it is my best one yet!

What’s Included in the course?

The biggest feedback I received from you was that you wanted a more project focused course instead of some I’m examples. In this course, we are going to build a real application together from start to finish. We are going to use the latest technologies to build out our application including:

Spring Framework 5

Spring Boot 2

Spring Data JPA

Spring Security

So Much More

This course is packed with over 10 hours of content and I really hope you enjoy it. I created a short trailer to give you a better idea of what to expect.

The Road to this course launch

If you had a chance to read my content announcements in September I gave you a pretty good update as to what has been going on in my life. Trying to find dedicated time to work on this course is probably the biggest reason for the delay of this course. I also wanted to make sure that it wasn’t rushed and that I was able to produce the course that you asked for.

I can also tell you that I learned some valuable lesson producing this course. I am in the process of trying to gather my thoughts and put something out there that might help other developers who want to create their own courses. I might not be the best course creator on the planet but I have definitely learned a few things and can hopefully show you what not to do.

Video Editing

Launching a new course can be extremely gratifying and very stressful at the same time. I don’t have this feeling when I write a new blog post or launch a new video on YouTube and it’s probably due to the exchange of money. Even under $10 for 10 hours of content, I still feel a sense of Imposter Syndrome. Who am I to ask for money in exchange for knowledge? What if everyone hates my course? What if they don’t learn anything? These are all very real feelings that I continue to battle. Thank you to all of you who continue to support my efforts, I appreciate you more than you will ever know.

Conclusion

I am really happy to finally get this course into your hands. This is not a final product and I will be working on a few things to improve this course over the next month. If you have feedback (good or bad) please let me hear it so I can make this the best Spring Boot 2 course around.

This is going to be just a quick recap of the inaugural Cleveland Women in Tech Conference. I think I will have a little bit of a unique perspective to share on this as I am a presenter at this conference and one of a handful of men in attendance.

Opening Keynote

The conference was held at Corporate College in Warrensville Heights and last I heard there were about 230+ attendees. The conference in Columbus doubled in year 2 and I really hope we see the same in Cleveland next year.

Conference Keynote

The title of the keynote was “Making HERstory stick” and I thought it was an amazing panel discussion with some CIOs from the Cleveland area, each who had some unique perspectives on each of the questions.

Various industry leading trailblazers from prominent organizations all speak about their journey to leadership and their views on developing and nurturing a welcoming supportive culture of diversity. Discussion will include how innovation in technology changed their organization, delivery to the business and improved results.

Making HERstory stick

The panel was made up of:

Sandy Rapp – VP & CIO, The Timken Company

Tracey Petkovic – CIO, Westfield Insurance

Jane Alexander – CIO, The Cleveland Museum of Art

Lisa Ward – VP R&D and Strategy, STERIS Corporation

CIO Panel

I wish I would have had my laptop in front of me to take some notes but I didn’t. There were some really great questions asked and some excellent responses.

One thing that really stood out to me that everyone in tech has an obligation to take the businesses requirements and then return to them a solution. You shouldn’t be taking solution requests from the business and I agree with this 1000%.

Sessions I attended

I’ll be honest and say it was pretty tough being one of only a few guys sitting in on each of these sessions today. It’s that perspective that gave me a greater appreciation for the women who make it out to these conferences who are mostly filled with men. Not that I didn’t already appreciate you but I think I will make a greater effort next time I see someone in that position to make them feel more welcome.

The Blockchain Disruption – Lisa Turner

This was a good introduction to Blockchain and cryptocurrency. This is another one of those technologies on my list that I am interested in but at the same time not sure why I am interested in it. I get that the idea of decentralized networks are important for privacy.

What I don’t get is where all of this currency actually comes from. I mean I understand the role of miners but It still makes not sense to me how we can just invent currency. As much as we hate the big bad banks I at least know that my money is backed by the federal reserve.

I did find a stand at the conference for an upcoming conference in Cleveland put on by Blockland. I don’t know if I can make it to this but this seems like a really good conference that I would love to attend.

Joanna is a front-end developer for Vitamix and started the presentation off detailing what Imposter Syndrome is. She started out describing how this affects junior developers and in particular females.

While both of these are true I want to point out that 20 years into my career I still feel like an imposter at times. I didn’t go to some fancy school and I haven’t worked for any of the big tech companies that only hire the best of the best. I often get the feeling of who am I and why should anyone listen to me. You just need to keep reassuring yourself that you know what you’re doing and to move forward.

She went into a conversation about how mentoring other developers really helped her combat Imposter Syndrome. When you start to see that other developers face the same problems as you do it really helps take down a wall. I thought Joanna did a great job and couldn’t believe that it was her first conference talk. You certainly couldn’t tell!

My Presentation

My presentation was titled “The rest of your life starts today. A guide to continued learning and personal growth.” and I had the session right after lunch. Now, being a conference attendee pro, I know the sessions right after lunch are tough to stay awake in so I was going to need to be on my game today.

While I was setting up my presentation the room started to fill up quickly. It filled up so much that everyone started lining the walls and sitting on the floor. Luckily the event staff was on it and wheeled in a ton of chairs. Thanks to everyone for making a guy feel special.

I thought my presentation went really well. I practiced enough to where I knew what I was going to talk about in each slide without it feeling rehearsed. I had some great pictures of my daughter in there so even if it wasn’t going well I could always fall back on the cute baby.

I thought it was a good pace and my hope is that everyone learned something new yesterday. Thanks again to everyone who attended the presentation, asked questions and laughed at my jokes. If you want to grab the slide deck or the resources I discussed you can get them here.

Tech Elevator

A special thanks to my Tech Elevator family for not only helping me with the presentation but also supporting it. They were all there bright and early to volunteer for the conference. You ladies rock!

Finding Mentors

I got an interesting question after the presentation. The question is where did my mentors come from and where can we find our mentors at. I feel like I did an ok job answering this in person but there is so much more I want to say on the subject.

Mentor

I am going to try and put together a whole post on this but here is the short answer. The best place to find mentors are in the places where your types of people are. If you’re a junior developer and work for a bigger company with lots of developers, this is a great place to start. If you work for a smaller company try to attend local meetup groups where like minded developers might be.

Another great approach to this is to get involved in an online community. If you are really into the VueJS framework for instance, be where other VueJS developers are. Try getting involved in discussions in the places where they hang out, comment on blog articles and if you can try and contribute back to the community. I have made some amazing friends and developers I look up to just by being involved in a community and attending meetups & conferences.

Conclusion

I had such an amazing time at this conference. Weather I’m asked back next year or not my hope is that this conference really grows. I think it’s a great place for women in tech to have their voices heard and inspire the next generation of movers and shakers. Round of applause Cleveland, you did really well yesterday 🙂

When I first started my new position at Tech Elevator I was approached about speaking at this conference. I jumped all over this opportunity to represent us at this inaugural conference.

When we started working on an idea for the presentation I wasn’t really sure what we were going to do. A coworker suggested that I talk about something I am passionate about, learning. I thought it was a great idea and ran with it.

Presentation Details

The title of my presentation is “The rest of your life starts today. A guide to continued learning and personal growth.”

This is the first time I have ever given a presentation on something that wasn’t code related. I mean I found a way to work in some code related slides but that isn’t the theme of the presentation.

This presentation is about something I love, learning new skills. It also comes at a great time in my life. I have a newborn at home so time comes at a premium these days. In this presentation I share some of my best tips on how to learn a new skill. After 20 years of “loving to learn” I believe that I have a lot to share around this subject.

Slide Deck

I had a lot of fun putting this slide deck together. While it isn’t perfect and there are some slides I wish weren’t as boring I think for the most part I am happy. They are fun slides and my hope is they will keep the audience engaged. Did I mention there were 52 of them?

Conclusion

I really wanted to thank the conference organizers for allowing me to speak. I also want to thank everyone who came out to my presentation. I know my coworkers will be in full force so I also want to thank them for supporting me. If you’re interested in having me give this presentation at your next conference or meetup, contact me.

I don’t feel like I have had a chance to really sit down and talk with all of you. I want to spend some time with you today and let you know where I have been and tell you about some exciting news I have.

What have you been up to Dan

My Daughter was Born!

I want to apologize for my absence over the past few months. Someone really should have warned me that I wouldn’t get anything done with a newborn. Who knew that a baby would be so much work (and fun at the same time). My wife and I are beyond grateful to have Isabella in our lives but the fact of that matter is she has taken up all of our time. She is growing right before our eyes and is even helping Dad with his content creation.

Bella helping Dad with his new course

Tech Elevator

If you haven’t heard I have also taken a new position with Tech Elevator. I can’t tell you how excited I am to get started. I still remember working full time and going to school at night to learn computer science. I remember sitting in these classes completely lost at times. I also remember looking up to these instructors and just admiring how they could know so much. Now I am in that position of helping the next generation of programmers. Life has a funny way of paying you back and rewarding your hard work. It seriously is a dream come true for me.

Get to the point Dan

What I am getting to is that I realize I can no longer spend all of my nights and weekends producing content like I used to. This is also something I don’t want to give up because I love helping students learn a new subject. What this does mean is that I need to be much smarter about the content I am producing and maximize the time that I do have.

Blog/YouTube
I want to get back to frequently posting on my Blog & YouTube but I am still trying to figure out what that looks like. I feel like for tutorials my time is better spent on videos for YouTube. In the past, I have been way too consumed with finding the perfect shot versus focusing on the content. I am going to keep trying to get over that and try to remember that people are viewing my videos for the tutorial, not the set design or video production.

I would be interested in hearing your thoughts on this though. My thought is to release a tutorial on YouTube first and then follow it up with a Blog post that includes the video.

Courses
What feels like a lifetime ago I announced that I was working on a Spring Boot 2 course. I mentioned earlier what has been taking up my time but the other hold up on this course was the massive size of the course I wanted to build. With limited time on my hands, I realize that producing these large 15-hour courses are probably not realistic.

I have made some good progress on this course and I have a really cool announcement about it but first I want to address the real problem. When I set out to teach someone a subject I want to teach them everything. This is great in certain cases but not every single course I make needs to cover this much content. I need to get away from my fear that If I am going to teach a subject I need to throw everything including the kitchen sink at you. What I have found is that students do want to learn everything but maybe not all at once as it can be overwhelming.

http://courses.therealdanvega.com

With that, I am slimming down my Getting Started with Spring Boot 2 course and adding some very targeted follow-up courses. For instance, I wanted to teach you how to take the application we build in the course into production but I was only going to show you AWS. It makes much more sense to create a targeted course that shows you how to get your application into production on a variety of platforms.

Smaller, targeted courses are my plan going forward and I have something really exciting in the works, but more on that in a couple of months.

UdemyIf you have taken one of my courses on Udemy you might have noticed that I haven’t been answering questions lately. Not to worry I would never leave you without help. I hired a teacher’s assistant a few months ago and I am so happy and grateful for his help. Thai knows his stuff and he has been very helpful answering students questions. If he answers one of your questions please let him know what a wonderful job he is doing. This was another case of delegating some work so that I can get that time back to focus on content creation.

Schedule
I still haven’t figured out a schedule but that is what I will be working on over the next couple of months.

Producing consistent YouTube & Blog Content

Completing Getting Started with Spring Boot 2 Course

Spring into Production Course

A new platform (teaser)

Getting Started with Spring Boot 2

Now that we got all of the housekeeping out of the way I want to talk about my new course, Getting Started with Spring Boot 2. I am happy to announce that I am pre-releasing my new course today!

As of today, I have 4 modules complete (23 lessons) with another 5-6 in the works. So what is the incentive for you to order the course now?

You are going to be the first to get your hands on this course.

Get weekly course updates.

Help provide feedback and shape the final course.

If you’re interested in getting early access to the course or just want to find out more please head over to the course landing page. I don’t have a schedule of when this course is going to be complete and available on other platforms so if you want to get your hands on it, this is your chance.

Introduction to Spring Boot

Now that we are focused on the Spring Boot 2 course I won’t be making any updates to my Introduction to Spring Boot course. This is still a very relevant course and with close to 12 hours of content, it is packed with everything you need to get up and running with Spring Boot.

I have created a coupon so that everyone can get their hands on this course for only $9.99 but hurry up, I only created 99,999 of them 🙂

Conclusion

I really appreciate the support of everyone who visits my blog, watches a YouTube video or purchases one of my courses. Your feedback and support keep me going and I love that I helping people around the world.

I am happy to announce that I am joining Tech Elevator. I am beyond excited to join this amazing company and I can’t wait to tell you a little bit more about them and what they do.

What I am leaving behind

Before we get to the good news and what I have to look forward to, I want to spend a few minutes talking about what I am leaving behind. For the past 6 1/2 years, I have spent my days working for Markel. This is an amazing company that has done some amazing things, and I just want to thank them for the opportunities they gave me.

I was brought into Markel by my good friend Jason Delmore and I can’t thank him enough for everything he has done for me over the years. I had a chance to work with some really great people and work on some really fun projects.

This was a really hard decision for me because I really enjoyed the people I worked with and my commute to work was a short one (I work from home). I gave up some things in this move to do something I am really passionate about. Stepping outside of your comfort zone is never easy, but this is usually where the biggest rewards in life come from.

Hello, Tech Elevator!

Tech Elevator is a Coding Bootcamp that started right here in Cleveland, Ohio and now has 4 locations. In just 14 weeks they can teach you the skills that you will need to land a job as a software developer. What’s great about Tech Elevator is they have a 92% graduation rate and an 89% placement rate. That placement rate is the top in the country, how awesome is that!

Josh teaching students at our Cleveland Campus

What is a Coding Bootcamp?

Traditionally, if you wanted to learn a specific skill you had to go to college to get it. You could attend a 4-year university or a more targeted trade school that typically takes 2 years. Even in a 2-year program, you’re typically taking other classes that don’t really have anything to do with the skill you’re trying to learn.

This is where a coding boot camp or specialized trade school comes in. In a coding boot camp, you will spend a shorter amount of time in school but you’re going to learn about software development the whole time. This allows the boot camp to focus in on the skills you need to land a job. The need for these boot camps is due to the overwhelming amount of available software development positions across the country.

Why Tech Elevator

Tech Elevator limits the class sizes so that instructors have time to focus on each student and it’s one of the things that I really admire about them. They don’t just spend 14 weeks in a textbook, they teach you concepts and give you practical examples to work on.

The last 2 weeks is used splitting students up into teams, teaching them agile principles and having them go off and build a real-world project together. I was able to see some of the student’s projects and for only having 2 weeks to complete and having just learned to program, I was really impressed!

They also have a pathway program that helps students with interview prep and the placement of graduates. I think this is as important as the computer skills they are learning. When I graduated I was sent out on my own with no help at all and just expected to find my own way. They take a real interest in student placement and it shows by being #1 in the country.

Check us out

If this sounds like something you’re interested in, we have 4 locations in the following cities.

What is my Role?

Now that you know a little bit about coding boot camps and Tech Elevator, I want to share with you what I will be doing. I am coming in as a Product Developer and my main product is our curriculum which has 2 tracks and is taught at all 4 of our locations.

It is my responsibility to take a look at the curriculum and make sure that the students are learning the skills that they will need and that employers are looking for. This will be done by taking feedback from instructors, listening to students and staying up to date in a fast-paced industry. We only get 14 weeks with these students and we need to make sure that every single day is an important one.

I will also be working on supplemental material for the students to help in making their day to day learning experience an even better one. We also have corporate training classes and we will be developing new classes for a variety of topics.

A peak into the current landscape of Java Development in 2018

In this tutorial, we are going to look at what you should be learning in Java Development in 2018.

When you’re trying to keep up to date or learn a new language it can often be confusing on what you should be learning in that space. New projects pop up and often go away and its hard to tell what’s still relevant. In this article, we will try and make sense of what you should be learning today as a Java Developer.

Post navigation

Get the inside scoop!

Success! Now check your email to confirm your subscription.

There was an error submitting your subscription. Please try again.

Email Address

About Me

Hi, I’m Dan Vega. I am a Software Engineer living just outside of one of my favorite places in the world, Cleveland, Ohio. I am a self-taught programmer who firmly believes that you can accomplish anything in this life if you put your mind to it, roll up your sleeves and are willing to put in the work.

I have been writing software for over 18+ years now and I use my knowledge, passion, and influence to help other developers achieve their goals. I teach online and currently, have over 30,000 students.

When I am not writing software, I have a number of things that really keep me busy. I love to read books, listen to podcasts and watch online courses. I have a real thirst for knowledge and it consumes me every single day of the week. I also love to run & lift heavy weights which keep me balanced throughout the week.

About Me

Hi, I’m Dan Vega. I am a Software Engineer living just outside of one of my favorite places in the world, Cleveland Ohio. I am a self-taught programmer who firmly believes that you can accomplish anything in this life if you put your mind to it, roll up your sleeves and are willing to put in the work.