Details
-
AboutI have a super power, power to see the things from another dimension.
-
Skills<!comment>
-
Location~
-
Website
-
Github
Joined devRant on 6/19/2016
Join devRant
Do all the things like
++ or -- rants, post your own rants, comment on others' rants and build your customized dev avatar
Sign Up
Pipeless API
From the creators of devRant, Pipeless lets you power real-time personalized recommendations and activity feeds using a simple API
Learn More
-
"The ability to change on a dime is one thing small teams have by default that big teams can never have. This is where the big guys envy the little guys. What might take a big team in a huge organization weeks to change may only take a day in a small, lean organization. That advantage is priceless." - Andrew Hunt
-
"Most companies are looking to 'wow' with their products, when in reality what they should be looking for is an 'of course' reaction from their users." - Christian Lindholm3
-
!rant
After over 20 years as a Software Engineer, Architect, and Manager, I want to pass along some unsolicited advice to junior developers either because I grew through it, or I've had to deal with developers who behaved poorly:
1) Your ego will hurt you FAR more than your junior coding skills. Nobody expects you to be the best early in your career, so don't act like you are.
2) Working independently is a must. It's okay to ask questions, but ask sparingly. Remember, mid and senior level guys need to focus just as much as you do, so before interrupting them, exhaust your resources (Google, Stack Overflow, books, etc..)
3) Working code != good code. You are an author. Write your code so that it can be read. Accept criticism that may seem trivial such as renaming a variable or method. If someone is suggesting it, it's because they didn't know what it did without further investigation.
4) Ask for peer reviews and LISTEN to the critique. Even after 20+ years, I send my code to more junior developers and often get good corrections sent back. (remember the ego thing from tip #1?) Even if they have no critiques for me, sometimes they will see a technique I used and learn from that. Peer reviews are win-win-win.
5) When in doubt, do NOT BS your way out. Refer to someone who knows, or offer to get back to them. Often times, persons other than engineers will take what you said as gospel. If that later turns out to be wrong, a bunch of people will have to get involved to clean up the expectations.
6) Slow down in order to speed up. Always start a task by thinking about the very high level use cases, then slowly work through your logic to achieve that. Rushing to complete, even for senior engineers, usually means less-than-ideal code that somebody will have to maintain.
7) Write documentation, always! Even if your company doesn't take documentation seriously, other engineers will remember how well documented your code is, and they will appreciate you for it/think of you next time that sweet job opens up.
8) Good code is important, but good impressions are better. I have code that is the most embarrassing crap ever still in production to this day. People don't think of me as "that shitty developer who wrote that ugly ass code that one time a decade ago," They think of me as "that developer who was fun to work with and busted his ass." Because of that, I've never been unemployed for more than a day. It's critical to have a good network and good references.
9) Don't shy away from the unknown. It's easy to hope somebody else picks up that task that you don't understand, but you wont learn it if they do. The daunting, unknown tasks are the most rewarding to complete (and trust me, other devs will notice.)
10) Learning is up to you. I can't tell you the number of engineers I passed on hiring because their answer to what they know about PHP7 was: "Nothing. I haven't learned it yet because my current company is still using PHP5." This is YOUR craft. It's not up to your employer to keep you relevant in the job market, it's up to YOU. You don't always need to be a pro at the latest and greatest, but at least read the changelog. Stay abreast of current technology, security threats, etc...
These are just a few quick tips from my experience. Others may chime in with theirs, and some may dispute mine. I wish you all fruitful careers!221 -
You can be very good at writing algorithms and good quality code, but if your architecture is garbage, you'll be doing hacky fixes and end up with a spaghetti code.3
-
This talk by Rich Hickey had a tremendous influence in how I approach my work:
https://youtu.be/f84n5oFoZBc
His Hammock Driven Development is my absolute favorite when it comes to work principles in programming/engineering. It also the one that is the hardest to explain to most PMs and leads because it can look like you are slacking off while others are producing hundreds LOCs. That you'll write better, less error prone code that won't need as much QA iterations is something you first have to prove to them but to me, it's well worth the effort.
If you have 40 minutes of time, do yourself a favor and watch the video. Maybe it'll have as much influence on you as it had on me 😃 -
Today while i was working on my web project, suddenly my boss put his hands in my pants, jerked me off and then i continued my work like nothing ever happened.
Being your own boss has its own advantages ;)12 -
Hey everyone, I'm sorry if this is the wrong plqce to do this but I'm trying to start a programming podcast and have a blog with a few hundred daily readers (https://www.runtimerror.com) . I'm in need of someone to regularly do podcasts with (they'd be a weekly thing). If anyone wants to join, feel free to comment or email me at dovzhanyn.alex@gmail.com and we can talk further.4
-
When asked what the spec is, or any overall vision for the project:
We are building the ship while sailing.3 -
I am reading a book that intoduce 23 design patterns. I can understand what they say ,But when start to code,I find that I not sure where should I Use thoes patterns。dose it come from experience? I cant get the point.5
-
Our company is restructuring and our CTO offered me the lead architect role. I'm currently the dev manager for about 40 guys and girls. I was delighted.
So, because I believe people make shit up in the absence of information, I called my seniors in to explain the possible restructure. To my surprise (and shock), they dropped the following pearl on me...
If they had to report to anyone else, they're going to leave the company.
I tried to convince them that one of them can apply for my role, also no.
Don't get me wrong, I love my team and do feel flattered about their response. But I also feel a bit trapped/confused now. I've spent the last 6 years building and protecting the team from 5 guys. And frankly, I'm tired and just get back to focusing on coding.
Any sage advice?3 -
Pseudo-rant:
I'm worn out from working a full-time job, working on my app, and having a family.
My app has potential, I launched it in July (iOS only so far) and am already well over 1000 active users. It's first week in the app store, it was in the top 100 for it's category.
It has some bugs that I'm working out, and some features that are in high demand.
I'm currently completely refactoring the API because I let it become spaghetti as I went from concept to v1.
That refactor means a rewrite of the website, and a major refactor of the iOS app, which is all fine and dandy.
On to the question: I am an engineer/architect, not a business major. I know I could really use help, and I know the perfect people to try to bring on, but also know I have nothing real to offer them other than a stake in the company.
As a developer, does a stake in a promising, but unproven company have enough prospect to sacrifice your time for?
Am I just being impatient, and should I continue nibbling at it myself until I get there, even if it takes a long time?
How do you determine the stake to give up, when you know that you COULD do it all yourself and keep all the monies?
I should have taken some business classes.12 -
how soon will it be before someone develops an out of the box packet sniffer for those wireless apple headphones8
-
So far one of the biggest challenge for me is if I should spend my money on a girlfriend or computer components.
.
.
.
I am getting a £1400 pc soon5 -
*discovered new tool*
Magnificent app which corrects your previous console command, inspired by a @liamosaur tweet.
https://github.com/nvbn/thefuck8 -
Not a rant, but maybe someone can help me on this one.
I am currently working on an app that will hopefully go live by the end of the year. Up to now, the webserver and database (for the REST API) is running on an old linux machine. However, as my ISP is not really reliable I want to move this stuff somewhere else. Has someone experience with the varios hosting providers? Currently I am a little bit overwhelmed by all the different solutions out there.
Ideally I would want something that doesn't cost very much now, but also scales with more users.
To make it more concrete, it's basically about neo4j + REST API in Python
Can somehow recommend anything? I really appreciate it, as I am currently a little bit lost on this.
Thanks for reading this!27 -
!rant
Today I took a look at https://hexo.io/ as a static website generator for github pages.
It seems pretty decent and you can create your content in any of the 'layers' you like. (markdown, jade, scripting or plain html)1 -
Found a coworker's unattended Mac? Let us freak em out (err prank em out).
Open the terminal app and type:
crontab -e
Append:
*/30 * * * * say -v whisper "I am watching you"
Save and close the file. You're welcome. Linux user replace say with espeak command ;). Credit https://twitter.com/JZdziarski/...3 -
In my office they forced us to use Darwin Box. We need to login and click on clock in once we come to office. Fucking irritated. Who the hell remembers to clock in.
I wrote a simple Python code to clock in and made it as launched jobs.
Automatic clock in. *No Worries* 😅
#ProudToBeDev
Here is github:: https://github.com/Gowtham95india/...5 -
Got a new server that is mainly going to be used for development tools: Gitlab, Docker, and others. Anyone here have any suggestions on how to set it up? Should we virtualize it or use Docker on top of a light OS light Core OS?5