AboutI have been writing software systems for quite some time now.
Joined devRant on 10/5/2016
Do all the things like ++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatarSign Up
I will give you a reverse rejection. Went to two interviews on site with company. They asked me a question, and I struggled. Solved the question one hour after the interview :) asked me to come for a second hands on interview, make some changes to sample code. Did that reasonably well. I rejected them because in both times the engineers we're sitting behind their laptops and were working. 0 interest or engagement on their side about the candidate.
That startup failed some years after.1
Our intern is a weird bird. He is an immigrant (like me) and should be working his ass of to become an FT, and then tie the H1B. I never had an opportunity like this.
Instead the dude sat on his hands for four/five months since hired. He was managed remotely and fairly low touch. He was doing some light support work initially, though I had not heard anything from him.
I take him on now as his ass is about to get dropped. Manage him much more directly (small tasks several checking per day, you get the picture). We need to deliver something relatively simple in three weeks.
On Thursday I find out that the dude has no idea of what Spring is (we are a Java shop). Dude, you have had access to our fucking code base for five months, didn't it cross your mind to poke in? Maybe do a little research and see what this thing is that we are using ALL OVER THE FUCKING PLACE? I sit two desks from you, why the fuck didn't you ask me a question? This ain't fucking socialism where we have a five year plan.
I swear, two things I dislike: incompetence and laziness. And incompetence can generally be cured with some lecturing if the other party is willing to listen.14
One year ago I made a resolution to do one of two things: get serious about learning neural networks, or finish one of the side projects (markdown based wiki with some nifty features). Didn't do the first one, and got the second one to about 50%.
Not really happy as I did not complete any goal. Still some decent work was done and built an open source parser. So, I guess I am 50% happy.
What were your achievements this year? Did you achieve 100%?3
Mine: not listening to early warning sings that shit won't work. As a result we implemented the wrong technology and had to roll back after a month in production. Lost some customers data, though we had backups, so it was just a delta of a day or so. Still, not pretty, had a rough night writing scripts at 3am to check data validity after.
I will throw in another one from a colleague of mine. He was running some database migrations and ended up pointing the DB migration tool to production by accident. Oops. That one required a restore as well, if I remember correctly.
Any good advice for managing junior developers?
In my experience I have found that loose definitions of work to be completed yields poor results. Honestly, sometimes I wonder if I have to write the code structure and leave a bunch of TODO comments for people to fill in.
Or alternatively people get going on tangents without thinking of the concrete problem given.
Or go try building generic abstractions that are unneeded and will not be reused complicating even the simplest use case.
Maybe the problem is in me and that I am not clear in communicating what's needed. What techniques do you guys use to get more or less what you want?7
My biggest regret is not spending more time on Math. While I don't think it has hurt me directly, it has certainly decreased the chance of me learning some DL methods.
That and not pursuing a PhD.2
Works great, until it doesn't because of network partitions. Then your cluster needs restarting.
I see a lot of crap about junior vs senior devs nowadays. I think the distinctions are small.
In reality senior devs have been burnt more in the past by their own mistakes or have seen mistakes by other people. That's about it.
What other distinguishing characteristics have you found?7
Not the question itself, the attitude was the problem.
I didn't solve the problem that they gave me, and struggled for a while (I ended up solving it an hour after the interview).
Their attitude was that they were both sitting on their computers working and not paying attention to me.
That was disrespectful and stupid. Interviews are also about figuring out whether you can work with the person being interviewed, not just their tech chops. They completely missed the opportunity.
I went to round 2 which was the same. Didn't go for round 3.
As a Java developer, reasons to kill other programmers:
- static mutable variables
- WRITING to static mutable variables
- API call with Framework X didn't work. Add Framework Y along with X and try that. Wrap X in try/catch statement. Catch block fires framework Y.
- six, seven, ten levels of nested code. Zero thought put in organization
- 6K LOC Java files
- spring (singleton? Maybe) object assigning values in static mutable (see pt.1)
- a couple of unit tests in code base that no longer work. Zero unit tests in new code
- unit testing disabled in CI pipeline
- empty catch blocks
- pass mutable data between threads. Modify in various places concurrently.3
This week I am finishing my brand new and probably buggy cluster manager for vert.x based on redis.
Can't wait to start battle testing.2
First job while in college... Was working for web dev team lamp set up before lamp was lamp (year was 2000).
Had deadline one week after summer vacation. Worked non stop a couple of days to get shit done and didn't make it. Got in a conflict with my manager in front of the team and I blew my steam off. Quit on the spot.
1. Don't be a fucking idiot when estimating work.
2. Be cool with other teammates, nobody cares about drama and nobody has to feel sorry for you.
3. Uhm, plan? Had entire fucking vacation to get work done. I was a fucking moron.
4. Burning out is stupid and unproductive.
5. Your manager can be as poor in management as you are. Your job is to try to make them better at it, as they have less visibility in the details.
Next job in grad school. Worked for a security company. Direct manager had the bright idea to make execs sign the change requests. WTF. Code was in Perl/php, a mess. Team rewrote back end DB access , taking over six months, or more, failing twice the deadline. After a final 48 hour burn out, we ship and get laid off the week after.
1. Don't work for dicks.
2. Don't be a dick yourself.
3. Don't work for dicks.
Third job was in silicon valley. It was a great company, and I stayed there for five years.
I hate interviews. I am not too keen on giving them and not too great at taking them, though I typically do well.
We are smart people, there has to be a better way than coding things on the fly...
I think I am going overboard with Java streams and my fellow programmers will hate me. I have not written a loop for... a month? My code is starting to be extremely semantically dense.
Wanting to write some useful open source Java for my github portfolio. Biggest issue is that somebody has already done it for anything that comes to mind :(3
Not happy. On my side project things all of a suddenly stopped working in the browser. Debugging shit is a pain as the JS code is generated.
I still don't get how it was working before and now it doesn't, when I basically think I didn't touch anything.
Hate feeling like a n00b.
So I would really like to see a devrant like app where devs can share design ideas for problems that are greater than a function call, or topical questions found on stack overflow.
As I have gotten older, I have realized that actual implementation is typically easy, the design approach is typically harder to get right from the first go, so open critique can be very useful.6
Fucking Java 8 java.time package. I want to kill the damn developers of this useless piece of shit code.1