24 karma · joined April 9, 2016
One followup question, since the browser is cloud-based, have you experienced significant latency viewing your photos? For example, when I use the Dropbox webapp it takes a couple to load thumbnail previews for a folder of 200ish photos while Finder on my Mac does it basically instantaneously.
Regarding teaching yourself programming, that's always a good idea. There are enough people who get programming jobs out of college with unrelated degrees so it's definitely not just outliers, but still not close to the norm either. I just wasn't sure what you meant by basic knowledge, but from what you describe you could easily teach yourself, though I would expect it to take some time.
If you can wait anywhere from 1-6 months and are willing to study programming like it's your job for that time I'd wager you could learn enough to get a job as a programmer. In 1 month you can target the skills toward a particular type of position (ex. Ruby on Rails, Node.js, iOS, Android, etc.) and given longer time you could study more core computer science concepts (system design, security, more advanced algorithm analysis, etc.)
If time is in short supply, then you should try to look into companies where software QA/testing can be a transition to a programmer. In this case you could work in QA for 6 months while building stronger coding skills and then transition pretty smoothly.
However, given that programming interviews are so variable and usually stick to fundamental data structures or puzzles, there's a good chance you could find a programming job with your background. In that case, go for it, the pay will be better for sure. Expect to work quite hard the first year as you catch up.
TL;DR anything is possible, don't let my limited experience steer you too much
I was interested in this too at one point in time and spent some time perusing the links in the above post, but after taking the database class at my university I realized it wasn't for me. :P
Best of luck!
- Depending on what you mean by "basic programming and CS skills", it may be hard to find a programming job other than an internship. Unless you are in an environment that makes heavy use of math-based languages like MATLAB, R, or Mathematica where you can rely on your math background, most employers will want to see more experience before hiring you as a programmer.
- Software Q/A testing or IT support may be your best bet given your prior experience in IT support and some familiarity with programming. Software Q/A testing can actually be quite interesting and will definitely pay around (or more) than what you're looking for. I would try to look with smaller tech companies that do niche enterprise software, they're quite flexible and open. The best thing about software QA/testing is that you have a very predictable work schedule and won't have to take work home or be called in at odd hours.
- Business analyst is also a good option, but again you may have to settle for smaller or lower-tier companies in the short term as GPA is of unexpectedly large importance for that position.
From what I've gathered a support engineer is a combination between a QA engineer and an applications engineer, both of which are considered to be way less technical than a SWE. You likely wouldn't be responsible for new feature development at all as a support engineer.
In general they're not on the same ladder, so it's not a natural transition from support to software engineer. Like you mentioned, you'll have to settle for quite a bit of a pay difference, which will still exist if you transition within the same company. However, if it's absolutely your only way of getting your foot in the door at this company and you're set on working there, it may be something to consider.
Back when computers were large electrical behemoths they took a ton of hardware/electrical skills to program and use. Then, when higher-level programming started becoming popular (languages like B and C, etc.) universities started offering classes in programming out of the EE departments since there weren't enough programming classes to create a new department for CS.
On the other hand, there were many mathematicians from the late 1800s through the 1950s who were developing mathematical algorithms before "computers" were widely used. Many of these algorithms are now widely used by computer scientists and programmers to solve incredibly complex problems.
Currently there are two main "flavors" of CS. Some universities like UC Berkeley and MIT maintain joint EE and CS departments while others like Stanford and Harvard have CS departments that are more closely related to math.
TL; DR: it comes from the history of how CS developed out of EE (computing machines) and math (algorithms).
One good thing is that the mutual fund has automatic diversification within a particular industry and if you buy shares in multiple funds you get diversification across multiple industries. Another good thing is that the shares of mutual funds are often $100-200 each while the shares of individual companies (ex. google) can be $700 just for one. Using a "high-tech sector" mutual fund allows me to benefit from the growth of multiple companies (goole, apple, intel, facebook, microsoft, intel, etc.) while not having to own separate shares of each of them.