Live data from Hacker News

I'm a good engineer but I suck at building stuff

lionelbarrow.com

91–100 of 128 posts

Re: I'm a good engineer but I suck at building stuff

#91
post #2

I feel like my experience is the opposite of this. I've never understood something until it stood between me and building what I needed to build. This approach has been great professionally, but lately I'm becoming more interested in theory intensive fields and struggling to find resources that teach from the perspective of someone who wants to build something that requires the knowledge involved, rather than someone…

I agree! I have a hard time focusing on something that is purely academic unless said academic thing seems to have a property I want to explore on my own or use to build something. I got several C's in calculus because I was too busy messing with slightly different calculus instead of doing the problem sets for the tests. I regret nothing, but I wish I could learn the same way most people seem to be able to sometimes…

Don't wish that, you have personalised learning for internal goals over grades. You will continue learning for your whole lifetime. While some others will need approval incentives just to pick up a book.

Re: I'm a good engineer but I suck at building stuff

#92
Another thing I run in to a lot is people saying "I know how to program, but I don't know what to build." There is an amount of creativity involved with programminng.

It's like learning how to physically manipulate a guitar and play notes, but saying "I don't know what to play." That happens a lot too, but musicians have the repetoire of other composers to play if they do not want to write their own music (many don't). With programming, recoding something is called reinventing the wheel and that's frowned upon.

Ok, sometimes the analogies are forced, but I hope you get it! It's kind of interesting though, because in order to progress we have to build something new, or build on top of what we have, so the technology is forced to evolve. Music can repeat over and over and people don't get tired of it and you could argue pop music is working against the evolution of music.

For anyone who hasn't seen the four chord song... https://www.youtube.com/watch?v=oOlDewpCfZQ Wait, what we were originally talking about now?

Re: I'm a good engineer but I suck at building stuff

#93
Good advice! If we really cared about the systems we create and the effect they have on the world then the language it is programmed in and the implementation of that system would only be one part of the process. The means of effective reasoning about the design of software systems is formal. However it seems to be outside the scope of any introduction to computer science or programming course.

To quote Friedrich Bauer:

"Software engineering is the part of computer science which is too difficult for the computer scientist."

Re: I'm a good engineer but I suck at building stuff

#94

Earlier quoted context omitted.

I'm naturally a perfectionist, so I fall into this trap often, though I've gotten better over time. I rely on a few simple tricks (ugh, the buzzfeed headline practically writes itself): 1. If I'm stuck and can't decide which path to take, it's usually because I don't have enough data to tell which path is better. The fastest way to get that data is to pick one path arbitrarily and start walking down it. Pretty soon,…

I have recently started to just commit to one path as well. It reminds me a lot of writing papers for my classes when I was in school. Staring at a blank page is hard and staring a blank IDE can be even harder. I find that just starting with the smallest thing you know is your first step, be it a simple API call or even just spitting out "Hello World", really helps and after you start you can keep iterating on that b…

Thank you for the reminder - you've made me realise I've been trying to implement a whole system at once when I really should just do the proof of concept and go from there (the only problem with that is that prototypes have this funny way of making it into production when you least expect it)

Re: I'm a good engineer but I suck at building stuff

#95

Earlier quoted context omitted.

I'd probably swap them: 1. Make it work. 2. Make it not break. 3. Make it manageable. 4. Make it fast. Otherwise I find that trying to make something fast before making it manageable usually ends up in crazy hacks that are hard to undo later.

3.5 Profile it to see whether or not it needs to be faster

If you profile it on a fast machine, your results might lie to you.

Re: I'm a good engineer but I suck at building stuff

#96
post #67
post #45

Earlier quoted context omitted.

coming up with side projects is difficult.

What worked for me was finding a civic problem that was annoying just enough to want to fix, no matter how large it is. You learn a lot from it, but it also gives you a chance to get more involved in civics, particularly from the projects that stem off. Since the motivation is in helping your community out, it gives a little extra motivation and joy. The projects kind of build on themselves since the rabbit holes go…

Are you located in Chicago? If so, sounds like your project would fit in perfectly at ChiHackNight: http://chihacknight.org/ I'm guessing that you are already familiar with ChiHackNight, but if not I recommend checking it out.

Re: I'm a good engineer but I suck at building stuff

#97
post #3

