• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Programming |OT| C is better than C++! No, C++ is better than C

Gurrry

Member
I just noticed I sent you code where im not using the rangeTemp variable as the range in the for loop. I put 3 in the range instead of rangeTemp, but that was merely for testing.

Either way, im still getting the error.
 

Slo

Member
Why are you using a loop variable 'veg' and then using i to access the array?

Code:
  i = 1
    for veg in range(3):
        print("Vegetable Name {} - {}".format(i, veg_name_list[i]))
        i += 1

Why not do this:

Code:
    for veg in range(0,len(veg_name_list)):
        print("Vegetable Name {} - {}".format(veg, veg_name_list[veg]))

Also, are you supposed to keep track of all of the lists for the entirety of the program? I ask because you're emptying out the list every time the user enters another store.

veg_name_list = []
veg_plu_list = []
veg_order_quantity_list = []
 

Slo

Member
Also, I consider myself a Python novice so if anyone with more experience tells you different, I yield to them. :)
 

Gurrry

Member
Why are you using a loop variable 'veg' and then using i to access the array?

Code:
  i = 1
    for veg in range(3):
        print("Vegetable Name {} - {}".format(i, veg_name_list[i]))
        i += 1

Why not do this:

Code:
    for veg in range(0,len(veg_name_list)):
        print("Vegetable Name {} - {}".format(veg, veg_name_list[veg]))

Also, are you supposed to keep track of all of the lists for the entirety of the program? I ask because you're emptying out the list every time the user enters another store.

veg_name_list = []
veg_plu_list = []
veg_order_quantity_list = []

It is supposed to dump the info in the array each time it loops through.

I just entered the code you gave and it works!!! However, I need it to say Vegetable 1 to start, not Vegetable 0. I think that is why I was trying to use veg instead of i.

I guess im just a little confused as to how to make it say "Vegetable 1 Name", instead of Vegetable 0 Name.

I guess i could make a seperate variable that starts at 1 and add 1 to it each time it iterates
 

Slo

Member
Here's a hint. Arrays are 0 based, so you need to access item 0 with index 0, but when you print to the screen you can have the label be 0+1.
 

Gurrry

Member
Here's a hint. Arrays are 0 based, so you need to access item 0 with index 0, but when you print to the screen you can have the label be 0+1.

AH HA!!!!

YES!

Dude thank you so much for the help. I really appreciate that you took time out of your day to teach me this stuff. It really helped alot.

Basically I just put - .format(veg +1, veg_name_list[veg])) and it displays Vegetable 1 instead of Vegetable 0.

Now i just pray to god that he accepts this lol.

Again, thank you so much dude. Have a fantastic 4th!!!!
 

Gurrry

Member
Sigh

I thought I had it completely figured out, but now im having issues getting it to print all of the vegetable 1's stuff in order, then print out all of vegetable 2's stuff underneath that in order.

I thought i would put a for loop within a for loop within a for loop, but its outputting things in a weird order that I cant quite figure out.

My output is either like this:

Vegetable Name 1 - bananana
Vegetable Name 2 - tomatoe
Vegetable PLU 1 - 1
Vegetable PLU 2 - 2
Amount to Order 1 - 1
Amount to Order 2 - 2

or like this

Vegetable Name 1 - bananana
Vegetable PLU 1 - 1
Amount to Order 1 - 1
Amount to Order 2 - 2
Vegetable PLU 2 - 2
Amount to Order 1 - 1
Amount to Order 2 - 2
Vegetable Name 2 - tomatoe
Vegetable PLU 1 - 1
Amount to Order 1 - 1
Amount to Order 2 - 2
Vegetable PLU 2 - 2
Amount to Order 1 - 1
Amount to Order 2 - 2
 

Koren

Member
Why not do this:

Code:
    for veg in range(0,len(veg_name_list)):
        print("Vegetable Name {} - {}".format(veg, veg_name_list[veg]))
Why no do this:

Code:
    for num, veg in enumerate(veg_name_list):
        print("Vegetable Name {} - {}".format(num, veg))

I'd say that there's virtually never reasons to use integers in "for" loops in Python...

