Hi! If you’re reading this, you’re pretty far down the rabbit hole. I’m looking to pivot into Software Engineering, starting with Full Stack Development. I’ve refreshed this blog thanks to this excellent guide, for tracking my progress and keeping myself motivated, as well as practical considerations to practice. Plus, it’s just another project for my portfolio. Already brushed up on my git and markdown.
My overarching goal is to pivot directions into Full Stack Development (as stated). However, to do so I need to develop a necessary set of skills. This is where things get kind of chaotic. There are three general routes into software engineering (SWE): university, self-taught (DIY), and bootcamps. Obviously, embarking down the DIY route, I need a plan/schedule of what to study and in what order. However, this is curiously…chaotic. What’s interesting to me is looking through the 2019 Stack Exchange Developer Survey Results:
- 79% of professional developers have a Bachelor’s Degree or higher
- 63.3% of professional developers who studied at the university level majored in CS. Unfortunately there’s no figure for just the 79% who finished an undergrad degree or higher, but a simple assumption that 63.3% of the 79% would suggest that around 50% of professional developers have an undergrad degree.
- Where things get trickier is determining how many developers got a job through a bootcamp. Just from the survey though, it indicates that 15.4% went through a full time bootcamp. Now, it’s not completely unheard of for CS majors to go through a bootcamp anyways, so there’s going to be some overlap here with the 15.4% bootcampers and the 50% CS degree holders.
So what’s the breakdown? At a very simple level, it’s basically 50% of developers went the university track, 15% went the bootcamp track, leaving roughtly 35% to go the DIY track (I know, oversimplifying terribly). The point is that with such a significant number, it’s a little surprising that there aren’t clearer plans available for free. But I suppose the bootcamps are clear, because they make money, so they can spend money publicizing. So how’s a single developer going to compete? Especially when they could just MONETIZE?
Where I Stand
I’m at a weird point, where I’ve done a lot of coding and programming throughout my life, just not with a goal of a career for software engineering.
In fact, it’s one of the things I swore I’d never do in college. In the past two years especially I’ve done a lot of work specifically with developing skills for practical programming. A large part of my job involves working with Excel files for tracking work on various audits. These are essentially large flat files, and are more cumbersome to update than if they were stored as relational tables. Adding a submission date involves traversing the table both vertically and horizontally, rather than say appending submissions to a separate table and querying. As a result, I turned to VBA to write scripts to automate a lot of these otherwise time intensive tasks.
I also spent a lot of time learning Python, going through Python Crash Course by Eric Matthes. One part of it was that I needed to do tasks outside of a given program. For example, a regular data intake task required downloading an extract from a third-party vendor, however the extract was missing fields that I could access by scraping the HTML. For another part, I was trying to get into working with APIs and having a load of trouble with R. The final part was that I wanted to round out my skills by extending from R into Python.
Where Do I Go
The other big thing I need to work on is the theory: algorithms and data structures. These are things where I’m probably lacking the most. For these, I think I can stick to charting through online CS courses. However, I do expect I’ll need to work through a few books and I expect will probably be the most time consuming part of all this.
I’ll try to maintain this blog as I go. I’m also of course working, and I still have ideas for things I want to explore and projects I want to build as I go along, and more ideas to come.