> When I try to build something new, I find myself instantly criticizing my technique, to the point of paralysis. This function is hard to test; this object's dependencies need to be injected rather than initialized internally; that module needs an integration test; and so on and so forth. Even when writing spike or proof of concept code, I find myself revisiting the same lines over and over again, looking for the be…

I had this tendency too, and I've found that it helps to explicitly declare the first part of your process as "start at this new thing and suck at it." Firstly, because in order to suck at something, you're doing it, however badly. Secondly, because once you have some results, however bad, you can improve.

It's exactly like randomly initializing a neural net before starting with your training data. The results from the random weights will be garbage but that doesn't mean they're not useful.

Re: I'm a good engineer but I suck at building stuff

#98

Earlier quoted context omitted.

3.5 Profile it to see whether or not it needs to be faster

If you profile it on a fast machine, your results might lie to you.

Or on a machine on a fast network, or SSD vs spinning-rust, or any number of varying factors.

Re: I'm a good engineer but I suck at building stuff

#99
I can relate to this. You see it in a lot of domains. I see two concepts that apply: Practice/Performance and Generation/Synthesis.

To be a musician you must practice, but you must also perform. These are two different modes. When practicing, the goal is to improve a specific technical skill. You don't concern yourself with expression at all. You will repeat the same passages over and over and many exercises sound really terrible. When you perform, you put your trust in your training and you access an intuitive part of yourself to add feeling and nuance to your playing.

In design thinking, it is common to split activities into generation and synthesis. When generating, you recklessly explore possiblities, tossing them out, following blind alleys, making weird connections. Synthesis is the process of evaluating the generated ideas against some framework, such as goals or known models, finding patterns, simplifying and making coherent.

We need all of it: practice, performance, generation and synthesis. Experience brings a sense of when each mode is appropriate or needed. Being explicit about which mode you are working in removes the stress from attempting to practice while you are generating or similar dissonant mixes.

More concretely, a user-centered process has brought a lot of this mental framework to development for me. Step one is never setting up a test harness, it's understanding the user and their goals, even if the user is yourself.

Everything else flows much more easily from this starting point. You can base your decisions on how they will affect the user instead of on "best" practices that may not have the best outcome in your situation. Things like precision, speed, fidelity, automation, complexity, stability, even whether or not to build something--all involve trade offs that affect the user in different ways. You can experiment more freely knowing that you will evaluate your experiments in terms of their utility for the user.

The art is in applying this left-brain-right-brain dance to trace a path through all the complexity on behalf of the user.

Re: I'm a good engineer but I suck at building stuff

#100
post #67

Earlier quoted context omitted.

What worked for me was finding a civic problem that was annoying just enough to want to fix, no matter how large it is. You learn a lot from it, but it also gives you a chance to get more involved in civics, particularly from the projects that stem off. Since the motivation is in helping your community out, it gives a little extra motivation and joy. The projects kind of build on themselves since the rabbit holes go…

Are you located in Chicago? If so, sounds like your project would fit in perfectly at ChiHackNight: http://chihacknight.org/ I'm guessing that you are already familiar with ChiHackNight, but if not I recommend checking it out.

edit: sorry for the rant!

Yep, I've been there a few times. Meant to go there today, actually. Cool crowd, but I have some general criticisms of the way they do things. I'm almost to the point of thinking that their work is an overall detriment to the city, since there's a strong tendency towards group thought rather than individual exploration. Their workshops also get nothing done since the barrier for entry is so low that they're so busy answering pretty basic questions.

They actually brought in a hired gun political data scientist who does research on his employer's opposition to help paint a bad picture of opposition. It was seriously presented in a positive light and everything! Hell, when I asked him his thoughts on FOIA, he basically completely shrugged me off and called it useless, despite things like that graph, which was created through FOIA data.

Chicago's head data guy is there almost every time, working on workshops, which is pretty neat. Incredibly interesting guy. But, I have a hard time finding legitimacy in his presence when Chicago's only analysis of parking ticket data (something ChiHackNight would love to work with) is this [0]. Received through FOIA after specifically asking for any analysis they've done on parking tickets... You'd think the head of data would have addressed that.

It all just feels very Feel Good.

Once I get this project to a certain point, I'll probably head back there and show it off and ask if someone else wants to take it over. Eventually, starting one of my own group would be nice, but I'd like to have something under my belt beforehand to help with legitimacy.

[0] https://drive.google.com/file/d/0B3A6c_C6BZZuYWwwRmJQTXhnZnV...

Post reply on HN