First, get used to comprehensions, enumerate and zip, then look at itertools. That REALLY worth your time, and often, it's far easier to write code with those tools.
 

Slo

Member
Why no do this:

Code:
    for num, veg in enumerate(veg_name_list):
        print("Vegetable Name {} - {}".format(num, veg))

I'd say that there's virtually never reasons to use integers in "for" loops in Python...

First, get used to comprehensions, enumerate and zip, then look at itertools. That REALLY worth your time, and often, it's far easier to write code with those tools.

Cool.
 

Quasar

Member
So here's a generalist design I guess question.

If someone was interested in building something like thetvdb.com, but for audiobooks just what would be a good choice of language and dbms? I'm mostly familiar with C# and MSSQL, but clearly that's not a good idea if I plan to make it a free public resource (assuming it becomes more than an idea).

Just MYSQL? or should I be looking at some kind of nosql thing? And if so where would be a good place to start?
 
So here's a generalist design I guess question.

If someone was interested in building something like thetvdb.com, but for audiobooks just what would be a good choice of language and dbms? I'm mostly familiar with C# and MSSQL, but clearly that's not a good idea if I plan to make it a free public resource (assuming it becomes more than an idea).

Just MYSQL? or should I be looking at some kind of nosql thing? And if so where would be a good place to start?
Just use whatever you want and whatever database you want. No reason not to use MariaDB for the database.
 

Quasar

Member
Use SQL Server since it'll probably be the easiest to hook into your C# project.

That's why I haven't started. I'm thinking I should be using something other than c#/mssql. Something that could run on linux servers alone has me questioning what I should do, let alone whether I should be using a sql database or not. Hence my question.
 

Makai

Member
That's why I haven't started. I'm thinking I should be using something other than c#/mssql. Something that could run on linux servers alone has me questioning what I should do, let alone whether I should be using a sql database or not. Hence my question.
It's being ported to Linux soon so you could use it depending on your timeline.
 
I'm really not understanding Javascript at all.

Code:
function generateFunctionList(){
    var fnArr = [];
    for( var i = 0; i < 3; i++){
        fnArr[i] = function(x){
            return function(){
                console.log(x);
            };
    	}(i);
    }
    return fnArr;
}

var functionArray = generateFunctionList();
functionArray[0](); //Expect 0?
functionArray[1](); //Expect 1?
functionArray[2](); //Expect 2?

How does functionArray[0](); even work as a call?

functionArray is generateFunctionList().

So functionArray[0]() = generateFunctionList()[0]()?

Or does that syntax somehow access element 0 of fnArr?

Like what the fuck is even going on in this code?

"generateFunctionList()" function returns an array of three new functions

Code:
[first function, second function, third function]

This is saved to the variable "functionArray"

You can access elements in an array with an zerobased index

Code:
var arr = ["hello", "world", "yo", "doge"];
console log(arr[2]); // "yo"

When you get the element at position 0 of "functionArray", it gives you the function that you can call with ();

Code:
console.log(functionArray[0]); // function () {...}"

There's some somewhat more advanced concepts in the

Code:
        fnArr[i] = function(x){
            return function(){
                console.log(x);
            };
    	}(i);

part though. Basically the first function gets invoked immediately (IIFE, immediately invoked function expression), which makes it return a new function that has the correct value for x in the closure. You can try changing the code to

Code:
fnArr[i] = function(){
  console.log(x);
}

and see what happens. You can check out more information about closures here: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures
 

msv

