jonschoning + programming 247
Signs that you're a good programmer - Software Engineering Tips
27 days ago by jonschoning
https://gist.github.com/5461408
### Signs that you're a good programmer
1. The instinct to experiment first
2. Emotional detachment from code and design
3. Eager to fix what isn't broken
4. Fascinated by the incomprehensible
5. Compelled to teach
### Signs that you're a fantastic programmer
1. Incorruptible patience
2. A destructive pursuit of perfection
3. Encyclopedic grasp of the platform
4. Thinks In Code
5. When In Rome, Does As Romans Do
6. Creates their own tools
### Signs that you're destined for more
1. Indifferent to Hierarchy
2. Excited by failure
3. Indifferent to circumstances
4. Unswayed by obligations
5. Substitutes impulse for commitment
6. Driven by experiences
programming
### Signs that you're a good programmer
1. The instinct to experiment first
2. Emotional detachment from code and design
3. Eager to fix what isn't broken
4. Fascinated by the incomprehensible
5. Compelled to teach
### Signs that you're a fantastic programmer
1. Incorruptible patience
2. A destructive pursuit of perfection
3. Encyclopedic grasp of the platform
4. Thinks In Code
5. When In Rome, Does As Romans Do
6. Creates their own tools
### Signs that you're destined for more
1. Indifferent to Hierarchy
2. Excited by failure
3. Indifferent to circumstances
4. Unswayed by obligations
5. Substitutes impulse for commitment
6. Driven by experiences
27 days ago by jonschoning
The Perils of Partially Powered Languages
6 weeks ago by jonschoning
But then there's the really big issue: the whole reason to use Java was so that all of their Java programmers would understand the code. And we haven't achieved that goal at all. The Java code was the most innocuous part of the project. Now in order to understand what's going on, they need to know Java, Ant and XSLT.
programming
6 weeks ago by jonschoning
What Do Programmers Want? | Henrik Warne's blog
7 weeks ago by jonschoning
The product is software
Great colleagues
Challenging problems
Cool technology
Users
Good salary
Good tools
40 hours a week
Minimal bureaucracy
Working from home
career
programming
job
Great colleagues
Challenging problems
Cool technology
Users
Good salary
Good tools
40 hours a week
Minimal bureaucracy
Working from home
7 weeks ago by jonschoning
Write Code Like You Just Learned How to Program
8 weeks ago by jonschoning
It's extremely difficult to be simultaneously concerned with the end-user experience of whatever it is that you're building and the architecture of the program that delivers that experience.
programming
8 weeks ago by jonschoning
10 Developer Job Interview Tips To Land The Best Job You Can | Making the Complex Simple
8 weeks ago by jonschoning
1. Hire an expert to create your resume
2. Research your interviewer
3. Get an inside referral
4. Learn to solve algorithm based problems
5. Answer questions with passion
6. Avoid “trap” questions
7. Don’t ever lie!
8. Don’t ever be brutally honest
9. Know your computer science basics
10. Build experience creatively
programming
tips
career
2. Research your interviewer
3. Get an inside referral
4. Learn to solve algorithm based problems
5. Answer questions with passion
6. Avoid “trap” questions
7. Don’t ever lie!
8. Don’t ever be brutally honest
9. Know your computer science basics
10. Build experience creatively
8 weeks ago by jonschoning
SOLID (object-oriented design) - Wikipedia, the free encyclopedia
12 weeks ago by jonschoning
S
SRP
Single responsibility principle
an object should have only a single responsibility.
O
OCP
Open/closed principle
“software entities … should be open for extension, but closed for modification”.
L
LSP
Liskov substitution principle
“objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program”. See also design by contract.
I
ISP
Interface segregation principle
“many client-specific interfaces are better than one general-purpose interface.”[5]
D
DIP
Dependency inversion principle
one should “Depend upon Abstractions. Do not depend upon concretions.”[5]
Dependency injection is one method of following this principle.
solid
design
programming
SRP
Single responsibility principle
an object should have only a single responsibility.
O
OCP
Open/closed principle
“software entities … should be open for extension, but closed for modification”.
L
LSP
Liskov substitution principle
“objects in a program should be replaceable with instances of their subtypes without altering the correctness of that program”. See also design by contract.
I
ISP
Interface segregation principle
“many client-specific interfaces are better than one general-purpose interface.”[5]
D
DIP
Dependency inversion principle
one should “Depend upon Abstractions. Do not depend upon concretions.”[5]
Dependency injection is one method of following this principle.
12 weeks ago by jonschoning
How To Become A Hacker
february 2013 by jonschoning
Why This Document?
What Is a Hacker?
The Hacker Attitude
1. The world is full of fascinating problems waiting to be solved.
2. No problem should ever have to be solved twice.
3. Boredom and drudgery are evil.
4. Freedom is good.
5. Attitude is no substitute for competence.
Basic Hacking Skills
1. Learn how to program.
2. Get one of the open-source Unixes and learn to use and run it.
3. Learn how to use the World Wide Web and write HTML.
4. If you don't have functional English, learn it.
Status in the Hacker Culture
1. Write open-source software
2. Help test and debug open-source software
3. Publish useful information
4. Help keep the infrastructure working
5. Serve the hacker culture itself
The Hacker/Nerd Connection
hacker
howto
programming
What Is a Hacker?
The Hacker Attitude
1. The world is full of fascinating problems waiting to be solved.
2. No problem should ever have to be solved twice.
3. Boredom and drudgery are evil.
4. Freedom is good.
5. Attitude is no substitute for competence.
Basic Hacking Skills
1. Learn how to program.
2. Get one of the open-source Unixes and learn to use and run it.
3. Learn how to use the World Wide Web and write HTML.
4. If you don't have functional English, learn it.
Status in the Hacker Culture
1. Write open-source software
2. Help test and debug open-source software
3. Publish useful information
4. Help keep the infrastructure working
5. Serve the hacker culture itself
The Hacker/Nerd Connection
february 2013 by jonschoning
related tags
10years ⊕ adt ⊕ age ⊕ agile ⊕ algorithm ⊕ algorithms ⊕ angularjs ⊕ api ⊕ apprentice ⊕ architecture ⊕ arduino ⊕ art ⊕ asp.net ⊕ attiny ⊕ attiny85 ⊕ avr ⊕ bacon ⊕ ballofmud ⊕ beginning ⊕ bestof ⊕ bestpractices ⊕ bigballofmud ⊕ bigo ⊕ blog ⊕ book ⊕ books ⊕ business ⊕ c ⊕ cache ⊕ callback ⊕ callbackhell ⊕ Cappunico ⊕ career ⊕ challenges ⊕ cheatsheet ⊕ checklist ⊕ cleancode ⊕ clojure ⊕ code ⊕ codebender ⊕ codehs ⊕ coderead ⊕ coding ⊕ coinchange ⊕ collaboration ⊕ college ⊕ competetion ⊕ competitive ⊕ compiler ⊕ compsci ⊕ computers ⊕ computerscience ⊕ contests ⊕ controversial ⊕ creativity ⊕ crypto ⊕ cs ⊕ css ⊕ culture ⊕ dabeaz ⊕ database ⊕ design ⊕ designpatterns ⊕ dev ⊕ developer ⊕ development ⊕ device ⊕ diy ⊕ driver ⊕ dwave ⊕ dynamicprogramming ⊕ ebook ⊕ editor ⊕ education ⊕ election ⊕ electronics ⊕ embedded ⊕ engineering ⊕ estimation ⊕ exercises ⊕ featureenvy ⊕ float ⊕ fonts ⊕ freenode ⊕ functional ⊕ functionalprogramming ⊕ funny ⊕ games ⊕ genetic ⊕ geneticalgorithm ⊕ git ⊕ go ⊕ google ⊕ gracehopper ⊕ graph ⊕ gtd ⊕ guide ⊕ hacker ⊕ hammer ⊕ hanselman ⊕ hardware ⊕ hash ⊕ haskell ⊕ health ⊕ hiring ⊕ hn ⊕ howto ⊕ ide ⊕ inetview ⊕ inspiration ⊕ interesting ⊕ interivew ⊕ interview ⊕ ipad ⊕ java ⊕ javascript ⊕ job ⊕ joeltest ⊕ kata ⊕ kernel ⊕ kids ⊕ knitting ⊕ knuth ⊕ lambda ⊕ language ⊕ languages ⊕ latency ⊕ learning ⊕ life ⊕ linux ⊕ lisp ⊕ list ⊕ logging ⊕ logic ⊕ maker ⊕ management ⊕ manager ⊕ manning ⊕ map ⊕ marketing ⊕ matasano ⊕ math ⊕ memory ⊕ microcontroller ⊕ microjs ⊕ mobile ⊕ monad ⊕ monalisa ⊕ mud ⊕ music ⊕ name ⊕ node ⊕ nosql ⊕ nothing ⊕ noun ⊕ numbers ⊕ oocss ⊕ oop ⊕ pdf ⊕ performance ⊕ pg ⊕ philosophy ⊕ physics ⊕ pip ⊕ polyglot ⊕ processing ⊕ productivity ⊕ programming ⊖ promise ⊕ protected ⊕ psychology ⊕ puzzlelanguage ⊕ pypl ⊕ python ⊕ quantum ⊕ quantumcomputing ⊕ racket ⊕ Reactive ⊕ read ⊕ recruiting ⊕ reference ⊕ repetition ⊕ repository ⊕ research ⊕ resolution ⊕ rest ⊕ revel ⊕ review ⊕ ruby ⊕ sat ⊕ scala ⊕ scalability ⊕ scheme ⊕ science ⊕ scrum ⊕ search ⊕ security ⊕ sicp ⊕ skills ⊕ software ⊕ solid ⊕ srp ⊕ stackexchange ⊕ statistics ⊕ swig ⊕ symbolhound ⊕ teaching ⊕ technology ⊕ teensy ⊕ tinytocs ⊕ tips ⊕ tree ⊕ trends ⊕ trivium ⊕ tutorial ⊕ tutorials ⊕ twitter ⊕ type ⊕ types ⊕ unsub ⊕ usatoday ⊕ v8 ⊕ vector ⊕ video ⊕ vietnam ⊕ vim ⊕ virtualenv ⊕ web ⊕ webdev ⊕ wiki ⊕ windows ⊕ wishlist ⊕ wit ⊕ with ⊕ women ⊕ yegge ⊕Copy this bookmark: