(Part 3) Top products from r/cscareerquestions

Jump to the top 20

We found 85 product mentions on r/cscareerquestions. We ranked the 836 resulting products by number of redditors who mentioned them. Here are the products ranked 41-60. You can also go back to the previous section.

Next page

Top comments that mention products on r/cscareerquestions:

u/iWearNoHat · 1 pointr/cscareerquestions

Sorry for the delay.

You have an abundance of great work. Stellar, really. But let's get deep and picky about it since you wanted the feedback. Please keep in mind that these are just my opinions. I'll do my best to rationalize all of them, but other people may suggest different things, and surely there will be people who disagree with me.


The format
The font and spacing do need some alterations in my opinion. Unless you have over 10 years of achievements, you should always keep your resume to 1 page. The means that you need to be as efficient as possible with the space on that single page. In your current formatting scheme, the left hand side of your resume is awfully blank. You could be using that space to talk more about what's already on there, or to talk about more stuff. Alternatively, on average a recruiter may take about 15-17 seconds to review your resume. So you want the important stuff to be eye catching.

Education
Short and simple. I would like to see your GPA though.

Experience
These sections are always hard because of how you have to sell yourself. Saying "Founder and Sole Developer" feels like it's too redundant. Emphasizing on working alone personally seems distasteful. What confuses me the most about this section is that you phrase everything to be in improvements (which is great under normal circumstances), but with you saying that you're the sole developer, it sounds like you were actually just fixing your own problems. If you have a game publishing platform with that many users, you should have the name of the platform/url to the platform right there. Your second bullet is two sentences, so it shouldn't be one bullet. I personally dislike the wording of "cut by two orders of magnitude". Just use the difference in numbers. It sounds too wordy/distracting that way. The third bullet is again holding two bullets worth of ideas. Remember, you have the emphasize what is skim worthy. Single bullets that are too long (basically more than one line) become less attractive to skim. There should be good justification for something to take up more than one line. Also, I would remove the tidbit about users being from the US. 250 million users is a ton. The demographics are maybe something you bring up in an interview, not on the resume though. I like bullet 4. Bullet 5 doesn't really tell me anything. I understand not mentioning client names or anything, but be more specific about the domains. Bullet 6 also doesn't tell me a whole bunch. Tell me what type of tasks your tools help with. Is it testing? Did you create some plug-in with shortcuts that saves time typing in your e-mail or something? I have no clue. I like the internships. Short, simple, and still descriptive.

Skills
I suggest putting the Skills section last. The reason being that you should be slipping in technologies that you've used throughout the rest of your resume. Having the skills section last is almost like a summary, and a quick reminder of skills that you have. In psychology, the serial position effect states that you're more likely to remember data from the beginning and ending of data sets. So while they might kind of skim over the technologies you mention in the middle of your resume, at least at the end they just get a listing right there, boom. It's a nice refresher of what you can do.
Projects
Re-word the first bullet. Instead of saying "daily/weekly/monthly" just say "scheduled". In bullet two, re-word it to start off with "Saved over 10,000 hours by..." That's a fantastic number to see, so you want it right at the front to make the reader go "oh crap, how'd he do that". I think the 3rd bullet is fine. The chrome extension I would remove. It's a great project, don't get me wrong, but there are many many people who are very weary of malicious security programming projects. I understand that you probably didn't have much mal-intent, but you have to think about your audience. If you're applying to a position where security knowledge is relevant, then that's awesome to have there, but otherwise I'd remove it.
Leadership
So, I don't think you should have this section at all. I believe that your leadership skills should be emphasized elsewhere. I don't think you need an entire section on leadership experience. I would rename the section to like "Additional experience", and remove your bolded bullet headers and treat them like regular bullets. I don't like that all of a sudden, you have a change in how you emphasize things. It isn't consistent to the rest of the resume. The Leading bullet sounds like it should be in your experiences section under a job header. In the second bullet, the 8 awards should be rephrased and moved to your Achievements section. The charity bullet feels long and wordy. The way it is worded makes it very confusing. Did you raise $50,000 total or $50,000 for each cause? I would simply re-word it towards something like "Raised over $50,000 to help towards various international causes". As specific as you want to be in your resume, you also want to balance it with enough information to make people curious, because you'll never be able to perfectly sum up your experiences/history on your resume. You want to have natural transitions into conversation. This would be one of those times to exploit that. That's an awesome achievement, and if I were interviewing you and saw my revision on your resume, I'd engage you to hear more about it. I'd be interested.
Achievements
I would move your first bullet to be in your education section. Also, did you really mean 0.05% or did you mean top 5%? The last bullet is awesome, congrats on 3rd place. That's stellar.

Hopefully you find this useful. Maybe there's something in there that you kind of agree with :P

I suggest you looking at this: http://www.careercup.com/resume
Also, if you want really in-depth information on resumes: The owner of the famous Cracking the Coding Interview, as well as the founder of CareerCup, wrote a book on just that: http://www.amazon.com/The-Google-Resume-Prepare-Microsoft/dp/0470927623

u/nuclearqtip · 37 pointsr/cscareerquestions

I'm a software dev with 9 years experience, and even I have difficulty finding work. I live in Colorado as well. My qualifications are impeccable. But I still get "no's" for absolutely no technical reason.

My best advice? Work on your resume wording, and your interview people skills. Use active words on your resume, like "initiated", "spear-headed", "lead", "started", "identified". Words that scream out "I'm a leader". It doesn't matter if you have no desire to go into management. The more your resume reads as "I'm a self-starter, I'm a leader, and I'm ALWAYS learning", the better your chances.

Sadly skills alone are becoming more and more ubiquitous. There are scores of self-taught developers out there that dilute the market for people with actual degrees. Budgets being what they are, if a company needs JUST a code monkey, they're going to hire the cheap one. Your degree actually puts you at a slight disadvantage in that arena.

However, if they're looking for a long-term (i.e. quality) person, they're going to hire someone who has NOT ONLY the technical qualifications, but also fits the "perfect employee" model that they have envisioned. This means: pleasant to be around, good customer / people skills, confident (but not cocky), positive attitude. You know, the stuff an HR person would care about. Sit up straight. Make eye contact. Smile. Firm handshakes. Dress well (not too nice though, developers get a bit edgy around folks in suits). Address people by their name. Do not curse. Do not be overly familiar. Do not volunteer too much information (especially things like health conditions and personal quirks). You're interviewing with human beings, who are vulnerable to "gut feelings", "first impressions", and other vague means of evaluating a candidate. Give them every reason to have a good "gut feeling" about you.

This is important: do research about the company before you come in. If you come in, sit down, and act confused about what their business even does, they're going to think you don't care. Find out what the company does, find out what products they make, what their business model is, etc. Find out (if you can) what the employee atmosphere is like. Do everything you can to show that you actually really WANT to work there. This also means attaching a custom cover to your resume, and showing a similar amount of attention to detail that screams, "hey I did this JUST FOR YOU".

As for the technical qualifications, your degree just says "I can be taught". Nothing more. A company who sees a candidate with a degree and a small amount of experience WILL expect you to work for a rather modest paycheck. You CAN scare them off by throwing out a number that's too big. Research the company you're looking at. Use sites like glass-door to find out what level 1 (or similar) engineers are paid. If you can't find information on the company's pay, find a similar-sized company in the same industry. Try to get a realistic idea of what to expect, salary-wise. You can PM me and ask what I made at my very first "real" job after getting a degree.

Also make sure you have a LinkedIn profile. It's surprising how many recruiters hang out on there, just doing searches for keywords, contacting everyone who pops up.

I know you're having a hard time right now, and I know it can be VERY discouraging hearing "no" after "no" (or the classic, "we've decided to proceed with another candidate" line). ALL IT TAKES IS ONE YES. You might be one interview away, but you won't know unless you keep trying. YOU CAN DO THIS. I know it's a lot to keep track of. I know it's a ton of stuff to remember. And I know putting on a brave face especially in the face of financial uncertainty is all but impossible.

I'm not a big believer in positive thinking. But neither am I a big believer in negative thinking. Your post comes across as being incredibly pessimistic and defeatist. While I understand that this is your reality (and please know that this IS a safe place to vent), you need to make absolutely CERTAIN that you leave that attitude at the door when you're interviewing. You're interviewing with people who can and will pick up on that if you're not careful. And like I said, sometimes all it takes is that "unpleasant gut feeling" to cost you the job. Don't give them ammo.

One more word about technical qualifications. Smaller companies put a big emphasis on experience. But larger companies know that experience is cheap, and that what really matters is that you understand the fundamentals. Make sure you understand the fundamentals. This means data structures and algorithms mostly. If it's in your budget to do so, pick up a copy of The Algorithm Design Manual. Once you have a good grasp on the concepts in that book, most white-board coding exercises become much easier. Also, make sure there's (at least) one language you understand REALLY well. Whether that's javascript, or Python, or C, or Perl, or PHP, or Java, or... doesn't matter. Just make sure you have one language that you can actually code competently in.

I know you said you can't move. I live in Colorado Springs. Not sure if that's considered a "move" for you. I work at a DoD company that currently has a number of openings for Java developers, and Javascript frontend developers. It's a modest-sized company (600 people, ish). Your Asthma won't phase them at all (though frankly you really shouldn't ever bring up health issues in an interview). If you're interested, PM me and I'll give you the company name and a few tips about what they're looking for.

If you're interested I can also take a look at your resume and let you know if I see anything that could use some improvement / modification. I know it's really hard to get feedback about resumes. I'm not a hiring manager, but I've spent years perfecting my own, so I like to think I know a thing or two on that subject.

Best of luck.

TL;DR: Just read it. Sorry.

EDIT

I just want to also throw in that I agree with /u/akhbhaat about the gap on your resume. That's not an insurmountable problem, and some companies would still hire you. But, in the words of Ricky Ricardo: "you got some 'splainin' to do". It's not a deal breaker, but it does raise eyebrows. Unemployment can become self-perpetuating because companies assume you're not good enough to be employed. It's bullshit, of course, but it IS now up to you to either take corrective action (go back to school), or come up with a really good excuse as mentioned.

EDIT 2

I also agree with all of the comments about side-projects. Side-projects are a way of showing a company, "I may not have been employed, but I was still actively developing my skills". It also kinda gives them the idea that you're passionate about the field, which is an extremely good impression to give.

Sites like Project Euler and Topcoder might provide a good starting ground to just get you warmed up a bit. Also you may want to consider registering on Stackoverflow and answer some of the questions you know the answers to (don't worry about reputation on there, no one cares). But if you really want to impress them, go start or contribute to an open source project. Doesn't matter what. Doesn't matter what language. As long as it's challenging to YOU and actually teaches you something.

u/coffeeUp · 1 pointr/cscareerquestions

Depending on the company and organization you're a part of, the SDET role can sometimes be flexible enough to begin blending into DevOps (Infrastructure) or Tooling territory.


I'm an SDET myself and I imagine I'll eventually find my way to a DevOps/SWE/SDE/Infosec type role myself. But in the meantime, I enjoy what I do. A friend of mine was an SDET and was able to demonstrate his SDE-specific skills and land a full time SDE role with a Big 4 company. So definitely possible, just make sure you're strong on coding and algorithmic understanding / problem solving.


I do have some specific feedback to assist with your goals though:


> Some other interests of mine that I don't get to really work with are linux administration, front-end web development, data analyst/sql stuff, and information security.


Some of these can be incorporated into your work depending on your role:


  • Front-end web dev: Build out some internal tools to assist with different QA or Test specific tasks (or take existing test tools or scripts) and put them into a React or Angular app. Lets you build out something interesting while still being related to your role and work responsibilities.


  • Data Analyst/SQL stuff: Build out some dashboards or other reports to show QA or Test coverage, better aggregate test records over time (how often has this test passed or failed historically, etc). Will provide value to others and help with oversight/insight into test - best to work with potential stakeholders (Managers, Directors) who may be interested in this data after you have a basic proof of concept, see if they can support (or would like) this data.


  • Information security: Start reading up on some resources to support your testing of potentially vulnerable systems or web apps that you support (ie, read up on https://www.amazon.com/Web-Application-Hackers-Handbook-Exploiting/dp/1118026470 if you test web applications). Obviously this type of testing would be best carried out in a sandbox test environment, to give you better logs and if you discover something impactful it is contained to a test machine you can just rebuild if it breaks.


    Hope this helps and good luck!
u/Eligriv · 3 pointsr/cscareerquestions

Disclaimer : i'm not a recruiter, so my opinion is just that :)

Here are my reactions while reading your resume :

  • The only bad thing in your resume, for me, is the general tone of the experiences description. It's a little "smug" (i don't know how to say it).

    If you want to shine, that's a thing, but don't crap on others.

    "Without direction", "the architects didn't know how to do that but i
    did", "1980 Fortran era" etc.

    I would rephrase those with only positive things. You did good things, that's all there is.

  • if you want to be hired as a senior, you should show more examples of how you can lead and make juniors grow.

    I see that you made a presentation for all of your team, that's cool. And you helped recruit, also cool. That should be more emphasized, and you need to show more of that.

  • TradeWithMachineLearning.com is down. I didn't see at first that you mentionned it because it's a bit hidden.

    Now that the project is defunct, you should put your sources on github and add the link in your resume.


  • misc stuff :

    You listed C# as a language you own, and yet you put it in the "i want to learn these" section as well.

    BTW i like this section, it's a good idea. Add a link to a github account with your fiddlings in these languages / frameworks and that's a winner.

  • Because i like to share cool resources, here's the best book in the world if you want to become senior/lead dev : Becoming a technical leader
u/valbaca · 2 pointsr/cscareerquestions

These are books I actually own and would recommend. Of course there are other great/better books out there, but I'm going to stick with what I've actually bought and read or "read".

I say "read" because several books are NOT meant to be read cover-to-cover. These typically have about 1/3 that you should read like normal, and then skim the rest and know what's in the rest so that you can quickly reference it. These books are no less important, and often even more important. I've marked these kind of books as #ref for "read for reference". Normal books that should be read cover-to-cover are marked #read


For learning your first language: This is really the hardest part and unfortunately I don't have any books here I can vouch for. I started with "C++ for Dummies" and am not including a link because it's bad. Your best bet is probably "Learning <language>" by Oreily. I also love the Oreily pocket books because you can carry them and skim while on the bus or the john, but you can just do the same with your smartphone. Pocket Python, Pocket Java, Pocket C++

Top Recommendations:

Accelerated C++ #read Made for people who already know another language and want to pickup C++. Also great for people who need a refresher on C++. I really like how it doesn't start with OOP but gets you familiar with the imperative parts of C++ before diving into OOP.

The Algorithm Design Manual #ref This is my new favorite book and the first I would send back in time to myself if I could. Each algorithm & data structure is given a mathematical breakdown, pseudocode, implementation in very readable C, a picture (very helpful), and an interesting war story of how it Saved The Day.


Cracking the Coding Interview #read I originally avoided this book like the plague because it represented everything I hate about coding interviews, but many interviewers pull questions straight from this book so this book can equal getting a job. Put that way, it's ROI is insane.

The Pragmatic Programmer #read Must-have for any profressional software engineer that covers best-practices for code and your growth. You can also find the raw tips list here

Head First Design Patterns #read Many prefer the "GoF/Gang of Four" Design Patterns which is more iconic, but Head First is a modern-version using Java to cover actual design patterns used day-to-day by programmers.

For Intermediates:

Effective Java or Effective C++ and Effective Modern C++ #read When you're ready to go deep into one language, these books will give you a huge boost to writing good Java and C++.

Design Patterns #ref You'll want to get this at some point, but early on it's too much for a beginner and many of the patterns are obsolete.

The Art of Computer Programming #ref The programming "bible" but like Design Patterns you should hold off on this iconic book until you've got your basics covered. It would make for a great purchase with your first paycheck or first promotion :)

u/sonnytron · 22 pointsr/cscareerquestions

Don't let the lucrative offers some people get, deter you from turning down a very solid offer to get some good experience even if it's a little below your compensation expectations. Being unemployed for 3+ months and never getting that 110K + bonus + relocation @ [Insert Big N Name] is a shitty situation compared to some 65-70k at a less expensive city with a smaller company that has some new tech they're trying to scale.
In a year, you'll be surprised how much you can save and if you play your cards right, network, do a great job, you'll be worth a decent amount of money after a year.
Have friends whiteboard you for practice. Get used to writing "nearly" build ready/compile ready code using built in Java language data structures and functions. Especially get used to the Collections library, iterating over two collections in a single pass while checking for duplicates or comparators on each entry.
Buy this book and this book and sign up for LeetCode on a free account.
Honestly, try to enjoy your spare time. Do something logical but fun like playing strategy games or solving puzzles. Go to meet & greets, club meetings, volunteer at a dog shelter. Don't try to "win" this game because out of all the people that "win", some end up having severe issues with stress, time management, "loving" the job/life and life after college is nowhere near as sunshine and rainbows as during.
I wish I could "skip" a lecture and work from home, watch Netflix or go with some friends to go eat food in a town nearby or catch a convention or watch some concert on campus. All the college fun stuff? It's gone. Now it's just work... Well, work and money but still... Not as much fun college stuff. Some fun college stuff, but not as much.

u/facetrolled · 1 pointr/cscareerquestions

DevOps is a tough field to break in to. A lot of companies will expect you to come in and know what you're doing right away - especially from a security standpoint. Managing infrastructure for your organization is a really big deal, which is why there is so much emphasis on Linux administration and deep understanding of how to secure those resources.

Going from web development to devops is a pretty big change - really they are two separate career paths. Not that you couldn't do it, but it will be a difficult transition for someone that hasn't done that kind of work before.

I think you need to assess what it is in the technology sector that interests you before you make a decision on which path to go down. Doing Devops-style work is super fun and rewarding, but like I said - it is a completely different field than traditional SWE.

If you do look in to the devops path, I would highly suggest reading Google's SRE book (it's free on PDF -https://landing.google.com/sre/sre-book/toc/index.html). This will give you a really comprehensive breakdown on what aspects of the SRE/DevOps that you will want to focus on to be successful.



e: also - the Phoenix Project (https://www.amazon.com/Phoenix-Project-DevOps-Helping-Business/dp/0988262592). A must read for any DevOps hopefuls out there.

u/miraclebob · 2 pointsr/cscareerquestions

Hey OP, nice name. I am going to throw a book out there for you to read instead of spending time on social media. You'll have it done in a few days and some great ideas under your belt to give you positive energy going forward. I replaced toilet/down time on my phone with the book and that helped blast through it ;)

For example I like this bit:
"you don't need a rarified job, you instead need a rarified approach to your work."

Wisdom from Mr cal Newport. Self help author who tackles the conundrum of whether passion should drive your career or not.

Just so happens that Mr cal newport is a CS Doctorate.

Excellent, excellent, knowledge lies within. First book is
"so good they can't ignore you"
Now if that title doesn't spark your interest I dunno what will.

About 15 dollars
So Good They Can't Ignore You: Why Skills Trump Passion in the Quest for Work You Love https://www.amazon.com/dp/1455509124/ref=cm_sw_r_cp_apa_FOQTzbN6B8M1N

If you can't afford it, please DM me, would happily purchase it for you.

Remember in order for good stuff to come out of you, good stuff needs to get in there. Keep on keepin on my man.

(I am a recent grad, beginner in the enterprise, very familiar with ideas like imposter syndrome and the like, but very determined to make my way in the world)

u/ladywanking · 2 pointsr/cscareerquestions

Just do your degree and start exploring ethical hacking, get involved with community.

Personally, I think great ethical hacker needs great understanding of networking, assembly, and OS, all of which you can learn in UofT.
These 3 topics are critical, you actually need to understand how to find vulnerabilities to be great in cybersec.

Also, start attending https://www.defcon.org

This book has been recommended to me as a high level introduction: https://www.amazon.ca/Web-Application-Hackers-Handbook-Exploiting/dp/1118026470/ref=pd_lpo_sbs_14_img_1?_encoding=UTF8&psc=1&refRID=195742DY502NMJ1N4JBT

Also, install cali linux and get some introductory level book on it.

Source: worked for a cyber sec in one of the Big4, worked with ethical hackers, and helped them with security scanning.


u/healydorf · 8 pointsr/cscareerquestions

Read The Phoenix Project. It's a very good high-level overview of all the things that live under the DevOps umbrella.

Also make sure to acquaint yourself intimately with either Linux or Windows, preferably both, from an ops point of view. Setting up systems, configuring them, deploying/installing things, all that stuff. This stuff is rarely if ever taught in traditional CS programs but is very relevant in the professional world.

For Linux, you can find some RHCSA/RHCE study materials on the high seas which should get you there. The certification is nice to have, but not required everywhere. The knowledge is the important bit.

For Windows, the Microsoft Virtual Academy is a pretty good place to start. Like this one for Powershell basics.

I like this EdX course for covering more of the "dev" side of DevOps with a sprinkle of "ops":

https://www.edx.org/course/devops-for-developers-how-to-get-started

u/raorao · 1 pointr/cscareerquestions

bootcamps are helpful in building your professional network, teaching you modern web development practices, and learning how to market yourself as an engineer. Is that worth ~$12,000? maybe, maybe not. It definitely works for some people, though, and usually for people who are motivated and excited about starting a new career.

...and you don't sound that motivated or excited. One book that I wish I had when I was going through my post-college meandering was So Good They Can't Ignore You, which is one of the best big picture career books out there (admittedly, that's faint praise). The basic premise is that the advice of "follow your passion" is mostly bullshit, and that hard-earned craftsmanship is the key to long-term professional success. As someone who's been working for now for ~10 years, his advice really resonates with me.

u/lingual_panda · 6 pointsr/cscareerquestions

I highly recommend Mindset. A fixed mindset is basically shooting yourself in the foot if you have any sort of goal whatsoever.

Facts and Fallacies of Software Engineering is from the mid-90s but basically everything is still true today.


Becoming a Technical Leader and Apprenticeship Patterns are kind of like two sides to the same coin. I read the former during my first internship and I definitely think it helped me succeed at my second internship and in my first job.

On Writing Well has an entire chapter on technical writing, but the rest of the book is fantastic as well.

u/wolf2600 · 1 pointr/cscareerquestions
  1. CS would be the obvious choice, but you have to look at the courses required/electives offered for each major. You're going to want to have courses in assembly programming, networking, security, and web development at a minimum.

    2-5) What Lamat said.

    A good book to study from is The Web Application Hackers Handbook.

    Also, prepare for and take the US Cyber Challenge. You don't have to ace it, but if you do decently well (60-70%) you will likely receive an offer to attend a Cyber Camp this summer... this is a week-long series of seminars about all sorts of security topics, with a job fair at the end. It is probably the very best chance you have of getting into an entry-level technical (ie: malware analysis, memory forensics) type security job/internship.


    Typically, the challenge will require you to use WireShark to analyze a file of captured network packets. You will analyze the packets to determine whether an attack occurred (from & to IPs, time, what attack method was used.... this is where the handbook I mentioned above will prepare you).

    After you've done your analysis (and taken LOTS of notes), you take the test.... it's 24 multiple choice questions such as: What is the IP of the hacker who stole John Smith's bank password? What attack was used from 192.168.21.5 on Mar 10? etc.

    When I did the analysis a couple years ago, I had a pad of paper and just went through the whole file writing down the packet number, timestamp, relevant IPs, relevant data (usernames), and what I thought was occurring. So when I took the test, when it asked those questions, I could check my notes to find the corresponding event.



    I think I got around a 70% in 20 minutes. Which didn't even put me on the top 100 scoreboard (those spots will be taken by people with 100% in 20 seconds scores). But I still was offered a spot at the cyber camp.
u/guifroes · 1 pointr/cscareerquestions

I think you're on the right path, practicing will definitely make your skills better.

I strongly suggest you to learn about common architectural patterns, like MVC, MVP, etc. and try to build to build something using them, as practice.

Testing and TDD specially would also improve your code design skills, so I recommend you spending some time practicing it.

Here's a list of books that I think will help you:

u/owlpellet · 1 pointr/cscareerquestions

I've been a product lead on public-benefit tech for ~10 years. We [work on things like this] (http://devsummit.aspirationtech.org/index.php?title=2012_Agenda) day to day. We build neat things, sometimes well. You should join us!

Here's some groups to get your brain working:

u/SkankTillYaDrop · 16 pointsr/cscareerquestions

Out of the books I read, these were my favorite.

  • Meditations
  • The Effective Executive
  • Managing Humans
  • The New One Minute Manager
  • How To Win Friends and Influence People

    I suppose these focus less on "leadership" so much as management. But they are all helpful when it comes to thinking about being a leader.

    I also can't stress enough the importance of being introspective, and taking the time for self reflection. It's crucial that you be able to take a look at yourself, and see how your actions affect others. How you make others feel. Things like that. I know that's not particularly helpful, but I guess all I can say is do whatever makes the most sense for you to make yourself a more empathetic human being.
u/vaughands · 21 pointsr/cscareerquestions

\> "can't we just install Google Tag Manager" - it's just a block of code in the <head> tag

​

Things your dev will probably be thinking of:

​

What's the performance like for this? Will this block the page load? Is this important? What kind of info is going to collect? Is this complaint with our privacy policy and how we collect info on our users?

​

"Iit's just a block of code in the <head> tag" ... hosted where? From Google? Do we operate in China? Will we ever? Will their CDN work? Can we afford to be reliant on their CDN / resource? Does it work in all the browsers we support?

​

Depending on the scope and reach, this could have a lot of stuff.

​

​

\> "can't we install this countdown pixel on one of our servers? it's just a block of php code" link

​

Do the servers run PHP? Should they? If not, would we need to install it? Who is going to keep that server patched? If it does, where do we put it? What are you using it for, emails?

​

\> "can't we just have read only access to the database? just certain tables? such as a category data, so we can count/sum/group-by categories - what about a staging database - can't we use that?"

​

Maybe a replica. As you've been told, you can't just run random queries since you could hurt performance without proper scheduling and permissions. This takes time. Privacy issues might prevent you from handling it without lawyers involved.

​

Who now has to manage your access? How are the credentials issue? Are you machines secured enough to handle the data or is someone going to click a random link and now get backdoored and now some competitor has access to your info? Oops!

Aside from that...

\> To the marketing team, everything sounds easy "just copy paste this script"

​

Sometimes it is. Often times, it is not. That being said, a lot of stuff can be very simple especially if it's a one off. You should organize time with your teams to get this kind of stuff. Where I work, we do help out with these requests but they are put in queue. However, you have to prove it's really going to help the business. You can't be wasting expensive resources chasing things that not going to return some kind of value for the business.

​

If you REALLY want to understand, reach this cliche book: https://www.amazon.ca/Phoenix-Project-DevOps-Helping-Business/dp/0988262592 Judging by how you are talking, I am sure it will resonate with you.

u/Wentzel142 · 6 pointsr/cscareerquestions

I'm just about to graduate with my undergrad in CS with a specialization in HCI, and have had multiple UX internships. Read these two books, they'll provide a really good baseline of knowledge about user-centric design.

The Design of Everyday Things - Don Norman

Don't Make Me Think - Steve Krug

While the second one typically focuses more on web, they're both amazing books that should be in the library of any UX/HCI specialist.

The best way to start building a portfolio is to, well, just do. Find anything (not just a program/app, even) that you don't like the design of, and start from there. Try and redesign it to make things easier to figure out. Show it to others to gauge reactions and get feedback. Iterate and improve.

There are a bajillion different programs for UI prototyping, but the first tool I'd suggest is good ol' pencil and paper. Get yourself a sketchbook and keep it in your backpack (or with you in some other capacity) at all times. When you have a design idea, drop everything, make a quick sketch, and go back to what you were doing. Ideas are fleeting and temporary, so it's best to get it on paper before you forget. Once you've got time, try and improve on those designs and think of what would work and what wouldn't. After you're happy (and have shown it to others for feedback), take it into some prototyping app like Balsamiq, Indigo Studio, or Sketch. Render it in high quality and start seeing how users would react to it in its natural setting (put it on a phone, or on a computer, etc. for testing). It's all about getting user feedback because one person on one computer may not have all the right ideas.

tl;dr: Read books. Redesign crappy things. GET A SKETCHBOOK. Feedback, feedback, feedback.

u/Iwishiknewwhatiknew · 2 pointsr/cscareerquestions

It's time complexity of algorithms. It's asking for big O, which is worst possible time your algorithm would take given a data input, usually n being the size of the array/list or whatever.

Hash tables are 0(1) because true hash tables uses a function to map 1:1 for all given inputs. For fun(y) => x, every x is generated by a unique y. If it's not a true hash table (ie not a 1:1 map), then you use chaining or bucketing. Chaining is guaranteed 0(n) time and uses no extra space and bucketing is guaranteed 0(n+t) where t is the largest bucket but requires extra space (tradeoffs!).

It's important because it's efficiency. You can program things 1000 ways. Given an input of 10 items, algorithm A (lets say runs in O(n)) and algorithm b (runs in O(n!)) may perform in nearly the same time and produce the same output. But given a list of 100000 items, algorithm B would take years to complete the task, when algorithm A would do it in ms.

Although I'm just about to graduate and don't have a real job yet, I recommend picking up something like this. You can find a pdf with minimal effort. The first few chapters really nail into it well.

u/Himekat · 3 pointsr/cscareerquestions

Non-fiction:

  • The Design of Everyday Things -- not about programming, but a great resource in general for viewing things from a design perspective, and it was required reading in my CS curriculum.
  • Don't Make Me Think -- another design-oriented book about web usability. It's quite a quick read since it's mostly pictures.

    Fiction:

  • Sourdough -- it's a fun whimsical story about Silicon Valley, programming, and baking bread. Very quick, light read.
u/inm808 · 4 pointsr/cscareerquestions

wow so much circlejerk over quant ITT. remember, OP is already getting the interviews

OP there are very good guides out there, analogous to the "elements of programming interviews" for DS&A interviews

https://www.amazon.com/Practical-Guide-Quantitative-Finance-Interviews/dp/1438236662 will get you very far. learn more about the topics covered as you go, rather than look at a vast sea of random math stuff and get stressed out. also theres a good chance some of these questions will be asked verbatim

ive heard good things about the Joshi book too. also first chapter of Heard on the Streets. the later chapters delve into really specific finance stuff, so it depends on what role you're going for if you need to know that stuff (vs a general math test, where they will train you on finance later)

u/_a9o_ · 4 pointsr/cscareerquestions

If you're doing backend/server side work, there's no better book than:
Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable Systems https://www.amazon.com/dp/1449373321/ref=cm_sw_r_cp_apa_h5nPBbZ9ZAWG9

In terms of learning what it takes to level up, I highly recommend the following books:
The Senior Software Engineer: 11 Practices of an Effective Technical Leader https://www.amazon.com/dp/0990702804/ref=cm_sw_r_cp_apa_o6nPBbVY8XDM9

The Effective Engineer: How to Leverage Your Efforts In Software Engineering to Make a Disproportionate and Meaningful Impact https://www.amazon.com/dp/0996128107/ref=cm_sw_r_cp_apa_n7nPBbB1ZDP2H

u/ShenmeNamaeSollich · 1 pointr/cscareerquestions

Why stay at a school where you're not studying what you want, and which doesn't even offer what you want nor one of the most popular in-demand majors??

Anyway, there are any number of online courses/tutorials about Data Structures, and how to build/use them in various languages. You can use C++ for them, or try to learn something else too. For speed & simplicity in interviews, a lot of people seem to prefer Python for discussing DS&A, but by their nature the concepts are fairly language-agnostic.

Try visualalgo for one ... there are plenty of others.

Since a lot of algorithms require/suggest the use of specific data structures to make them work, it's probably better to learn what those are first, and then try to tackle the algorithms that rely on them.

Grokking Algorithms - illustrated & pretty basic intro to concepts

Common Sense Guide to Data Structures and Algorithms - slightly less so, but still pretty basic intro to concepts

CTCI - problems covering arrays, linked lists, stacks & queues, trees, graphs ... Actually kind of useless if you don't already know what those are though.

Introduction to Algorithms (CLRS) - 1 of 2 standard U.S. college-level algorithms textbooks

Algorithms, 4th Ed. - the other standard U.S. college-level textbook, w/free online "book site", code, and a free Coursera course to go along with it.

u/datapanda · 2 pointsr/cscareerquestions

Listen to the people who work for you. For every one person under you it takes a few hours a week to manage as a rule of thumb. When I say manage, I talk about leadership, developing them, understanding them, understanding how they want to grow and stretch.


I highly recommend reading the following book too about teams. It's a great book and in my experience holds true with small teams and large global teams.


http://www.amazon.com/Five-Dysfunctions-Team-Leadership-Fable/dp/0787960756

u/flipstables · 2 pointsr/cscareerquestions

BI? How much about data warehousing theory do you know? I hope you have a thorough understanding of Kimball's methodology.

For ETL, focus on specific ETL tools (e.g. SSIS) but also know how to custom build your own tool from the ground up using a scripting/programming language. You could strictly specialize with one vendor like Microsoft or you could branch out to other BI stacks.

If you want to be more of a "full stack" BI developer, again you have to figure out whether you want to be a Microsoft specialist or know the range of technologies out there. If you don't know, I would focus my energy on learning vendor neutral skills for now and figure the rest out later. For instance, you're going to want to learn MDX very, very well no matter which platform(s) you decide to pursue.

u/naranjas · 2 pointsr/cscareerquestions

I thought that this book was pretty good, Growing Object Oriented Software Guided By Tests.

For me, when I was learning about TDD and testing in general, my biggest 'AHA!' moment was realizing that there isn't any secret to writing tests. Rather, the secret is to write code that is easily testable. When your code is easy to test, figuring out how to write your unit tests becomes trivial and all the TDD practices sort of fall into place. If your code is not easily testable, TDD and testing in general will be a huge pain in the ass, and it'll seem like a giant waste of time. In order to improve the testability of your code, I'd recommend reading about dependency injection/inversion of control if you don't already know about them.

u/comp_freak · 1 pointr/cscareerquestions

I would say 1st get basic understanding about unit testing The art of unit testing book is good resources. This is a good start as Roy Osherove start from basic testing and explain why a unit test need to fast and must use test framework like (xUnit or nUnit). The idea is to create seams and use dependency.

There was a course on Microsoft Virtual Academy (mva) on TDD by Sachi Williamson and one her colleague but it's no longer available where I learn some basics idea of TDD.

I also read another book Growing Object Oriented Guided by Test
This book made me realize how unit / testing and TDD is a tool but we need to get walking skeleton 1st. I did one component using TDD and it was very nice (once you go TDD route you will find your self creating many small classes) but it was pain in neck to integrate with another module. That's where the walking skeleton comes in the mind.

I would say check out Pluralsight TDD/Unit Test courses to get started.
Also, my idea has been learn some apply some. That way you don't get bored. It's going to be hard in the beginning but it gets started.

I would also suggest you to check out Working With Legacy Code & Refactoring by Sandro Mancuso https://www.youtube.com/watch?v=_NnElPO5BU0. It's a about and hour video but I learn from this video how to use TDD with existing legacy code.

For CD/CI, I am trying to learn Team Foundation Server (TFS) and learn it. So I can make commit and TFS can take care of building and releasing of the software.

But at the same time I want to switch so spending time doing LeetCode style problems.

u/whymauri · 10 pointsr/cscareerquestions

You should apply to more than just HRT and Citadel. For quant, trader, and researcher roles you'll need to practice a different kind of interview. Some places are done with hiring, but some are still going (Old Mission Capital reached out to me this week). If your Amazon offer is expiring, I'd take it. One in hand is worth two in the bush and these interview processes can take a long time.

This book will get you started.

u/brcosm · 2 pointsr/cscareerquestions

Steve Yegge's 5 Essential Areas

When I was preparing to interview I broke up the studying into the 5 areas mentioned in Steve's post. From my experience, the two most critical things are:

  • Writing reasonable code on demand (like on the whiteboard)
  • Knowing the core data structures (including time and space complexity)

    If you have never written code on a whiteboard, you need to practice -- it isn't natural and will almost certainly trip you up. For the data structures, try explaining something like a heap or a map a friend who has no background in CS. It will get you comfortable talking about that kind of stuff and also help cement your knowledge. This book is excellent as a resource.
u/e7hz3r0 · 4 pointsr/cscareerquestions

I haven't been in or done a junior dev interview in a long time so I can't speak to whether most companies ask algorithm questions these days.

What I can say is that many of the mid- and senior-level interviews I've been in do. This means, to me at least, that you should learn this stuff even if you don't get asked it in a junior dev interview.

As as self-taught developer, you have shown that you've got the drive and curiosity to learn a lot of stuff enough to do useful work. That says something. So bravo!

Practicing is a great idea. However, if you're constantly looking at the hints before coming up with your own answer, that's probably not as helpful. It sounds like you should learn more about algorithms as a whole topic.

To shore up your weaknesses with algorithms I'll suggest a few resources that I've come across over the years. Since I went the traditional CS degree route, I haven't used these personally but I know many people who recommend them:

u/SftwEngr · 2 pointsr/cscareerquestions

"Operating Systems" and "Software Tools and Systems Programming" were the most helpful to me. Both were difficult with difficult profs, but very interesting so I got a lot out of it. The Stevens' book was the text for "Software Tools" and all his books are very good.

u/adhi- · 4 pointsr/cscareerquestions

ok dude, i really feel for you and see that you're struggling in this thread. i personally understand the lesson /u/csp256 is trying to teach you, because i learned it the hard way myself. but because it's just reddit comments its hard to put it eloquently.

everything about all of your comments and your post just absolutely screams to me that you are due for a mindset shift like i had 2 years ago. in a few words, stop focusing on what you want or what's right for you, and start focusing on what you can bring to the table. you NEED (i seriously mean NEED) to read this book. i absolutely implore you to please for the love of god read this book. in fact, i'm going to message you in 2 weeks to see if you have and i want to hear your thoughts on it. capische?

u/pfx7 · 1 pointr/cscareerquestions

A friend recommended this book: The Google Resume by Gayle Laakmann McDowell

I would recommend it over any such service because it really helped me fix up my resume.

u/The_Imerfect_Mango · 2 pointsr/cscareerquestions

I just started learning it for my class in University. I am surprised at how much I like it and how much deeper my understanding of Linux has got. It might be annoying at first but trust me, you learn a lot. You should also give Advanced Programming in the UNIX Environment a read. It has taught me so many things already!

u/elliotbot · 3 pointsr/cscareerquestions

I second Kimball's The Data Warehouse Toolkit. Definitely be familiar with DS&A as well as SQL and big data concepts including window functions, pivots, aggregations, map-reduce, spark, etc.

I list some other resources and my study guide in my post here.

u/almao0aoOa0oa0aao · 24 pointsr/cscareerquestions

I would recommend Algorithms to Live By: The Computer Science of Human Decisions. It's not as technical as some of the other recommendations on this thread but it's very interesting and introduces you to a lot of applications of CS theory in real life.

u/zzzizou · 4 pointsr/cscareerquestions

It's going to be hard, make no mistake about it. Most places won't want to interview you just based on the fact that you haven't worked for 10 years after graduating. There's going to be some level of disappointment and you'll need to be ready for it.

If your knowledge of C++ comes from school, it's likely at a basic level. Improving on C++ is generally harder than just learning .Net, Java or python.

But if you do feel comfortable with C++, I would suggest getting a more advanced level book rather than relying on online tutorials. My favorite one is Effective C++ from Scott Meyers. Try finding a used version to save money.

You will also need to meet recruiters and be confident but open with them. This is a trial and error with a low hit rate but I would suggest doing it anyway.

You could also sign up for a coursera or udemy course on web development and start creating a project. Make sure you get a github account to showcase your web development skills to any potential employer.

u/WorldLinx · 1 pointr/cscareerquestions

Read Effective C++ and Effective modern C++. In my opinion, theses books are miles away from any online guides. There's some pdf of those books on some (not legal) webite, but they are a very good purchase.

u/FattyLite · 2 pointsr/cscareerquestions

I'm currently working full-time as the sole breadwinner with two kids under 3 and taking 8 credit hours towards my second bachelor's in computer science. I am exactly what you describe. My initial inclination when thinking of any task used to be "what's the bare minimum I have to do to get this over with?" I've slowly been able to change that so that I began to enjoy the journey more than the destination. I set small goals with any task and look forward to small victories instead of just the completion of the task. I know it's all cliché, but it's worked for me.

Also, I generally hate all the business and self-help books that are the latest fad. However, I highly recommend the Growth Mindset. I will take a look at this occasionally as a reminder. The book helped me change the way I view things internally and look at things as challenges and not obstacles.

u/bautin · 1 pointr/cscareerquestions

I have most of these books.

The Art of Computer Programming
The Art of Computer Programming is dense. It is deep. You can likely put off this one. It should be a goal to be able to get through it though.

Introduction to Algorithms
Introduction to Algorithms, I don't have it. All I know is that it does come highly recommended.

Code Complete
Code Complete is excellent. Well written, it feels a lot shorter than it is. It will get you thinking about every step of the software development process.

The Pragmatic Programmer
Another one I don't have but gets recommended time and time again.

The Mythical Man Month
The Mythical Man Month is less directly relevant. It will go over meta issues in software development.

Don't Make Me Think
Don't Make Me Think is also not about code itself, but about design. Because if no one uses your application, does it matter if you made it?

u/2017_goal · 1 pointr/cscareerquestions

Hiya. Are there any books you would recommend to someone wanting to shore up their knowledge on security?

I'm intending to go through the below to get a grasp of the field:

u/chocolateAltoids · 17 pointsr/cscareerquestions

I wouldn't say it's the exact same, but I still lump it in a nice to read category:

The Phoenix Project

u/cheerios_are_for_me · 4 pointsr/cscareerquestions

How to be part of a team and lead a team.

There's one book to read - The Five Dysfunctions of a Team.

I read this book, and it opened up my eyes. Working as part of a team is THE most valuable thing I've learned.

u/Anman · 3 pointsr/cscareerquestions

This is the book that people refer to as CTCI: https://www.amazon.com/Cracking-Coding-Interview-Programming-Questions/dp/0984782850

I have the previous edition (5th) and there are 20 questions pertaining to trees and graphs.

I personally found EPI to be a lot more useful.

u/makeswell2 · 2 pointsr/cscareerquestions

Ms. McDowell covers this and many other questions in her (famous) book http://www.amazon.com/Cracking-Tech-Career-Insider-Microsoft/dp/1118968085/ref=dp_ob_title_bk

edit: well the old one has more reviews http://www.amazon.com/Google-Resume-Prepare-Microsoft-Company/dp/0470927623/ref=sr_1_6_twi_kin_2?s=books&ie=UTF8&qid=1449708818&sr=1-6&keywords=Gayle+Laakmann+McDowell
I guess her book Cracking the Coding Interview is more popular than the ones linked, but oh well. I forget exactly what she says.

u/CriticalLobster · 7 pointsr/cscareerquestions

> I want to gain knowledge and learn more by reading and thinking

Say no more, I have your answer

u/sgwizdak · 2 pointsr/cscareerquestions

I'd read through this book:

http://www.amazon.com/Algorithm-Design-Manual-Steve-Skiena/dp/0387948600

(I've noticed pdfs of that books on some .edu's in .cn, but I'm not going to link those here.) Be prepared for tree traversal type questions.

u/ell0wurld · 1 pointr/cscareerquestions

Grokking Algorithms: An illustrated guide for programmers and other curious people https://www.amazon.com/dp/1617292230/ref=cm_sw_r_cp_api_i_LPkTCb09XVDTR

u/saranagati · 4 pointsr/cscareerquestions

two of mine were The Design of the UNIX Operating System and Advanced Programming in the UNIX Environment

one of the other big things was some original unix documentation. I cant recall the name of them but there were small paperback book released early on for unix describing how to use and program for it. I remember someone linkijg to it either on reddit or hn a couple months ago.

u/Vetches1 · 1 pointr/cscareerquestions

No worries, just making sure it's the right book. This one, right?

Nevertheless, thanks for the recommendation!

u/loops_____ · 1 pointr/cscareerquestions

>The Algorithm Design Manual

Is this another algorithms book? How is it compared to Cormen's Introduction to Algorithms or Grokking Algorithms? I tried Cormen's and Grokking's, but it was a hard read and I generally prefer Youtube videos (mycodeschool) and so on. Is The Algorithm Design Manual similar?

>EPI, and PIE

What are these?

u/kajsfjzkk · 37 pointsr/cscareerquestions

Managing people is hard. Managing engineers is harder. Have you paid for any management training for Randy? How about for you?

I'd feel a little concerned if I found out director-level management at my company was asking for advice on reddit about how to mediate routine interpersonal conflicts.

http://randsinrepose.com/archives/the-diving-save/

http://randsinrepose.com/archives/bored-people-quit/

https://www.amazon.com/Managers-Path-Leaders-Navigating-Growth/dp/1491973897

https://www.amazon.com/Managing-Humans-Humorous-Software-Engineering/dp/1484221575

u/br0wnp0w · 5 pointsr/cscareerquestions

Building on that. Read https://www.amazon.com/Mindset-Psychology-Carol-S-Dweck/dp/0345472322, seriously. I stopped using "I'm bad at X" as an excuse after reading.

u/cjrun · 1 pointr/cscareerquestions

Algorithms to Live By is a new 2017 book, but it explains data structures that even a kindergartener could understand. It isn't a thorough deep-dive into computer science, but it compares real life problems to computer science problems. The author speaks in plain english and some of the scenarios he brings up are damn interesting.

u/vyvantage · 21 pointsr/cscareerquestions

I had a lot of similar issues early on in my career. I seem to type faster than I think, and a lot of little things somehow made it into my code that I wouldn't notice until much later, when I had a lot more code debug through.

Getting into the habit of Test-Driven Development pretty much solved this for me. By writing unit tests in expectation of the functionality of the code I wanted to write, I would prevent myself from building on top of code with bugs or small errors.

A lot of people think TDD takes twice as much time because you write roughly twice as many lines of code, but I was drastically underestimating how much time I was spending debugging. My code gets written and merged in half the time it used to take, and having my code reviewed takes almost no time at all.

TDD is by far the best remedy for small, easy-to-overlook mistakes, but it also forces you to break down problems into much smaller units than you might instinctively. I find that this also helps me solve problems faster, because I prevent myself from immediately attacking the first problem I see, which may actually be a combination of 2-3 problems (which I may have already solved somewhere else). My code is more functional, more organized, less repetitive, and problems get solved much faster.

I highly recommend reading Growing Object-Oriented Software Guided by Tests.