Member
Got very flustered at an exam. Was supposed to be an example for a power function as a small side part of a question, not necessarily important to the question itself. Sooo, I forgot to keep the base and just foolishly do this:
Code:
for(int i = 0; i < exp; i++)
{
    pow = pow * pow;
}
return pow;
Whyyyyy did I do this :(. So much shame coursing through my body right now.

tumblr_m287qhzkjs1r3d43kxs.gif
 
Hey guys, as I've started getting back into Java I'm going through the Head First Java book which is pretty cool.

Anyway I decided to try my hand at Spring MVC web framework in Java.

I was looking at an example:

Code:
package hello;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.ModelAttribute;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

@Controller
public class GreetingController {

    @RequestMapping(value="/greeting", method=RequestMethod.GET)
    public String greetingForm(Model model) {
        model.addAttribute("greeting", new Greeting());
        return "greeting";
    }

    @RequestMapping(value="/greeting", method=RequestMethod.POST)
    public String greetingSubmit(@ModelAttribute Greeting greeting, Model model) {
        model.addAttribute("greeting", greeting);
        return "result";
    }

}

So in general I get what is going on generally here, this is an example for form submitting. What I'm more specifically looking at is the POST request in the controller.

I don't get where the form data is being read from. I can see that I think the form data is being added to an object "greeting" of type "Greeting" and that this is being added to the generic "Model" map as a key/value pair. At least that is what I think is going on.

It's not very clear to me how the data is actually being captured here... the HTML template example uses Thymeleaf as the templating engine. Here is that example code if that helps.

Code:
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
    <title>Getting Started: Handling Form Submission</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
	<h1>Form</h1>
    <form action="#" th:action="@{/greeting}" th:object="${greeting}" method="post">
    	<p>Id: <input type="text" th:field="*{id}" /></p>
        <p>Message: <input type="text" th:field="*{content}" /></p>
        <p><input type="submit" value="Submit" /> <input type="reset" value="Reset" /></p>
    </form>
</body>
</html>

Can anyone help clarify what exactly is happening here or what I'm missing? I've been looking online for a while but can't seem to find a clear explanation of it. Thanks in advance for any help.
 

Kylarean

Member
Can anyone help clarify what exactly is happening here or what I'm missing? I've been looking online for a while but can't seem to find a clear explanation of it. Thanks in advance for any help.

The GET mapping creates a blank Greeting object and places it into the model.

Thymeleaf creates a form and binds the inputs to that object (looks like the object has an id and a content field). You can view the source HTML in a browser to see how the template wrote the true HTML.

When the POST happens Spring takes the id and content from the request params and creates a Greeting object with what was entered into the input fields. It then adds that object to the model and kicks back to a result.html (for display I would assume).

Although, if I'm remembering right @ModelAttribute would already add to the Model that gets returned. Otherwise it would act exactly like a @RequestParam.
 
The GET mapping creates a blank Greeting object and places it into the model.

Thymeleaf creates a form and binds the inputs to that object (looks like the object has an id and a content field). You can view the source HTML in a browser to see how the template wrote the true HTML.

When the POST happens Spring takes the id and content from the request params and creates a Greeting object with what was entered into the input fields. It then adds that object to the model and kicks back to a result.html (for display I would assume).

Although, if I'm remembering right @ModelAttribute would already add to the Model that gets returned. Otherwise it would act exactly like a @RequestParam.

Ah I see, thanks! That makes it a lot clearer.

Only thing I can think of for the @ModelAttribute is that maybe it adds to the model but the previous model as then a new model is defined in the parameters of the POST request? I would imagine that is why we still have to use model.addAttribute to add the populated Greeting object to the new model map for the results page?

At least I think that might be happening. As I said I'm pretty new to Spring MVC so trying to get the hang of it.
 

Kylarean

Member
Ah I see, thanks! That makes it a lot clearer.

Only thing I can think of for the @ModelAttribute is that maybe it adds to the model but the previous model as then a new model is defined in the parameters of the POST request? I would imagine that is why we still have to use model.addAttribute to add the populated Greeting object to the new model map for the results page?

At least I think that might be happening. As I said I'm pretty new to Spring MVC so trying to get the hang of it.

It's been a while since I've had to deal with Models and such. We've moved to creating RESTful APIs that the front end guys call on in their AngularJS front ends.

I had to look it up but @ModelAttribute is defined as

"An @ModelAttribute on a method argument indicates the argument should be retrieved from the model. If not present in the model, the argument should be instantiated first and then added to the model. Once present in the model, the argument's fields should be populated from all request parameters that have matching names. This is known as data binding in Spring MVC, a very useful mechanism that saves you from having to parse each form field individually."

That reads like it should already have added it to the model, but I'd have to play with it again to be sure. Now I'm interested in seeing how it works again. :D
 

V_Arnold

Member
It was 11 lines, one function, and was a package on its own. It broke, and suddenly many, many big name projects started breaking, too. That sounds awfully brittle and chaotic to me.

If you think this is what happened, then indeed the JS ecosystem must be brittle and chaotic to you. Luckily, this is not what happened at all.

The whole "issue" was about people realizing that NPM allowed deletion of modules, which, weirdly enough, never really came up during all these years of NPM getting more and more popular. The community learned from it, and that is it.

Yet, here we are, people taking away the lesson that "that is all JS is about", which is *very* funny to think about. Especially considering:

1. we are talking about a module repository
2. the module did not break
3. dependency breaking has nothing to do with javascript program breaking.

But alright.
 
Why write:

Code:
console.log(ancestry.filter(function(person) {
  return person.father == "Carel Haverbeke";
}));

Instead of just

Code:
console.log(ancestry.filter(person.father == "Carel Haverbeke"))
 
Why write:

Code:
console.log(ancestry.filter(function(person) {
  return person.father == "Carel Haverbeke";
}));

Instead of just

Code:
console.log(ancestry.filter(person.father == "Carel Haverbeke"))

I don't do Javascript myself, but it looks to me like the first one evaluates the condition once. For example, it's equivalent to this:

Code:
console.log(ancestry.filter(false));  // Or true, depending on the value of person

So basically it doesn't do what you want it to do, and probably will give you a runtime error because filter doesn't expect to receive a boolean, it expects to receive a function that it can call on every single item through the loop.

Code:
person.father == "Carel Haverbeke"

is an expression that IMMEDIATELY evaluates to true or false.

Code:
function(person) {
  return person.father == "Carel Haverbeke";
}

defines a function which is not evaluated at all until you call it, which in this case would be done by the implementation of filter
 

Somnid

Member
Why write:

Code:
console.log(ancestry.filter(function(person) {
  return person.father == "Carel Haverbeke";
}));

Instead of just

Code:
console.log(ancestry.filter(person.father == "Carel Haverbeke"))

filter takes a function that is run on every item in the array and the result is what determines if it is kept.

person.father == "Carel Haverbeke" is an expression which is immediately evaluated so when run it might look like:

console.log(ancestry.filter(true))

How would you know what to filter with just "true"?
 
Why write:

Code:
console.log(ancestry.filter(function(person) {
  return person.father == "Carel Haverbeke";
}));

Instead of just

Code:
console.log(ancestry.filter(person.father == "Carel Haverbeke"))

For fun: with ES2015 you can get quite close with arrow functions

Code:
console.log(ancestry.filter(person => person.father == "Carel Haverbeke"))
 

Rush_Khan

Member
Today was my first day on a Programmer Intern role and I did sod all. I spent most of the time trying to understand the codebase, tried to implement a solution to my first task in a cool way, failed, then spent the rest of the day implementing a longer solution which ended up having a serious bug, and finally padding that bug in the worst way possible. 10 hours of work and I only completed 1 task out of 6. The Lead Programmer wasn't mad or anything and initially said I can take as much time as I needed but I'm worried my work rate is far too slow for me to last here.

Any tips on how to understand a large codebase quickly? I'm mostly just bug-fixing now but I've never seen so many components in a solution before, and the company uses their own in-house engine so API documentation is pretty barebones so I have to rely on comments written by other programmers.
 

Kalnos

Banned
Today was my first day on a Programmer Intern role and I did sod all. I spent most of the time trying to understand the codebase, tried to implement a solution to my first task in a cool way, failed, then spent the rest of the day implementing a longer solution which ended up having a serious bug, and finally padding that bug in the worst way possible. 10 hours of work and I only completed 1 task out of 6. The Lead Programmer wasn't mad or anything and initially said I can take as much time as I needed but I'm worried my work rate is far too slow for me to last here.

Any tips on how to understand a large codebase quickly? I'm mostly just bug-fixing now but I've never seen so many components in a solution before, and the company uses their own in-house engine so API documentation is pretty barebones so I have to rely on comments written by other programmers.

Sounds normal. Don't be afraid to ask questions and keep trying basically.
 

Koren

Member
Any tips on how to understand a large codebase quickly?
Read, ask, and try...

Also, I trick I found useful: address books. I've found useful to takes notes to help keeping progress when understanding how a large project is coming together (what functions/methods do, where to find which part of the project, etc.). Sheets of paper are quickly not enough, but large notebooks are often not practical. Address books (especially those where you can add/remove/move pages) are really useful, I think. Just use the lesser-common characters for other usage (list of classes, project structure, who wrote what, etc., anything that can help later)

Digital notes can be more effective (for example when you do a full-text search) but the ability to scribble diagrams, quickly move bookmarks, etc. with physical support is unmatched. You can always start building a digital doc later.
 

Rush_Khan

Member
I didn't bring an address book but I just opened my Welcome Pack and, lo and behold, there was a notepad. I'll probably start using that from now on. Maybe it would be a good idea to draw UMLs of all of the classes and their important functions. Thanks for the advice.
 

Kansoku

Member
Does anyone have experience with image processing in python? I did a quick search and it appears that Pillow and OpenCV are the most recommended libs. I already used OpenCV before (though in Java), and had some problems with documentation. Anyone has some (other) suggestion, or these are the way to go?
 

Massa

Member
Does anyone have experience with image processing in python? I did a quick search and it appears that Pillow and OpenCV are the most recommended libs. I already used OpenCV before (though in Java), and had some problems with documentation. Anyone has some (other) suggestion, or these are the way to go?

You'll probably want to look into numpy.
 

Koren

Member
Does anyone have experience with image processing in python? I did a quick search and it appears that Pillow and OpenCV are the most recommended libs. I already used OpenCV before (though in Java), and had some problems with documentation. Anyone has some (other) suggestion, or these are the way to go?
What kind of image processing do you want to do? Still images in file form, or camera capture in real time?

A lot of things can be done with just numpy & scipy...

Python 2 or 3, btw?
 
Does anyone have experience with image processing in python? I did a quick search and it appears that Pillow and OpenCV are the most recommended libs. I already used OpenCV before (though in Java), and had some problems with documentation. Anyone has some (other) suggestion, or these are the way to go?

I've recently messed around a little with Pillow for Python.

It's a fork of PIL (Python Imaging Library). But since the author hasn't made an update since like 2011 it was forked by enthusiasts and thus we have Pillow.

I've only used it for basic things but it seems straight forward enough and there are tutorials online that will give you a basic grasp of how to use it. It worked fine for my basic needs.

I program in Python 3 and it worked fine for my needs. Not sure how complex you want go but there are lots of documentation if you want to go deeper and do advanced image processing.
 

Kansoku

Member
You'll probably want to look into numpy.

From what I read they both use numpy, and since I want something more "ready to use", I`m looking at these first before doing them myself.

What kind of image processing do you want to do? Still images in file form, or camera capture in real time?

A lot of things can be done with just numpy & scipy...

Python 2 or 3, btw?

Still image. I'm trying to replicate an article, and will be doing some color analysis, checking for borders, symmetry, this kind of stuff. Some stuff they actually show the formulas they used, so at least that I can do in numpy if it comes to it.

Python 3 btw.

I've recently messed around a little with Pillow for Python.

It's a fork of PIL (Python Imaging Library). But since the author hasn't made an update since like 2011 it was forked by enthusiasts and thus we have Pillow.

I've only used it for basic things but it seems straight forward enough and there are tutorials online that will give you a basic grasp of how to use it. It worked fine for my basic needs.

I program in Python 3 and it worked fine for my needs. Not sure how complex you want go but there are lots of documentation if you want to go deeper and do advanced image processing.

I see, thanks.
 

Koren

Member
From what I read they both use numpy, and since I want something more "ready to use", I`m looking at these first before doing them myself.
A lot of things use Numpy (mostly because it's one of the most common way to have tables in Python), so yes, you won't be able to avoid it. At least, a lot of python distributions (Python(x,y) for Python, Pyzo for Python3k...) ship with numpy/scipy preinstalled.

Unfortunately, Numpy is both great and awful (my rant list is longer and longer each month... functions that don't do what the documentation says, strange design choices, from implicit conversions to non-pythonic non-intuitive contructs, etc.)

Still image. I'm trying to replicate an article, and will be doing some color analysis, checking for borders, symmetry, this kind of stuff. Some stuff they actually show the formulas they used, so at least that I can do in numpy if it comes to it.
As long as you don't need complex image algorithm ready to use, yes, you can probably do anything using Numpy and stay away from OpenCV.

Look also for scipy, things like 2D convolution, especially useful for image manipulation, can be found there.

You'll just need something to load the images besides that. In 3k, Pillow is a solution, but ImageIO works also well (and can be easier to install).
 

Ambitious

Member
Well, after my application last month went nowhere, I'm now sending out emails again. One of the companies I applied at looks seriously incredible, so I'd love to get that job. They just sent me a list of technologies they use and would like me to grade my level of experience of them. They also included a scale I'm supposed to use, but it's.. weird. I'm not sure what to make of it.

0 - never used it
1 - used it a few times
2 - helped others when they had trouble
3 - set it up for a team
4 - set it up for various teams in various contexts
5 - developed extensions, contributed code

The list of technologies includes languages, frameworks, but also things like "Design Patterns" or "Continuous Integration".

So, if I'm very comfortable with a technology I regularly use, I would definitely grade it higher than 1. But what if I never helped others? This is a quote, by the way. This "helped others" etc. is all the scale says. If I never helped others with a technology, what grade should I pick? 1 would be wrong, but so would be 2. Well, maybe I should consider 2 to be more like "comfortable enough to be able to help others"..?

And some of the grades don't even make sense for some of the items. How can you set up "Design Patterns" for a team? How can you set up a programming language for a team? Do they mean the project setup (i.e. dependency/build management etc.)?

If I added JUnit to Maven's pom.xml, does this count as "set it up for a team"? What about Git? Can I grade it with 4 if I created multiple repositories on Github?

This scale is just strange.
 

Jokab

Member
Working with XSLT for the first time at my job. I want to have a template for creating a table of contents at the top of my HTML document, and I want to be able to click each item in this table to get to more detailed information about it, that is, it jumps to the appropriate detailed section further down in the document.

Code:
// create table of contents
<table border="1">
<tr bgcolor="#9acd32">
    <th style="text-align:left">Name</th>
</tr>
<xsl:for-each select="">
    <xsl:apply-templates select="my_node"/>
</xsl:for-each>

// do other stuff

// detailed view (code omitted because I don't know how yet)

// template for node
<xsl:template match="my_node">
    <tr>
        <td><xsl:value-of select="../@name"/></td>
    </tr>
</xsl:template>

My problem is that I want to handle this node twice but in different places in my code, one where I just grab the name and one where I grab all its information. As I understand it, having one template for each node is the preferred practice in XSLT. How can I achieve this? Do I pass sort of a boolean parameter? Or write a template for a parent node and traverse down to the name in the first case? I'm not sure I like either of those.

I asked this question on Stackoverflow also, if anyone wants to answer there (too).

EDIT: Got an answer on the SO question. Using modes is the answer.
 

Somnid

Member
So I'm trying to setup a new resume but I really have no idea how to go about it. My career has been mostly contract jobs lasting a few months, as such I have like a zillion projects where I've done different things, different technologies and different audiences I can list which all seem valuable but no good idea how to represent them compactly even if I limit it to a handful. Anyone else have a more project-oriented resume opposed to a position-oriented one?
 
This code compiles fine and a file is created and written to, but fstream does not read the contents. Anyone know why this is happening? (Visual Studio 2015 Update 2)

Edit: Nevermind it's working now.
 

Kansoku

Member
A lot of things use Numpy (mostly because it's one of the most common way to have tables in Python), so yes, you won't be able to avoid it. At least, a lot of python distributions (Python(x,y) for Python, Pyzo for Python3k...) ship with numpy/scipy preinstalled.

Unfortunately, Numpy is both great and awful (my rant list is longer and longer each month... functions that don't do what the documentation says, strange design choices, from implicit conversions to non-pythonic non-intuitive contructs, etc.)


As long as you don't need complex image algorithm ready to use, yes, you can probably do anything using Numpy and stay away from OpenCV.

Look also for scipy, things like 2D convolution, especially useful for image manipulation, can be found there.

You'll just need something to load the images besides that. In 3k, Pillow is a solution, but ImageIO works also well (and can be easier to install).

Hmm, I see. Will give a deeper look into numpy and scipy. Thanks.
 
So I'm trying to setup a new resume but I really have no idea how to go about it. My career has been mostly contract jobs lasting a few months, as such I have like a zillion projects where I've done different things, different technologies and different audiences I can list which all seem valuable but no good idea how to represent them compactly even if I limit it to a handful. Anyone else have a more project-oriented resume opposed to a position-oriented one?

What kinds of jobs are you going to be applying for? Cool hipster startups? Corporate 9-5 places? Government?

I can only speak from behalf of the first category, but I am already more interested about the zillion projects you have worked on than the positions you were at. Different technologies? Cool, that probably means that you adapt fast. Different audiences? Neat.

As a developer who occasionally voices an opinion on potential recruits, I am not really looking at a list of stuff you say you have done. I care about the stuff you can do in the future. If you got a GitHub profile full of neat contributions or if you can show a project or two that really shine, even better. But just write that all open in couple of lines in the cover letter and throw an actionable item and if it's not totally terrible, you most likely will end up in an interview.

"Hey,

I saw that you were looking for Visual Basic backend dev ops guys which got me interested. For the past year I have done like a zillion projects where I've done different things, different technologies and different audience, for example building VB stuff with React on the front blah blah blah deployed usually to AWS. Let's get in touch if you want to learn more. Oh and I saw that you do tons of open source stuff, checkout my GitHub profile at https://zombo.com".

- Somnid"

Obviously that might not cut it for corporate, just replace GitHub with LinkedIn and put a 10 page PDF in the attachments.
 

Ambitious

Member
Well, after my application last month went nowhere, I'm now sending out emails again. One of the companies I applied at looks seriously incredible, so I'd love to get that job. They just sent me a list of technologies they use and would like me to grade my level of experience of them. They also included a scale I'm supposed to use, but it's.. weird. I'm not sure what to make of it.



The list of technologies includes languages, frameworks, but also things like "Design Patterns" or "Continuous Integration".

So, if I'm very comfortable with a technology I regularly use, I would definitely grade it higher than 1. But what if I never helped others? This is a quote, by the way. This "helped others" etc. is all the scale says. If I never helped others with a technology, what grade should I pick? 1 would be wrong, but so would be 2. Well, maybe I should consider 2 to be more like "comfortable enough to be able to help others"..?

And some of the grades don't even make sense for some of the items. How can you set up "Design Patterns" for a team? How can you set up a programming language for a team? Do they mean the project setup (i.e. dependency/build management etc.)?

If I added JUnit to Maven's pom.xml, does this count as "set it up for a team"? What about Git? Can I grade it with 4 if I created multiple repositories on Github?

This scale is just strange.

Oh, and they also want me to do a programming test. This company actually often holds programming contests for universities and schools, so it's also part of the recruiting process, of course. I don't know how long it usually takes on average, but they said I should make sure to be available for four hours. Yikes.
 

Somnid

Member
What kinds of jobs are you going to be applying for? Cool hipster startups? Corporate 9-5 places? Government?

I can only speak from behalf of the first category, but I am already more interested about the zillion projects you have worked on than the positions you were at. Different technologies? Cool, that probably means that you adapt fast. Different audiences? Neat.

As a developer who occasionally voices an opinion on potential recruits, I am not really looking at a list of stuff you say you have done. I care about the stuff you can do in the future. If you got a GitHub profile full of neat contributions or if you can show a project or two that really shine, even better. But just write that all open in couple of lines in the cover letter and throw an actionable item and if it's not totally terrible, you most likely will end up in an interview.

Obviously that might not cut it for corporate, just replace GitHub with LinkedIn and put a 10 page PDF in the attachments.

Well I'm blindly moving to Seattle so likely a bigger company out there that could pay moving expenses at least until we get settled. The problem is I'm likely going to be going through the automated application process as I don't really know anyone out there and all resume templates I've been finding just list "X position @ company Y (20XX - 20XY) which isn't especially applicable to my situation (and probably for the better). I know what I want to list just not a good succinct format.
 
Top Bottom