The Project that stayed with me

After some quick, and somewhat confusing period of project hopping (see the previous entry Project Hopping) I have been in the same project for some time, and I get the feeling it’s going to stick for quite a while, it’s the project that uses Computer Vision and stuff, it’s pretty cool, but kind of intimidating, like I mentioned before

anyway, we’ve managed to make some well-received changes (the client even said it was working, and I quote ‘spectacularly’), basically speaking, I added a *serialization/de-serialization routine for an entity field to show some information to users (roughly speaking, that’s a way to process a JSON message through software, so the front-end sends the back-end a message, the back-end gets the JSON message, ‘translates’ it into a local data structure, and works from that, and when it needs to send a reply it does the opposite process, i.e. it creates a JSON message from local data structures)

a couple of HTTP verbs that weren’t there before were also added, I wasn’t the one who actually added those (specifically, the DELETE and PUT verbs for a couple of entities, they weren’t needed before, so they weren’t implemented until recently), we will probably need to add a couple more for some other entities, but we’ll get to that when we get to that

All in all, web development can be quite satisfying, even though I’d personally say it’s kind of ‘unstable’ (what I mean by this is, there are things that can be changed in one or two lines of code, but there are others that even after a few dozens of lines of code aren’t even close to being finished)

things I think I’ve gotten out of working on this project:

  1. There are several aspects of web development that are challenging, rewarding, and fun
  2. There are a couple of things, which have somehow become standard practice, that are really, REALLY annoying and frustrating, task runners for example, why can’t there be one that does it all? no no no, everyone uses between 2 and a million of them (I’m exaggerating here to make my point, in case you didn’t get it), you gotta use karma, and jasmin, and mocha, and gulp, and grunt, and webpack, and eslint, and bower, and what feels like a million other tools just to get the thing working
  3. I’m paraphrasing here; “when you do your job properly no one notices, but when you make a mistake everyone knows”, that’s how that feels sometimes with these tools, if it works for someone, it’s all good, but if it doesn’t it can be very frustrating to not be able to get it to work, or simply not knowing how it works (or why it doesn’t)
  4. Different environments can be a nightmare (even when something works for someone, that doesn’t mean it will work for everyone, not being able to do what you see the guy next to you do (though he’s only next to you ‘cuz you asked him for help :-P) is really frustrating (this is again, related to task runners, and just because you’re using a different OS… just make the damn tools work for all platforms!)
  5. Many people can be messy when communicating, so sometimes, the hardest part is actually trying to understand what they mean, rather than writing the code
  6. Many people can have misconceptions about what some words mean, like ‘code smell’, the definition of which is along the lines of “a symptom of a deeper problem in design”, which is not even remotely close to “that’s not how I want it”
  7. Murphy’s laws are the ever-present bane to the programmer’s existence
  8. oh you missed that semi-colon? yeah I’m not gonna let you know about that until after the Pull Request is merged – the task runner
  9. Pair programming can actually draw out a lot of productivity, even when only done partially right (asking the guy next to you about existing code, rather than actually there being two people on the same computer with only one keyboard)

anyway, I don’t really like putting a lot of images on these, so I will only add one of some non-essential code and such, maybe on later blog posts I’ll put some more images, if I get inspired

screenshot

tl;dr version:
unlike last time, I’m still on the same project, it’s been frustrating, challenging, rewarding, and fun (though not at the same time… that’d be interesting though), there’s a lot to be done yet, and I feel like most of the work is going to be on getting everything clarified

unrelated to the rest of the post

I’ve had a couple of very happy occasions recently, so even with the heavy, heavy load right now, right now I feel like I’ll be able to manage… hopefully, and I guess I need to get more proficient when it comes to using task runners

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s