Welcome to City-Data.com Forum!
U.S. CitiesCity-Data Forum Index
Go Back   City-Data Forum > General Forums > Work and Employment
 [Register]
Please register to participate in our discussions with 2 million other members - it's free and quick! Some forums can only be seen by registered members. After you create your account, you'll be able to customize options and access all our 15,000 new posts/day with fewer ads.
View detailed profile (Advanced) or search
site with Google Custom Search

Search Forums  (Advanced)
Reply Start New Thread
 
Old 11-02-2015, 09:45 PM
 
1,115 posts, read 2,498,582 times
Reputation: 2135

Advertisements

Since I was a little kid I've REALLY wanted to learn computer programming with my main interest being applications development. For various reasons, I had a bunch of false starts trying to self teach myself growing up and never could seem to get over the "hump". I did plan to go to a out of state college to get a B.S. in CS, but my family was against it because they didn't like the cost or distance of the college I liked, and they were really dead set on me attending our local college to pursue a medical or business field. I listened and I regret it till this day.

So I went to a local college, bounced around medical and business majors (my college didn't have a CS degree program, just a sloppy IT program), and eventually dropped out to pursue some of my musical interests. I went to an audio production technical school and it was pretty awesome. I went on to do Sound Design in various capacities for a little over 4 years, but the audio career was very unstable and for many reasons I got burnt out on it and couldn't keep up with the emotional and financial rollercoaster ride it was taking me on.

I researched going back to school for a Bachelor's degree in a more stable field. Pursuing a CS degree was the first thing that came to mind, but I had a big worry about the time and cost it would require at this point to pursue this specialized skill I had no background in. I was low on money and couldn't exactly relocate at my whim at this point either. I was having issues finding a decent program in my area that wouldn't set me back tens of thousands of dollars and another 4 years! I also developed a fear that I might not be cut out for it since I already put it off this long. After months of research, I ultimately made the bad choice to pursue an online B.S. in Accounting degree. I picked the field because I knew I could fly through the course materials quickly and I was able to find an online school that was very VERY cost effective. (FWIW, the school is a very reputable non profit and has been great.) At this point I just wanted some job security! I recently obtained my degree (took 1.5 years of part time work) and also had been fortunate enough to gain 9 months of internship experience, but I don't feel good at all about my choice. I dislike the work, feel the industry doesn't suit me at all, and I'm even having a TERRIBLY difficult time finding a relevant job, even the most entry level ones that only pay 30k a year!

I've been looking at my next steps, and came to a firm decision recently to finally pursue my nearly life long to pursue computer programming and stop letting my fears of "not being good enough to learn it" stop me from pursuing something I'm genuinely interested in doing for a living! I still have some concerns about time and money, which is why I'm coming here to ask for advice!

So here is how things currently stand. I'm currently 28. After almost an entire lifetime of putting off learning programming, I have decided I really want to do this, but I want to do it in a smart and efficient way. One that also won't break the bank or take a ridiculous amount of time. I'm hoping that within 2 years I learn enough to secure a junior level web developer or software engineer position and build from there. I want to start with web development as I would love to build web applications, but I would eventually like to dig deeper and learn software development, perhaps with C and C++, maybe eventually settling into a niche with audio programming. I'm looking for the best advice on what paths I should follow and what I should be doing to make sure the effort I'm wiling to put into this provides the return I'm seeking. Currently I'm thinking of something like this:

- Self teach for 3 months with web development languages to get my feet wet. I planned on going over HTML, CSS, Ruby, and Javascript.
- Explore learning Python, C#, and Java, and learn some CS theory and fundamentals.
- Start researching BS or MS programs in CS as I think having a degree will definitely help.
- Get some entry level knowledge of C and C++
- building a portfolio of projects and code examples.
- Find a junior level position.

Here's some more specific questions I have:

1. What are some of the best self teach resources out there? Any websites, books, learning plans that you can recommend?
2. Are those web development bootcamps worth looking into?
3. What should I look for if I go for my B.S. or M.S. in CS? Will it matter much if it's an online program vs B&M program?
4. What are the coding languages I should definitely know?
5. What type of work should I focus on showcasing in a portfolio, or what volunteer work should I get involved with?
6. What will be the best ways to find my first real job in the field?
7. Any good social communities that I should follow?

Thanks in advance everyone!
Reply With Quote Quick reply to this message

 
Old 11-04-2015, 05:38 AM
Status: "Do not pass GO, do not collect $300 (used to be $200)" (set 9 days ago)
 
Location: TN
600 posts, read 274,235 times
Reputation: 385
Well, I'm just now starting to get attention due 3 things: 1. my interesting degrees, 2. successfully completing some programming challenges, and 3. the fact that I've stuck with it for a year. During the interview (outcome still pending), I learned that I was competing with a bunch of reasonably qualified C.S. grads on one hand - but on the other hand, I was a top performer for the programming challenges.

Definitely try to pay attention to macro factors that affect employment chances. I think web dev isn't dead yet. Pay attention to cloud migrations and Internet of Things too. This is also important if you want to spearhead your own project - it always helps to know what people are willing to shell out money for (but realizing it can always change).

My path's a little unique, since I've been in school long enough to school myself, and long enough to not want to be in school anymore. Ultimately, the entrepreneurial route makes sense for me, but it makes sense for me to be employed first to ensure my knowledge (and importantly vocabulary) is in some way standardized.

Oh yes, people sometimes suggest contributing to projects online; it definitely sounds like a good way to get some visibility, collaboration experience, etc. I found it tough to find a good fit - projects might not match your skills or interests. But things change; a neural network project was above my head a couple months ago, but now I can peruse it without much hassle.

And - just me - I would hesitate about mentioning a life-long interest in programming, because the next question is "why didn't you do anything about it?" Resources have been available online for a long time, so unless you have a good answer to the question, I'd consider keeping mum. It's probably better to give the impression of setting out to do something & doing it. Well, I guess you could mention that the interest goes back a few years. In any event, developing a track record of actually learning+doing will be more important.

Definitely definitely put efficiency tools on your itinerary. Understanding nuts and bolts is nice, but be comfortable with libraries & frameworks which do that for you, so your efficiency is competitive. Even if it's easy to learn something like Hibernate, a company is free to pick the candidate who needs fewer hours of getting up to speed. And don't forget about team collaboration & version control tools.

Plenty of answers better than mine should follow, but hopefully I said something useful. Best of luck!

Last edited by ElectronicOverlord; 11-04-2015 at 05:55 AM.. Reason: wacky word repetition
Reply With Quote Quick reply to this message
 
Old 11-04-2015, 06:49 PM
 
1,115 posts, read 2,498,582 times
Reputation: 2135
Quote:
Originally Posted by ElectronicOverlord View Post

And - just me - I would hesitate about mentioning a life-long interest in programming, because the next question is "why didn't you do anything about it?" Resources have been available online for a long time, so unless you have a good answer to the question, I'd consider keeping mum. It's probably better to give the impression of setting out to do something & doing it. Well, I guess you could mention that the interest goes back a few years. In any event, developing a track record of actually learning+doing will be more important.

Definitely definitely put efficiency tools on your itinerary. Understanding nuts and bolts is nice, but be comfortable with libraries & frameworks which do that for you, so your efficiency is competitive. Even if it's easy to learn something like Hibernate, a company is free to pick the candidate who needs fewer hours of getting up to speed. And don't forget about team collaboration & version control tools.

Plenty of answers better than mine should follow, but hopefully I said something useful. Best of luck!
Thanks for the advice! I was originally going to go into more detail about why I held learning this so long and the false starts I had as a kid but I didn't want my OP to be gigantic. I'll give some more details now.

I started having a genuine interest in programming at about 10 years old. Back then however we didn't even have a computer in the house and the internet was still fairly new! We finally got a family computer when I was 12, but usually a 12 year old does not go out and seek learning new skills. Fast forward to me being 15, I finally wanted to start learning some code and felt ready to do it. We had basic dialup on a family computer and resources really were scarce. It was less than 15 years ago, but really the internet was a VERY different place. I remember looking for resources online and there was not much. It's not like today where we have a 101 different websites that are teaching programming and web dev, and all these boot camps, computer code camps, free college courses, countless communities for programmers. Nope, back then it was jargon heavy text and the communities I came across were filled with jaded programmers who just complained about everything. :P. Regardless, I kept trying to self teach, but obtaining visual basic wasn't a walk in the park back then, and most resources and books I found in the library wanted you to start in C or C++, languages that today I feel aren't best for beginners. I've had some software engineer friends agree with statement. I was able to learn snippets of code, but got terribly frustrated because I couldn't understand the logic behind it, the resources back then weren't good at that part of the teaching. This is the "hump" I reference. I was making small basic programs, but my curiosity to know what was going on under the hood and being able to truly say WHY the code was working wasn't becoming to clear to me. It stopped me from pursuing more advanced coding projects, and thus there were many false starts.

Fast forward to end of high school and I figured I would go to university for a CS degree and learn all I need there over the next 4 years. However, that didn't happen since my family pushed me into medicine and business, and my local college didn't even have a formal CS program! It kind of just fell on the backburner, always too busy with college coursework, jobs, only getting more and more pushed back the older I got. Bills, family matters, adult life, all came in the way of saying I want to sit down with this and really learn it. Next thing I know I'm at a point where I'm in my late twenties and now the idea of taking 4 years to learn software programming is a big decision, bigger than the decision to do 4 years when you're just 18. Things are more complicated. I have a wife, bigger bills, more responsibility, and I already took out school loans and I'm not keen on taking out many more. 4 years to go back to school now is a bigger challenge than it ever was because I have more I need to worry about such as providing for my family and keeping the lights on.

So that's kind of where I'm at now. However, time has made me realize I really should just pursue this already since it's something I've always really wanted to learn, sure it's a bit tougher to pursue now, but sometimes life isn't easy. I got a tougher path now than if I did it right at 18, but I got to work with the cards I got. :P
Reply With Quote Quick reply to this message
 
Old 11-05-2015, 06:41 PM
Status: "Do not pass GO, do not collect $300 (used to be $200)" (set 9 days ago)
 
Location: TN
600 posts, read 274,235 times
Reputation: 385
To cut to the chase, I don't think the backstory is a winner. I don't really fault a minor for not knowing where to start, but I just see an origin story at best. While I won't go into detail, I had a very similar starting point and made a lot of headway (and then I veered off the path to explore other things). I remember there were good enough resources online back then, so I can't agree on that point.

Regardless, your interest in programming will be best evidenced by sitting and doing. Or standing and doing. I'd also suggest that you pick one main project to work on as you learn. Maybe a videogame, because you can get experience with just about anything: file I/O, GUI, threading, even AI if you want. As you learn something new, see if you can put it into the main project.

You'll only want to spend at most a month or so learning language fundamentals, whether it's C-something, Java, etc. What next? Well, lots of universities have their degree programs spelled out online. From there you can find the classes, and from there you can see the syllabus. It's a bit of an undertaking, but if you outline all the classes, you'll have something useful. One of the first "classes" I gave myself was data abstractions, which served me well. But ask around regarding the "what next" question, there will definitely be other answers.

Finally, I think software eng & web dev are both pretty broad, but they seem pretty separate, so you'll want to focus on one or the other pretty early on. Also, periodically hunt for all the complaints about new developers, and pay attention to stuff that people aren't paying enough attention to.
Reply With Quote Quick reply to this message
 
Old 11-05-2015, 09:19 PM
 
6,393 posts, read 4,116,131 times
Reputation: 8252
The main problem you're going to face is competition. There is absolutely no shortage of young programmers who are hotshots and willing to do whatever it takes.

My first profession straight out of college was programming. Plenty of young guys and gals willing to put in as many hours as it takes.

The second biggest challenge you're going to have is keeping interest. When you're working on your own project you are naturally motivated. For me, none of my assigned projects was particularly interesting.

Just letting you know ahead of time what to expect. Unfortunately for you, your age and lack of experience will be your greatest foe. The programming industry is leaning towards being able to crank out lots of code with mediocre quality. It's particularly so because the people behind the code don't really care about the quality of their work. But boy can they crank out code.
Reply With Quote Quick reply to this message
 
Old 11-06-2015, 05:31 PM
 
Location: U.S.A., Earth
5,511 posts, read 4,477,650 times
Reputation: 5770
I don't know how useful entry level C and C++ are. It seems whatever you can do with entry level C, C++, and perhaps Java, can be done much more quickly and effectively with something like Python. Perhaps to show you know the basics, so you won't need that much more time to get up to speed? OTOH, if you know other programming languages, it doesn't take long at all to get the basics of other ones.

I've heard folks suggest if you do complex stuff with C and C++, it's ideal to do one or more of the following:
1) take courses that cover advanced topics, such as pointers, networking, sockets, threading, hardware manipulation, etc. Basic stuff like conditions, variables, primitives, file input/output, comparisons, code control... those are stuff that's easily covered by online tutorials or from books. Dunno where stuff like classes, structures, and object oriented programming fall in. I guess you can learn that on your own.

