Answering your questions below.
​
Not sure if you came across this already but this is a great way to familiarize yourself with the environment. https://www.hackerrank.com/test/sample
It will take a lot of work to teach yourself up to the level that would be good enough to be useful in the workplace, but certainly not impossible. It's also harder to find a programming job without a) prior programming work experience or b) a degree, but again, not impossible. In this case, employers would be looking for related or interesting personal projects that you've worked on.
Having a project is a great idea once you get into a language and feel a little comfortable with it. If you're just starting out, then going through a few tutorials, like with CodeCademy are great and then things like /r/dailyprogrammer would be perfect just to give you small exercises to work on.
A Doctor Who scarf would be sweet, and I'm not even a huge huge fan. That's kinda time/money consuming to knit though, one of those "you'd have to be my best friend" kind of time sinks. I have no idea if it's easy or cheap to buy one already made. (Doctor Who circle scarf?!?!?!)
Regarding books, the idea sounds good (assuming you're not pirating ;) ) but I know I already had a good number of books at hand and a very specific set of books I wanted when I was in college. Not to mention all the schools I went to had access to huge libraries of content if it wasn't the case that (insert industry-wide favorite book) wasn't used in courses. A random set of books isn't likely to be useful or her kinda thing and given school/work resources something like a Safari Books Online subscription would just go to waste :( If you are going to go this way I would probably focus on just one specific book... going from the practical like Code Complete to the far more expensive and far more difficult to find someone that can appreciate...TAoCP. (Check http://stackoverflow.com/questions/1711/what-is-the-single-most-influential-book-every-programmer-should-read for a great list.)
Otherwise I know I welcome anything related to anything I like and it doesn't have to be geeky in any way. I'm one of those people that likes gift cards for letting me do whatever I want with them but I know it seems like an impersonal gift to give. I've gotten geeky jewelry before (like <head> </head> earrings). If she wears jewelry at all it's probably easier than other clothing like a shirt that might not match her style. You can find a lot on etsy. Alternatively a whole slew of things from thinkgeek are pretty good for gift giving. Another thing to think about is accessories for her gadgets, or subscriptions for services she uses.
> don't know if I should get into programming
You won't know until you try. Programming is mostly problem solving with a bit of understanding how to get a computer to solves those problems. It's a lot of trial and error with a constant amount of failure, but then absolute joy when you solve it.
> what the outlook is for females in this area
This is a contentious topic. Some people think tech is a meritocracy and others (like myself) disagree. For me it's an exhausting struggle that has been best described by this post. Whether or not it's that much worse than any other male dominated field, that's up for debate.
> how to go about possibly switching careers at my age.
I was a bit older than you when I made the switch. I jumped into a masters degree program with little more than "I had fun making text based adventure games way back in high school." It worked for me, but it might not for you. You may need less structure and direction than me to where you can teach yourself.
The first thing I would suggest is find out what. Games? Mobile? Web? Artificial Intelligence? Human–computer interaction (HCI)?
Congratulations on your upcoming graduation! That's such a major step.
All the best to you,
Allison
Congratulations on your first job! That is very exciting.
Within the three areas you mentioned: personal finance, skills and networking there is one element in common: control of your destiny. With financial security, skills that stay sharp and a strong network, you are able to move across different jobs when you want to. I think this is the right way to work the system.
I wish I had know earlier that it is a mistake to think that your boss will help you manage your career. Their role is to offer choices aligned with what the company needs. Your role is to know when you are still aligned with that mission and when you want to grow in new directions.
I love the book Powerful by Patty McCord from Netflix who gives an unconventional insider view of hiring: https://www.amazon.com/Powerful-Building-Culture-Freedom-Responsibility/dp/1939714095
Good luck!
> ...gain some experience under my belt
I agree with /u/ivix; it's the wrong kind of experience. If you have a CS degree, then you should be developing, not answering phones.
I recently entered the field, and I found https://pramp.com/ to be super useful for technical interviews both over the phone and in-person. They're live, so it feels a lot like a real interview (i.e., nerve-wracking).
Also, Cracking the Coding Interview is a must. There might even be a copy at your library if you don't want to buy your own copy. This walks you through the interview experience at the big software companies (Microsoft, Amazon, Apple, Google, etc.), and teaches you how to solve an algorithm problem, not what the answer to each problem is.
Finally, as dumb as it is, I'd recommend practicing coding on a white board (or a piece of paper). It's stupid that companies do it, but if you practice it, it'll be easier to think about the problem you've been asked and not about how weird it feels to be writing a loop in marker rather than typing it. Write sort algorithms, BFS/DFS, fibonacci, etc. Not that any of that stuff will necessarily help you, but I felt much more comfortable in the actual interview because I was used to drawing code.
Let me know if you have any questions and goodluck!
I used Powershell (in Windows) to go through Jumpstart, and it made it more difficult than it needed to be. A lot of commands are different between Terminal and Powershell, and you won't need to learn the Powershell commands for Ada. You'll probably be using repl.it for your coding challenge if you make it to Round 2, so I would recommend familiarizing yourself with it (and save yourself a lot of time and frustration). If you have any questions about the application process or anything, feel free to PM me! I was just accepted into Cohort 12 so I know there can be a ton of questions :)
You don't need a mac for the application part. The main different between mac and windows will be using the terminal (command line). But, you can also just use a site like https://repl.it/ to do all the jumpstart work. That's pretty much what I did.
If it had blocky graphics like an Atari game, it might be Time Tunnel
If mid-late 80s, somewhat better graphics, and about a female gnome, maybe Gnome Ranger
The links go to screenshots and info on the games.
Hi! I am trying to work with multiple people to coordinate with their time zones! I have a group of people in Europe, so I'd love for you to join. If you're still interested, could you please fill out this form? I will be sending out email updates going forward.
That's awesome!! If you're still interested (though this will be at a much beginner level at the start) could you please fill out this form? I will be sending email updates going forward.
Hi! I am trying to coordinate with multiple time zones! I would love for you to join in real-time? If you're still interested, could you please fill out this form? I will be sending email updates going forward.
Hi! I am trying to make multiple time zones work! If you are still interested, could you please fill out this form? I will be sending out email updates going forward.
I love love love love it!!! I read Snow Crash, then Diamond Age, then I moved on to the Nueromancer series. All of it, it loved! Diamond Age was definitely my favorite. I'm actually reading another series by Stephenson, though its not cyberpunk.
William Gibson is awesome, not to mention that so many things were inspired by his writing. I've read somewhere that the term 'microsoft' was first written by him.
What other cyberpunk have you read, and is there anything you would recommend?
Have you played Shadowrun Returns? Its a videogame that was funded by kickstarter. It was originally a D&D type tabletop game, I believe. I would have preferred if they stuck to keeping it strictly cyberpunk, but the game ties a cyberpunk setting to some fantasy elements as well. So the world you play in is entirely cyberpunk, but when you make your character you can choose from human, elf, troll, orc, etc. It definitely has fantasy elements but in a really awesome cyberpunk setting. When I played I could pull out elements that I had read in Stephenson & Gibson's work.
Here is a link if you wanted to read about the game setting: http://www.shadowrun.com/what-is-shadowrun/
Noice. I love Linux and use it for my work, though find dual booting too annoying, so I make do with WSL. I don't usually have motivation to do any codey stuff outside of work hours, anyway.
I recently rebuilt my PC entirely and finally have an SSD big enough to not need a HDD at all. It's amazing.
I agree with this post, and I'd like to add edx.org's MITx "Foundations of Computer Science" course series as a free, self-paced resource! The first course in the series is 6.00.1x "Introduction to Computer Science and Programming Using Python": https://www.edx.org/course/introduction-computer-science-mitx-6-00-1x7
I learned to code by sticking near-amateurish web projects together with chewing gum and Wordpress plugins. This approach will teach you to use very specific configurations of tech & other tools, but that's not a good way to learn how to program.
The courses above gave me a solid a foundation of reoccurring programming conventions, so now I regularly switch between Python, Node.js, Ruby, and C++ (via Unreal engine) in my work and pet projects. My fulltime job is still as a web developer (at a medium-sized video game studio), but on a day-to-day basis I can knock out other developer tasks. For example, one of the sites for our oldest game uses a defunct, unsupported CMS with some serious database vulnerabilities. We put the site behind Incapsula as a temporary solution - but my permanent solution was to build a Scrapy spider (http://scrapy.org/), scrape the site into flat HTML, and serve each page with a small 20-line NodeJS app.
I never would have been able to do the above if I continued in the vein of stringing jQuery plugins together with duct tape. Check out the MITx courses!
If you put a space in scanf string then it will read all of the whitespace (including new lines) until it reaches the next specifier [or end of input]. It's better to use this than getchar() for eating up any additional spacing.
e.g.
// this will read an integer & eat up any and all whitespace after it scanf("%i ", &year);
You should sign her up for an account on Scratch.
It's a programming website for kids, made by MIT. I teach 12-14 year olds the basics, and they love it because it is block based so they're not getting bogged down with learning the language of coding. It comes pre-loaded with art she can use to create a video, story, or game. It has some basic tutorials to get her started.
There are tons of free sources online! If you are completely brand new, you could start with code academy. There's also free code camp. Honestly I'm not too familiar with these things but the subreddit /r/learnprogramming can be a big help to you.
Here is a option which will run counter to many people's instincts but it may be the right solution for you. For years and years the first programming class at MIT used a language called Scheme. It's a bare-bones dialect of LISP (the oldest computer language still in use). What people who love LISP love about it is the elegance of the language. Once you master the approach you will understand a lot about programming at a deep level without much baggage.
The course used a book called Structure and Interpretation of Computer Programs by Sussman and Abelson. The book is so beautifully structured as to be considered a work of art. The entire course can be watched online here.
You can easily download any of a number of Scheme compilers for free.
This is a bit out of your budget and refurbished, but it is Ubuntu compatible (please double check me), and 32GB RAM, and 1TB SSD. Basically, this computer is a steal!
For me it was playing around with Scratch as a kid. I spent many many hours with it in middle and high school. You can make simple movies or games with it, and it's a lot more accessible and engaging to kids (or adult beginners) than a "real" programming language.
Your kid sounds like she's digging the hardware side of things. When I was a kid my mom bought me a snap circuit kit. I don't remember exactly what one it was but it was something vaguely like this that lets you put together simple circuits to light up bulbs or play sounds or whatever.
Check out Udacity. I completed one of their nanodegrees and felt obligated to complete it because I paid $500 for the 4-month course. However, that was years ago and their prices have gone up. But the cool thing about Udacity is how they organize their degrees based on industry. If you don’t want to pay for a nanodegree, at the very least use their site to view all the different fields. It will help you figure out what in tech you want to do: https://www.udacity.com
If you don’t want to do programming or web development, maybe consider Tech support? Tech support was my entry into the industry. Google recently released a tech support certification program that’s about $49 a month with Coursera: https://grow.google/programs/it-support/
I interview people related to distributed systems and also work in a big company as backend. From my perspective what I see in a candidate is not how they come up with a perfect solution but how they reason about different solutions and how they find problems in them. For example, let's consider you have to decide what database to use for an application. You could start with deciding SQL or nosql, you should consider number of updates per second and maybe if the content is not big you could go with a postgres db. If number per requests grow after some time, and you start having connection problem you can always increase your db size but still keep only one instance and one source of truth. What if this is not enough. Well now, if you are using AWS, you can use aurora and maybe have more that one replica... So, basically you have to think of problems. Scale, concurrency and consistency. This unfortunately it is something that I learned by working on it, and I sucked so much on my interview on this when I did not have any experience.
If you want, I'm in EU timezone, we can have a chat sometime:)
This is a very good book https://www.amazon.com/Designing-Data-Intensive-Applications-Reliable-Maintainable/dp/1449373321
I just want to chime in and say that this advice is where it’s at.
It’s scary at first, but once you gain your footing, your career dynamic will change for the better. And if it doesn’t change for the better, you’ll at least walk away from the company with a new sense of personal confidence and identity that will 100% benefit you at a future job with better dynamics.
If you’re interested in getting more info on how to do this, I highly suggest reading The Dance of Anger by Dr. Harriet Lerner. It has an entire chapter dedicated to career women and how to effectively deal with men in the workplace.
OP, please don’t de-self yourself for the sake of men’s feelings! These feelings you’re having are not all in your head and you’re in control of your own life to do something about it.
Thanks for all the responses, guys! I did some REPL research and found the past 4 Phase 2 challenges. They're "Walk-a-Thon", "Expense Calculator", "Most Played Song", and "Bake Sale". They're all basically the same program that ask you to:
1) create an empty hash
2) get information from the user
3) push that information into the hash
4) return the highest values from the hash(es) to the user
​
Here's the REPL I created to practice the challenges. I hope this helps anyone who's also applying!
Hi! You can definitely make an incredible amount of progress in the time frame you've mentioned. Plus you already have the foundations. I don't think I have all the answers in the "what's going on today" category, but I figured I'd share a thought or two. We're writing a lot of Golang, which I really enjoy having come from Java/Kotlin. You could for sure build out some APIs in Go and get a feel for it. And certainly you could play around with code challenges/code golf in a language like Go to get comfortable manipulating things.
​
Do you have a particular aim or preference for your next role? Do you want to do something like what you did before, or is there a new sector or a different role you really want to aim for?
Her slides are here and it's #11
Yeah to the best of my knowledge.
Here is a link for the event sign up: link
Good luck with your job search 👍🏻🙂
Hi! This is as many hours as you want to put in! I would say hourly per week to start? If you're still interested could you please fill out this form? I will be sending out email updates going forward.
Hi! If you're still interested could you please fill out this form? I will be sending out email updates going forward and want to get everything in one location for myself.
Of course! I'm super excited to introduce more people into this growing field!! If you're still interested, could you please fill out this form? I will be sending out email updates going forward.
Hi! I would love for you to join! I will try to make it as least intimating as possible. If you're still interested could you please fill out this form? I will be sending out email updates going forward.
Hi! I would always love some extra input! If you're still interested please fill out this form so I can get the ball rolling! I will be sending out email updates going forward.
Hi! I would love to introduce you to the basics of cloud! If you're still interested, could you please fill out this form? I will be sending out email updates going forward.
Haha I can't teach you everything about Azure since it's always changing, but I can try to teach you as much as I know. If you are still interested could you fill out this form so that I can send out email updates?
They actually do have fancy "fitbit" style tech out there already. Some even come straight from fitbit. Sadly no rings though, not that I've seen. I think they're just too small for the tech, and then factoring in the many ring sizes I guess makes it very cost ineffective.
There's a terrific tool out there called Kali Linux. It's a special build of Linux loaded with various investigative tools for testing assertions and assumptions about various aspects of security. It's put together by security folks. It's supposedly to be used for penetration testing but it has more uses than that.
Have you tried to apply to Datadog? They extensively use all of the tech you mentioned, have a strong track record of mentoring engineers at any stage in their careers, and they're a very international company so I believe they do visa sponsorship, but check with the recruiter upfront to make sure it's not a blocker. Their engineering is based in NY/Boston/Paris. If you're an EU citizen, the Paris office is a good fallback if you don't win the H1B lottery.
I think this is a smart decision. Getting hired is all about showing what you can do, aka, a portfolio of work. I was not living with my parents when I made the transition into tech, but I did quit my job and take time off to apply and grow my skills.
I suggest putting a timeline on it, with the goal being you have a job at the end of your time off. This will help hold you accountable and mayhaps give your parents some piece of mind. Say, you'll take two (or three or whatever) months to build your portfolio and start applying. If at the end of that time you aren't close to getting a job, you'll grab another retail job and apply on the side.
Best of luck! Here's a little help on building a portfolio - https://dev.to/allison_seboldt/how-to-know-youre-ready-to-apply-for-a-dev-job-3gbl
I’m no expert, but here are a few thoughts.
I’ve met people who successfully landed jobs out of bootcamps. I’ve met more who did not, or were sort of bouncing around from program to program with no clear goal. I’d look at programs in your area. Right now I know people aren’t meeting in-person, but I imagine local bootcamps will have better local networking opportunities.
This is really not my area of expertise. I’d say... UX design is bigger than building websites. And tools like Wordpress and Squarespace have been around for a long time. I’m sure people have adapted to add value that clients can’t get from those tools. If you’re interested in web development, I’ve heard good things about The Odin Project.
How about browsing job listings on Indeed or similar, and looking to build skills based on what seems to be in demand with employers? Or joining a Meetup group? E.g., people in the Women Who Code group might be willing to chat with you about the job market where you live (Austin, I gather!) and their paths to tech jobs, if you join one of their events.
Edit: Formatting
Docs and cheatsheets are always a good place to start if you've already got programming experience in another language:
If there are new concepts you haven't run into before, Google fu is King. There are plenty of stack overflow answers, articles and YouTube videos that can help. There's probably even a C++ subreddit or slack. One subreddit that was extremely useful for me when I was learning to code was r/learnprogramming
Good luck!
workflowy is is really nice for note taking- it's an opml (outline) editor hosted online. basically it lets you write nested lists of unlimited depth and zoom into them, and provides keyboard shortcuts for navigation, easy rearranging of notes, and sync/mobile apps. however you have a limited storage quota unless you pony up or refer people.
And fwiw, what I noticed is that the men tend to lead with the understanding that they don't need to be hard- they're working with people.
I notice that women in charge of men tend to be hard, militaristic- they feel that they won't be able to get others to follow them unless they're hard even at breakfast.
I work in the industry and it took me years to get over my imposter syndrome. This book helped me a lot: https://www.amazon.com/Mindset-Psychology-Carol-S-Dweck/dp/0345472322/ref=nodl_
I recommend reading this. One of the things it emphasizes is not to beat yourself up because you’re not smart. It’s less likely that someone is smart and more likely that they put in effort to get to where they are. Also interesting tidbit was about how women usually give up more often in the face of adversity due to the gendered way we grew up. Anyway the book really motivated me to stop feeling bad about being smart or not and to start investing my time into actually learning things.
This should also be on there: How to Be Successful without Hurting Men's Feelings: Non-threatening Leadership Strategies for Women https://www.amazon.com/dp/1449476074/ref=cm_sw_r_cp_api_i_On18CbGREJ91N
look at the "Head First" series by O'Reilly. taught myself Java with it (Head First Java) and found it to be excellent, also catering to how I understand things. The new edition on Python is coming out this year and I'll get a copy in any case.
I'm heading the same way as you, after years of following IT stuff as a hobby, I convinced myself to attend some CS classes and learn it for real. :)