2) join/form a study group

3) have an experienced person in that language mentor you

I had a coworker with a bachelors in journalism make the leap to CS. The things she did was... learn Java on her own, get her Sun Certified Java Programmer cert (paid for by the company), and learn really well from her coworkers who were her senior developers. She did these things AFTER getting hired on for a jr. dev. job. However, this was back in 2005. AFAIK, getting hired as an entry-level developer isn't quite as easy, as it seems they're trying to find "entry level people with experience". In some ways, it's true, but to me, this still leans to the side of oxymoron
Reply With Quote Quick reply to this message
 
Old 11-07-2015, 01:47 AM
 
3,452 posts, read 4,619,738 times
Reputation: 4985
Prepare for coding interviews.

Develop a portfolio of projects.

Land your first gig.
Reply With Quote Quick reply to this message
 
Old 11-07-2015, 10:11 AM
 
Location: East Bay, San Francisco Bay Area
23,540 posts, read 24,041,250 times
Reputation: 23967
1/ Get a formal education (BS degree) from a reputable university in CS.
2/ Get an entry level job, doing coding.
3/ Continue to develop your skills through further education and on the job training.
4/ Network with other developers.
Reply With Quote Quick reply to this message
 
Old 11-07-2015, 04:00 PM
 
Location: Greater NYC, USA
2,761 posts, read 3,428,453 times
Reputation: 1737
Hi, I am a software developer. I do love my what i do for a living. Unfortunately it does not pay well. lousy $120k for a 9-5.

Most companies do require a BS degree. I have a Masters myself, but none of my degrees are in CS. In other words if you already have a BS degree, do not go and get a second one.

The process of getting a computer programming job is simple.

1. You apply to jobs with a resume.
2. They ask you technical questions in the job interview.
3. You want to talk about a project that you have done in the past.

So you want to write some software, so that you can put it on your resume, use you business knowledge to make it look like professional experience. You want to know the basics of programming so that you can talk about it.

You can get tutorials online. There is a bunch of sites, Lynda.com, www.pluralsight.com/, that's just from the top of my mind. ...
Reply With Quote Quick reply to this message
 
Old 11-07-2015, 04:21 PM
 
Location: Southern California
12,713 posts, read 15,539,449 times
Reputation: 35512
Getting a degree is the only way I see this working out.
Reply With Quote Quick reply to this message
Please register to post and access all features of our very popular forum. It is free and quick. Over $68,000 in prizes has already been given out to active posters on our forum. Additional giveaways are planned.

Detailed information about all U.S. cities, counties, and zip codes on our site: City-data.com.


Reply
Please update this thread with any new information or opinions. This open thread is still read by thousands of people, so we encourage all additional points of view.

Quick Reply
Message:


Over $104,000 in prizes was already given out to active posters on our forum and additional giveaways are planned!

Go Back   City-Data Forum > General Forums > Work and Employment
Similar Threads

All times are GMT -6.

© 2005-2024, Advameg, Inc. · Please obey Forum Rules · Terms of Use and Privacy Policy · Bug Bounty

City-Data.com - Contact Us - Archive 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37 - Top