So good news: you didn't necessarily miss very much. Get a basic algorithms/data structures book and skim it, and you're good to go.
But like all programmers there's lots more to learn, and mostly you will learn it on the job from coworkers. Things like testing and API design and performance analysis.
http://sijinjoseph.com/programmer-competency-matrix/ is useful (you don't need to be top at all of it, though!) but leaves out a lot of important skills.
It is hard to know what you have missed, since you specificly say webdev, you can get by with very little knowledge and still make functional websites. Im guessing that low level stuff is what you are probably missing, maybe some design patterns.
I think the best way to get validation of your skills is to get your work peer reviewed, either by working in a shop that actually does code reviews or participating in open source or even just putting your own stuff on github.
Best advice I could give to any professional is to ACTUALLY READ the great books of the field. Everyone wants the distillation and the cliff's notes versions, and a lot gets lost in translation. There are a lot of threads on HN where people recommend their favorite programming books.
The other thing would be the old "harder you work, the better you'll get" adage. Book learning can only take you so far.
hardware, chip, logic gate design. Asm.
compiler design, some math stuff
fizz buzz, fibonacci, fucking sort functions, and palindromes
(From what I've seen from other devs)
I also remember using Amazon payments a couple of years back but that was to pay an US provider not Australia, so your mileage may vary.
Then you can convert them to cash at coinbase and alike exchanges right away.
Basically what you are trying to offer is the holy grail of startups. If you have figured out how to get a 100 real engaged customers to any service on demand then you can get a thousand or a million. If you can do this can I please invest in your business because you are going to be a billion dollar company.
In general it's going to be much harder to convince 100 users to sign up to a $100 service compared to a $5 service.
It's also going to be much harder to get 100 users to sign up for a terrible product. Are you saying I could create a crappy MVP then pay $2,000 knowing that you'd probably only achieve 10 users max and then get my money back?
It sounds like you need a more complex metric than just number of users.
> Promises to get you at least 100 people to sign up to your pre-launch list within 4 weeks or else all the work done is yours for free. These are targeted people that opted in, showing interest in your idea which you can then later work with to launch your product to, or talk to in order to improve what you're working on.
What about a pipeline of leads and an outbound marketing campaign instead; and then the execution of that campaign once the product is built would be another way to do it - I think some SE folks would love to build a product but completely outsource the marketing of it until they have some traction. Thats the problem you're solving.
In reality we only got a few leads and they weren't as relevant as we had hoped. We ended up suing for breach of contract and got about 1/2 of our money back.
My takeaway was to be very skeptical of someone else that says they can get customers for you. It may work at a later stage for a company but for earlier stage companies I'm not sure you can (or should) outsource that.
That said, you can probably find people who haven't had the same experience as me that would pay you some $.
And thinking a good price is irrelevant until you have a product. Some products you supply at $0.70 others at $1,000+
Having clarified that distinction between user and lead what you seem to be thinking of offering is $20 per opted-in targeted lead along with design and copy editing services to make pre-launch start-up look more professional.
The pricing seems fine if you have a portfolio that shows that you can actually do the design and copy editing. I feel like the 100 users or your money back is gimmicky.
Maybe a fixed pricing something like the following:
Logo, color palette and font selections - $300
Create landingpage - $300
Writing and copy editing for landing page, automated response email $400
Targeted opt-in leads $10 per lead
This still gets you to the $2000 if you succeed at the lead generation.
I spent 5 years trying to get a micro ISV off the ground which made scheduling software for hair salons. It was a terrible idea for a large number of reasons (described in detail here: https://www.jasonswett.net/im-shutting-down-snip-heres-why/) and I never made more than about $430/mo.
My opinion now is that info products are a better way for a solo founder to get started with a product business. The reason is that a SaaS product can take a huge amount of effort (perhaps pre-traction effort, which is risky) to get off the ground whereas an info product business can be started with a tiny "guide" and then expanded outwardly from there, keeping effort in proportion with traction the whole time.
My current business is AngularOnRails.com, an info product business. In its third month of making money, it made $1580, over 3 times what the SaaS made at its peak. Here's a detailed income report: https://www.jasonswett.net/november-2016-angular-on-rails-in...
I tried finding a partner to work with, but that's pretty much impossible in Silicon Valley where I live. Most good engineers want to work for one of the glamorous companies in the Valley. Oh well...
I've been working on Jollyturns for the past 5 years. It's been a lot of work, but I do it at my own pace since I still want to enjoy myself. The experience is unique. I write all the software myself, and hired few people to help map the ski resorts. I built a bunch of custom tools for the mapping work, so people can map the location of lifts, ski runs, restaurants inside a ski resort. I ended up having mapped all the ski resorts in the world, about 2700 of them.
Writing the code is the easy part. I found marketing to be the hardest. You need to find a way to make the world know what you built, and that's hard!
For example, do research that shows that 7% of companies in industry XYZ use certain CRM. Analyze that industry and see what common use cases and pain points are. Somehow figure out what the CRM is missing for that industry. Validate the idea before building it by reaching out to said companies.
There would be a lot more to it, but basically a plugin for established software a company already uses is much easier and less risk to sell when you are a small shop.
The harder part about running a solo SaaS company is building revenue takes _a very long time_, particularly if you're new at this. Most of my peers take ~18 months to hit the ~$10k revenue number that lets them durably transition to running the business as the full-time gig.
If you want to run a one-person shop which creates value substantially related to software, but you don't want to bite off the complexity of writing and selling a SaaS app for your first rodeo, I'd recommend a business model like productized consulting (the glide path to shipping a SaaS app!), selling infoproducts, or selling some sort of addon to an existing software ecosystem (WordPress, Shopify, etc).
Just build something that you know people need (meaning: there are other products in that space) that has a small enough scope so a single person can build it in a month or two. Then charge money for it.
The software market is ludicrously large, and because you don't have marginal costs in a software business you can afford to make a lot of mistakes on the business side of things and still make a profit.
You don't need a great product (plenty of lousy products sell well) and you don't need great business sense (many CEOs don't know what they're doing) and you don't need great marketing (same). For your business to work you have to clear the minimum bar in all three areas, but luckily the bar is set pretty low!
The two biggest things that make this possible:
a) Email support only, no telephone support (sales or post sales). Not everyone likes it, of course, but if you're determined to be a one man band, it's essential.
b) Automation of every single thing you can. For you, it would be a different list, but I had to automate things like refunds, tracking numbers, inventory levels, fraud detection, etc.
Also consider having someone you trust have access to documentation, passwords, accounts, etc...in case of some kind of emergency, etc. If it's making money, it would be a shame not to be able to pass it on to a beneficiary if you were to die unexpectedly.
He builds plugins for the Shopify platform and ended up hiring one developer to do full time onboarding of new clients, support and documentation, but does all product development himself.
I think it's definitely realistic. You gotta just have a mindset where you try and eliminate all bottlenecks and automate as much as possible.
The trick he found for coming up with product ideas was to first do custom development. When enough clients are willing to spend a few thousand for a personal implementation of something, that's when you know you have an opportunity to charge 40$ per month for a SaaS version :)
It's possible, but here's what I have found:
- Partner with resellers who take a commission on sales -- then they can deal with all of the customer management.
- Set realistic goals for uptime, machines go down (it's not if but when), distributed setups are possible and encouraged for larger customers, but they cost more.
p.s. Wanna get a slack channel for solo founders going?
EDIT: I've created a slack group - Email me if you would like an invite!
Source: I read about Balsamiq Mockups soon after it was created, used it in some commercial projects as a consultant/freelancer, corresponded some with Peldi, and also got a free copy of Mockups early on, for having released an open source product. He had a scheme of giving a free copy to such people. May still have it.
IIRC, he initially had the idea of doing Mockups as a web app plugin (for JIRA, maybe), and did it, but a lot of people asked for a desktop app, so he did that too, and I remember reading that at least in the early years (maybe now too), the desktop app sold much more. I used the desktop app in my work I mentioned.
I ran an advertising agency with employees at one point and grew it to $50k/mo but hated it so stopped and went back to single founder SaaS stuff.
Before the recession hit, I also ran a SaaS product in the Real Estate sector that brought in over $70k/mo at its height. I had a few employees during that time too.
I personally enjoy being a single founder running niche products but it has its downsides. Also, once you reach a certain growth point, it becomes much more difficult to go it alone. At that point, you can either hire employees to help or decide maybe it is best to sell.
I'm ok on the sysadmin side (backups, Ansible, etc) and uptime. I'm subpaar on the support side, because I can't develop features fast enough and I have a problems prioritizing things that my various customers need and, at the same time, I panic at the idea of telling them that "I don't know" whether I'll deliver their tiny feature in 1 week or in 8 months. Anyway, it's all problems you can solve by being more efficient or professional, just keep in mind that support/bugfixing will creep up as you add features, up to 80% of your time, at which point you'll either have enough money to hire, or notice that the business model doesn't bring enough money.
There is definitely room for us, micro ISV: Do it as long as you like it / enjoy the lifestyle.
Also, "don't talk to corp dev" (cf Paul Graham's essay) unless you want to sell, in which case use an acquisition broker marketplace (cf patio11's essays).
I went to the conferences when I was a one man startup, and it was helpful.
It's not easy though. Assuming you have product/market fit (i.e. something that sells):
Reliability is paramount. It is everything to you. If your system breaks, it will stop new development, marketing, support responses, sales calls. Because there is only one of you, you can't afford to spend time fighting fires and answering pages. It does not matter if your software is slow or fast or if it is pretty or ugly or if your userbase is growing or not if you are down.
Reliability is paramount. Invest your time into building systems that do not fail when one component or one machine breaks. Where you can, you should leverage primitives and services from cloud providers that provide the kind of failure guarantees you need. Then assume that your cloud providers will eventually fail on you, so design with that in mind. Take as few dependencies on them as you can handle or make sure you can failover between them.
Reliability is paramount. Every change you deploy could break your systems and cause downtime. You need good testing and monitoring. Run continuous end-to-end testing of all customer-facing functionality that pages you when it fails.
Reliability is a feature if your software is critical to your customer's business. Some will notice when your competitors are down and you aren't. For those that don't notice, educate them. Explain to your customers the investments you've made to keep your service up and running. You can sell it as a differentiator.
After that, support is the next time-sink you need to eliminate. Treat every support request as a bug that can be fixed so it doesn't happen again. Make it extraordinarily easy to contact you and then try to optimize so no one ever contacts you. Invest in your UX. Your UX should try to illuminate the inner workings of your software. Many support requests are simply failures of a customer to understand what your software is doing and why. Customers can't debug black boxes, but they are smart and motivated and if you invest in their understanding, many will solve their own problems before contacting you.
Design your error messages. Your error messages are a more important piece of design than any other messaging from your product. Finally, if you can't solve the support bug with UX, invest in your documentation. Documentation is your last resort because most users will not read it or they will only read portions of it. By the time they get to the docs they're already frustrated, so it needs to be fantastic.
It appears to working out quite well for him, as he is currently on holiday overseas.
I have a full time job but one client on the side. I built a system for them that I net $1,250 per month on and do 2 hours of work a month at most. Rackspace takes care of almost all host related items for me.
I have a partner who also makes $1,250 from the same contract. In hind sight I could have easily done the whole project without him and be making $2,500 per month.
Been going for almost 3 years now, probably has a shelf life of another 7 years.
If you can get a few customers like this, you are set. The challenge is of course to get more customers, let me know when you solve that issue, I'm still working on it :)
edit: changed gross to net
The other thing to be careful of is feature creep to ensure it is valuable for your customer base. If one customer complains that they want something which would be super difficult and applicable to only one edge case, I'd take some pause to evaluate the feedback.
The other thing as ovidiup mentioned, marketing is the absolutely hardest. I would even consider it soul draining if you like coding, but it is super necessary. I would recommend reading this book to help think about your sales channel
I know a guy who continues to run a one-man software shop for some municipal government functions that are important, but too small for a more general software company.
Key factor for him is that his uncle had been a well-known person, which got him in the door early on.
No other data source is capable of providing the content we needed. We were forced to shut down.
We knew this was a possible eventuality and our ToS explicitly disclaimed responsibility for it. Our site required users to check both a checkbox and click OK on a dialog box that served only to inform that they used the product at their own risk, nothing was guaranteed, and no refunds of any kind would be furnished. When we shut down, many angry users demanded refunds and issued chargebacks, often after months of successful use, despite the clear and unambiguous language which confronted them several times and required their affirmative assent before they were allowed to purchase anything.
Before we were forced to shut down, other people had caught on to the market and started copying us. We had about a year where we were in it by ourselves. Once serious competitors showed up, they ate our lunch by using a sophisticated spam network to promote their offerings, which were sloppily made by offshore contractors and far worse than our offering in every way, technical and aesthetic.
I refused to engage in similar tactics and felt righteous about it, but it sure cost us a lot of money. They somehow brokered deals with the niche forums that had blacklisted us from day one (or just outspammed their moderation capacity), afraid that we may eventually expand into something that would threaten them directly (which I now plan to do, some day). Perhaps we could've prevented the copycats by acquiring software patents.
These competitors pushed the envelope to the point where it became a visible PR issue and the F100 was forced to respond by C&D'ing every site that operated in the sector I launched and instructing their users to never use anything not distributed directly by the company itself again.
Now, about 16 months post-shutdown, I still get emails from business owners who depended on us begging me to turn the service back on, and saying that their business has been seriously hurt by our absence.
Some of the people in this thread evidently picked much better niches than I did.
Too many pay apps and even games with DLC have gone poof in recent years because of the latter situation or because the cost of maintaining the DLC no longer justified itself.
Eventually, either due to growth or a desire to have free time again, you'll probably want to bring aboard other persons.
First of all, neither bitly links, nor Dropbox public folders are "forever". Both would die immediately if the company shut down, or pivoted, or merely decided to drop the feature (as Dropbox did exactly now) or change the url scheme and deprecate all the old links after some grace period.
The only thing that would be "forever" would be links on a custom domain you control -- and these only for as long as you remain interested in keeping them up and paying for the domain.
Edit: This two-in-one example of the perils of relying on free cloud services. Here it's the whims of Dropbox and the immutability of bit.ly/goo.gl links that have broken OP's setup.
Which means I'm gonna have to find a place to rehost a bunch of files too. Probably one of my own servers, again. Thanks Dropbox, gonna need to move about 200 files now.
- If you start the day with a clean slate, write three things you'd like to do today. Pick the one that will take the longest and do that first. This is Mark Twain's "eat a frog before breakfast" advice and I think it helps a lot.
- Install SelfControl.app and start it for 8 hours immediately when you sit down to work. No matter how in control I think I am, I'm always amazed at how my reflexes take me to some distracting website before I even realize what I'm doing. SelfControl stops this habit by blocking distracting websites and making me aware of them. (Pro tip: don't write an unblocking script)
1) Flux for sleep (sleep being the 'hack')
2) Social pressure: find a community that you want to belong to and that gives you the social pressure towards goals you want to achive
__For programming (when learning a new language)__
For me, the focus is on getting as unstuck as possible. I've noticed that interactive tools help a lot with this because they show you how things 'under the hood' work.
1) Get a text editor or IDE that teaches you how to code -- only if you're new(ish) at a language. Things like Intellisense, a debugger and jumping to function definitions allow you to learn a lot more about code. For me, with Java this is Eclipse (Netbeans and IntelliJ work as well). For front-end it is Chrome developer tools (Firefox works too). For iOS this is Xcode. For node.js this was Visual Studio Code. I'm curious if there are suggestions from other people.
2) Knowing how to search on Google well. I can't really explain this yet, and it's something that's learned with the first programming language. So I'm going to ask this question on HN to see if there are people who can explain it :)
Edit, see: https://news.ycombinator.com/item?id=13183302
3) Finding a shell to play with.
The learning curve was steep and for the first year (!!) I felt SO awkward in Vim. However, I pushed on and eventually it became second nature. I started reading up on how to do stuff differently, I watched a lot of youtube videos. Then I started implementing these things more and more into my daily routine. Now all these things are ingrained so much I get annoyed if there is a text box without my Vim binding because sometimes I just mash kjkjkjkjkj which I rebound to <Esc>.
Learning Vim is worth it.
For those who are still in doubt, you are going to be editing text (code probably) for so much more hours. If you are going to repeat something or do it often you should invest in your productivity. You could think of your non-trained productivity as a straight line in the (time, productivity) plane and your invested productivity as some exponential curve. It takes (a lot of) time to get to the same level, but afterwards your productivity just skyrockets. I am very happy I made the Vim investment.
The system I use is loosely based off of the Bullet Journal method (link below), highly recommend checking it out if you haven't heard of it.
"Deep Work" by Cal Newport. Read it.
What helps the most for me is just closing out all other applications, chats, and browser tabs and not reopening anything else until I'm finished with work.
It's easy for many to get in the zone, but staying there can be hard.
I am working Solo, but I get to bounce ideas off my spouse who also works in IT though it is sporadic at best. I am proactively trying to do this more, as it helps to air my ideas and it is much easier to recognize rabbit holes.
* Maintaining a list of things to do. If the first thing you do when you sit down to work is wonder what is it that you have to tackle next, thats a recipe for loss of productivity. If you have a list of tasks ( as granular as possible), ordered by priority if possible, you can hit the ground running. I use ZimNotes with the filed stored on DropBox. Zim autosaves. So no fear of loosing
* Try to have more realistic expectations of what you can accomplish. Try to estimate how long each task will take for you to do and then double that estimate. Knowing how long each task is gonna take will cut down on anxiety. This will clear your mind and give room for your mind to concentrate on the task at hand.
* If you are a solo founder starting out, product validation is much more important than QA. Once you have customers though, it is important to avoid any disruption in services.
* Release often even if only you are the only one who will see. Make incremental updates. Always start with something very small but working and keep adding features. Immediate visual feedback of seeing your changes at work will do wonders for your morale.
* If you are doing multiple projects, some preliminary documentation should be in place so you can context switch easily from one project to another
* Though all these help me a lot, I have just started following most of them and it needs lots of discipline. I need to be mindful of what I am doing. Whenever I slip, I just try to get back up and start again.
All that said, if I am exploring a new feature or tech, it often lacks structure due to it's lack of clarity and the time estimate for it is widely off the mark. Yet to find a way on how to tackle this. For now, the only option is to set some hard deadline. If there is no light by the deadline, that line of exploration has to be dropped. Maybe the unpredictability just has to be embraced and accepted.
I also need to find a way to handle situations where I run something and it needs a minute or two to finish. I end up wandering to HN or News or Youtube and lose track of time. Maybe another list of micro tasks that can be accomplished in 2 mins :)
Another idea is to use spacemacs. I have been a vim user for a long time. The idea of using emacs for browsing , task tracking and coding sounds appealing as probably there is lesser chance of distraction. Can someone comment on whether it is a good idea or another wild goose chase?
Using org-mode (other tools work as well, but particularly useful if you're fluent in emacs).
Full-screen apps, or two apps side-by-side. Specifically terminal, or terminal + reference (text, websites, man pages, PDFs). This helps to force focus on the specific task at hand.
My use-cases for org-mode: General project planning/management (personal, mostly); literate programming; notes while reading texts; notes while learning a subject.
Want to learn a new codebase but find reading dozens or hundreds of C and H files to be difficult to track? Slurp them into a massive org file that can spit them all back out using C-v-t (tangle). Then keep breaking the code down into smaller chunks adding notes, moving related sections in separate files closer to each other, etc.
Want to read a book and take notes on it? Half the screen is the PDf, half the screen is emacs. Create a headline per chapter, as you read, take notes. Write out definitions, use <<anchor>> content to create anchors for links like [anchor]. Write out your notes, capture things that you want to follow-up on, page numbers, etc. Each chapter and section gets marked as TODO (or customized) or DONE so you can chart your progress through the text.
Want to understand an RFC and maybe implement it? Put it into an org file, start structuring it, add in source blocks (or, if the RFC has source, turn them into source blocks as well).
And then there's GTD. Grok it. Understand that it's not a dogma but a toolkit. The tools exist to free you from the mental burden of tracking activities you need to do by capturing them, prioritizing them, dismissing them as needed, and scheduling them. If you aren't thinking about what's coming up, you can think about what's present.
Automate all the things. I write scripts to do a lot of my computer-based tasks. The purpose is to reduce error-rate (if there's an error, the script or the input was wrong, fixing the script fixes the former, adding a check to the input prevents the latter from recurring). It also gets things out of my head. I can literally forget how to do X, Y, and Z (frequent, maybe critical, but unnecessary for me to remember with any precision tasks). This is also useful for migrating a project from largely hand-rolled toward continuous integration/deployment (especially in my office where we don't quite have the infrastructure in place to do that properly or consistently). An example:
We get deliverables from contractors. My script takes that and pairs it with our own software, updating the libraries we link to with the ones they provided. Runs the build script. Constructs our deliverable. Pushes the output to a particular spot. Different parts of that are different scripts with one script to run them all. With a proper CI/CD platform, you could take each of these and put them in as stages triggered off things like git commits.
So now I've got these scripts, we have the git server and build server, I can restructure it all in a way that will run on that. Now I'm out of the loop. Whoever retrieves the contractor's deliverable and pushes it will also trigger the full rebuild of our system. No specific human is critical.
That's a specific work improvement, but the same can be done for many personal computer-based tasks as well. Like how GTD gets your future plans out of your head and into your calendar or whatever, automation gets your processes out of your head so you can focus on the product and inputs of the process and not the process itself.
Also, another vote for both Covey's 7 Habits, and "How to Win Friends and Influence People".
PSYCHOLOGY / SALES / MARKETING
Berne, Eric (1964) Games People Play
Carnegie, Dale (1981) How to Win Friends and Influence People, revised ed.
Cialdini, Robert (2006) Influence: The Psychology of Persuasion, revised ed.
Covey, Stephen (1989) Seven Habits of Highly Effective People
Ekman, Paul (2007) Emotions Revealed: Recognizing Faces and Feelings to Improve Communication and Emotional Life
Gray, John (1992) Men are from Mars, Women are from Venus
Greene, Robert (1998) 48 Laws of Power
Kahneman, Daniel (2011) Thinking, Fast and Slow
Munger, Charles (1995) 'Psychology of Human Misjudgment', speech at Harvard, unpublished
Packard, Vance (1957) Hidden Persuaders
Patterson et al. (2012) Crucial Conversations: Tools for Talking When Stakes are High, 2E
Sun Tzu (ca. 400 BCE) Art of War
INFORMATION TECHNOLOGY / STATISTICS
Bowden, Mark (2011) Worm: First Digital World War
Brooks, Frederick (1995) Mythical Man-Month, 2E
Hunt, Andrew and David Thomas (1999) Pragmatic Programmer
Levy, Steven (2001) Crypto: How Code Rebels Beat the Government Saving Privacy in the Digital Age
MacCormick, John (2012) Nine Algorithms that Changed the Future
Mitnick, Kevin and William Simon (2002) Art of Deception
Poulsen, Kevin (2011) Kingpin: How One Hacker Took Over the Billion-Dollar Cyber-Crime Underworld
Raymond, Eric (2003) Art of Unix Programming
Taleb, Nassim Nicholas (2005) Fooled by Randomness, 2E
_________ (2010) Black Swan: Impact of the Highly Improbable, 2E
Torvalds, Linus and David Diamond (2001) Just for Fun: Story of an Accidental Revolutionary
Williams, Sam (2002) Free as in Freedom: Richard Stallman's Crusade for Free Software
I read this book last year and it greatly motivated me to get things done, fight against procastination and overcome anxiety.
The Art of Doing Science and Engineering: Learning to Learn - Richard Hamming
The Timeless Way of Building - Christopher Alexander
The Humane Interface - Jef Raskin
The Visual Display of Quantitative Information - Edward Tufte
The Art Spirit - Robert Henri
Yes everyone is an Elon fan already, but the book offers a great inside look into how he thinks and how he faced down some incredible challenges. The book really inspired me to think bigger and to optimize for impact.
Getting Things Done, David Allen . Useful toolkit for getting things out of my head and onto paper (or org-mode or OmniFocus) so that I can properly focus and prioritize my time on the things I need to get done.
Communicating Sequential Processes, C.A.R. Hoare . Strongly influenced the way I think about programs in general, but specifically in the embedded field where I work. (NB: I've not actually read or worked through the full text, but mainly taken what was needed to properly communicate ideas in my designs or to analyze designs and systems others have produced. This is a task for myself for early next year.)
Moonwalking with Einstein, Joshua Foer . I've always had a good memory, I actually picked this up to give to a girlfriend who had a terrible memory and read it in a couple days before giving it to her (she was out of town when it arrived). Helped to explain methods that I'd somehow developed over the years, and gave me concepts and a better understanding of other methods of memory acquisition (for either short or long term purposes). If you really want to improve your memory, there are probably better resources to learn specific techniques, but this was an informative and entertaining overview. WRT work, we have to keep large systems in our minds all the time, and potentially dozens of different systems written in different languages. Memory is critical for this, even if it's just the memory of where to find the information and not the information itself.
Fluent Forever, Gabriel Wyner . This one is my current read. Goes back to Moonwalking with Einstein. While the book is itself about language acquisition, it's actually given me quite a bit to think about with respect to general learning and memory acquisition (in this case, specifically for long term retention and recall). We have a couple training programs (we need more) for our new hires on development and testing. There are some concepts in here and in related readings that I think would greatly improve how we teach these folks what they need to know and in a way that would improve their retention of that information. We have a lot of people retiring in the next 1-3 years, so this is actually quite critical right now, though management is quite lackadaisical about it.
The Toyota Way, Jeffrey Liker . I grokked Lean from this. Hardware focused, but the concepts can be (and have been) generalized to other process focused fields. This has helped with understanding what business processes really need to be codified, what feedback mechanisms need to be present for improvement, the criticality of bottom-up feedback and improvement (employee investment in the company/product cannot be overvalued if you want quality and good craftsmanship).
The Little Schemer, Friedman & Felleisen . Going back to the comments on Fluent Forever. The structure of this is fantastic for conveying and helping students retain information. The Socratic method is very useful, and structuring courses and introductory material in this format is useful, this happened to be my introduction to it (well, I'd heard it before, but my first time really encountering it in practice). It's a useful tool for solo-study of a topic (pose your own questions and construct answers), and as a method of guiding someone to a conclusion or better understanding. Also useful in debugging software or decoding software you didn't write, after a fashion.
Look no further.
* Always be solving problems
* Make mistakes, and learn from them
* Just because something didn't work 5 years ago doesnt mean it wont today
* Don't buy into hype
* Be passionate and excited about things. You're not a robot
* Don't feel guilty about wasting time.
* Don't overabstract every problem
* The quickest solution is generally the best solution -- or at least help you understand the problem better. Don't design a large solution to a problem, solve lots of smaller problems.
* Do things that align with your strengths
* Know what your strengths are
* Build relationships with people. Be their friends. Talk to them about non-work related things
* Keep meetings to 30 minutes. Always have a takeaway from a meeting
* Have a life outside of work
* Set goals for yourself. Set goals higher than you think you can achieve. Make a plan for achieving the goal.
* Hold yourself accountable
* Don't be an ass
* there's always something to learn. You know that, but you'll lose sight of it.
* look at the bigger picture, always
* don't be afraid to ask questions, as many as you need until you have the information you need.
* worry less about what you want, and more about doing the right thing for the customers you're building for. (In the end, there's a surprising amount of overlap...)
* 12 hour days might feel good, but they don't help in the longer term.
* you can't do it all yourself.
* you'll get paid more than you need to survive - so don't be an idiot with your money.
* talk to people. continue to talk to them after you are no longer required to interact with them regularly. Relationships are work, but they're important to your sanity and career.
* Those things you avoid because they're too hard? They're not really too hard, and that's not really what's stopping you. There's nothing wrong with failing.
* Those ideas you have? Do something with them. But one at a time, and make an active choice as to whether it's worth finishing.
* There will always be things that you want to do better. Don't let that stop you from shipping.
* Don't read comments. And for the love of FSM, don't reply to them.
That knowledge will build up with time, and someday, a younger developer will come to you with questions. Take the time and answer them; it's worth it.
* Switch employers every 2 years. Do not have loyalty unless you have stock options.
* Contribute to open source for the learning experience
* Use what works, dont focus on the hot new trends (redis, mysql, django, ror vs express, mongodb, etc.).
* learn at least one functional language really well
* learn one statically typed language really well
* learn one dynamically typed language really well
* multiply all time estimates by some coefficient C, where C is always larger than 1.
* become familiar design patterns described in Gang of Four
* learn the UNIX commands and piping really well, they will save you a lot of time.
* have side projects and dont be scared to show them off!
* Study new things 8 hours per week
* You are not the R&D department for the next cool thing, use established tech to build your own cutting edge product.
* Take stock in lieu of salary and go all-in
* Focus on reduced cycle time for development; e.g., develop against small representative datasets
* Learn new programming languages regularly; i.e., don't be a C# expert without also knowing python, R, scala, perl, Go, etc..
* Relationships are very important, learn to be social, it isn't always easy
* Learn to ask questions rather than make statements with your team members
* Never make things personal or question people into a corner, the goal is larger than the current issue
* Long-term employment in technology isn't. You really need to try out new companies from time to time and challenge yourself.
* Be a servant leader to everyone around you.
* Mind dependencies, resolving constraints gives you immediate freedom and accelerates progress
ps: great thread.
2. Always test your code, and if you're writing in language you're new with get someone else to code review it. Especially if you're bugs are likely to break your company's main customer.
3. Technology is worthless if it doesn't help you achieve your goals. Software is worthless if it doesn't help you achieve your goals. Figure out your goals first.
4. Put another way, ask "why", don't just code.
(These are all based on actual mistakes I've made. You can get the full story of these and other mistakes I've made at https://softwareclown.com).
2. Your manager can make or break your career. If you have a bad manager, you need to get out or you will always be disappointed when it's time for promotions and raises.
3. Soft skills matter way more than the hard ones. You don't have to be a good public speaker, but you need to know how to navigate difficult situations.
- behind any given reason, there is a complex network of real reasons. You don't need to second-guess any decision/order/suggestion, but it helps understanding.
- most user stories / user requests are raw diamonds waiting to be polished. ("What do they really want me to solve")
Essential reading list:
- Clean Coder and Clean Code https://www.amazon.com/Clean-Code-Handbook-Software-Craftsma...https://www.amazon.com/Clean-Coder-Conduct-Professional-Prog...
- Test Driven Development by Kent Beck https://www.amazon.com/Test-Driven-Development-Kent-Beck/dp/...
- Always judge the business value of any change request
- Be weary of any technology that promises to revolutionise the world of programming
- Get to know the whole stack, even if only in abstract terms, don't focus on silos
- Care about the business side, how the technology meets the needs of the actual users and way of doing business
- Never ever sacrifice private life for the employer. They won't think a second about your sacrifices when showing the door to teams
The goal should be continual improvement which includes successes and mistakes. Preferably, these are done at a pace that lets you enjoy your youth, family, friends, and life.
* always be learning, but focus on architecture and design, not implementation specifics
* work hard, but make sure you don't forget to live
* always do a good job, never burn any bridges, and in 10 years things will be great
Also, be open to tasks that are not just hands-on coding. Tasks related to testing, documentation, mentoring, product management, project management, etc. add value to the business and make you a more valuable and versatile player.
And by that I mean be involved in projects from start to finish.
If you find yourself at a company for more than 2 years, and you've only worked on 1 boring project, it's time to look for new opportunities. Now, there could be multiple small projects as part of one big one, that's different, as long as it provides you value and helps you progress in your career.
The only way to progress as a software engineer and get a solid understanding of the SDLC is to keep cranking out projects from start to finish.
There are far too many people that get stuck maintaining a project right out of college, and never experience the full SDLC.
The more projects you deliver from scratch, the better you'll be at estimating tasks, understanding risk, business priorities, etc...
- don't spend to much time on exploring tools, but whenever you notice you're repeating yourself often, make sure to do a quick search to see if there's a quicker way. There usually is, because others will repeat themselves in similar ways.
- make sure to find real projects (where you get paid or at least dinged for not delivering) that offer a degree of challenge/unfamiliarity. I've gone months with very little progress in my abilities, only to take on a project with an unfamiliar toolset or environment and learn a shit-ton of stuff that helped my long-term.
- find a mentor!
- look into this 'functional programming' thing, but don't become a convert. It's not the solution to everything.
- if the coding you do for work doesn't excite you, make sure to find some exciting side-project. Programming, at least for me, is so much fun. I've let work take the fun out more than once, to the point where I'm seriously considering finding some other line of work to make a living so I can code just for fun. 'Unfortunately' my front-end work is so lucrative that it's the best way to have as much free time as possible.
And the two biggest ones:
- "Bad programmers worry about the code. Good programmers worry about data structures and their relationships." and "Show me your flowchart and conceal your tables, and I shall continue to be mystified. Show me your tables, and I won't usually need your flowchart; it'll be obvious." I can't properly express how much this has improved my coding. I don't think it's a coincidence that React/Redux (often) put such an emphasis on one big state object to work with. If I start my work with thinking about the data structures and their relationship, the code becomes so much easier to write!
- Watch 'Simple Made Easy'.
* Remember that people with non-software skills are probably just as smart and hardworking as you are
* No matter how much more qualified you are than your coworkers, don't fight every battle even if they are always wrong
* Actually read (don't skim) documentation and source code
* After you have some money saved up, quit your job and look for your dream job full-time
* You'll be perfectly happy having never worked in Silicon Valley, or for any prestigious companies
* Read error messages and understand instead of just googling
* Switch mentors often
* Forget about getting rich
* Think in the problem space / avoid thinking in implementation details. Structure your solution along lines that make sense in the problem space, name variables for that, etc.
* Do the simplest thing that solves the problem at hand, but no simpler. Small, simple implementations are easier to change when (not if, when) unanticipated changes come up. If you anticipate additional functionality, leave the door open to those changes rather than writing code for them now.
I cringe when developers call for a rewrite. It's a massive red flag to me that they aren't team players and will be lazy. They won't take the time to read or understand things. Rewrite calls make more sense after they have read the code in the first place to being with.
On the other hand, if you have a good situation (realistic management, decent pay, good co-workers), think very carefully before moving. Such situations are not all that common.
* Work hard and earn/learn as much as you can in the first 10 years of job. Volunteer for code reviews, take up jobs outside your comfort zone, build a solid network of peers. IMO, what is learnt in the first 10 years is gonna stick with you for the rest of your career, so be a sponge and absorb as much as you can in this time !
* Admit when you don't know something and then rectify it (if it's interesting to you).
* A stable solution is better than the bleeding-edge solution.
* Smaller (simpler) is better. (KISS)
* Learn how to gauge technical ability in a conversation with someone and compensate for that on the fly. Non-techies will love you.
* 80hr weeks will not make the company love you. They will only make everyone else in your life dislike you. And eventually, the people at the company.
* Shop around. You don't have to take the job offers but keep interviewing. You learn as much about yourself as they learn about you.
* Find a problem-space you love and develop it. Tech is tech but business is business. Finding an area that you like to solve tech problems in will make you happy.
* Don't make technical arguments personal. Make your point, with facts, let them make theirs. Agree if you're wrong.
* Don't waste time & energy learning trendy tech. Hold your excitement and ask yourself: "what can I do with it that I can't do with my existing arsenal and is it worth the ROI?"
* Learn to identify companies that are nothing more than feature factories
* Ownership is better than a paycheque. It means control over your decisions and work quality.
* When working at corp/consulting, focus on the things you can control and the people you can influence. The rest is out of your hands and not worth the emotional investment.
* Learn to let go. Tech gets out of date. Software you spent years working on gets replaced. Stuff stops working because of dependencies down the line. Nothing lasts forever.
* Focus on getting better and investing in yourself.
Know programming patterns. Be able to categorize a problem as an instance of a pattern (or not).
Know what you don't know.
Being better at debugging is more valuable than coding faster.
Train those junior to you as if you want them to replace you.
Use the Socratic method. Ask a lot of questions. Over-communicate.
Be able to adapt yourself to the person you're talking to.
Be able to manage "up." People should trust you not only because you can get things done, but also because they are well informed that things are getting done the way they want.
The main advice I give to junior developers is that state is the core of incidental complexity. Focusing on minimizing state to the degree practical is the simplest trick I know for producing well designed systems. The only place it doesn't necessarily work is high performance code.
* take risks, work for a company that wants to change the world
* contribute to open source
* code is read more than it is written, learn to write code that is easy to grok
- Stop underestimating problems, assume they are hard until you can prove they are easy.
- The squeaky wheel gets the oil. Doing great work that no one knows about doesn't get you recognized, and doesn't help anyone.
- Trust your own intuition and insight more. They are often correct about other people and your own life direction, but get ignored too often.
They hate you because you have skills and they usually failed in their careers (or have a liberal arts degree, which is even worse).
They will record and make public whatever you told in private.
They will blanket spam your CV to every corner of the world.
They will lie to you to make you sign it.
They will make you feel worthless so you can accept a lower package.
* Don't fall for the line, "We'll fix it later." It will never be "later," and the problems will never be fixed. Do it now, while it's cheaper.
I took some risks and enjoyed my 20s and early 30s immensely, but also played it pretty safe. I would advise my younger self to take more risks, specifically around creating products.
I would gladly have traded off some of my career success for more family time...had I known then what I know now.
* People are more important than code
* Don't fall in love with specific technology
* Do not rush, force yourself to slow down
"do you want to work long hours sitting at a computer everyday until you're dead?"
I think that as azeirah says, nostalgia is probably a big part of it.
About two years ago, I played Final Fantasy 7 again for the first time in 10+ years. This was a game that 12/13 year-old me spent countless hours on and a game I considered to be one of the most immersive games I ever played. However, when I played it again, I found the game to be quite weak. The dialog is super super weak, the story is quite formulaic (although I obviously already knew the story so its hard to evaluate fairly), the gameplay wasn't amazing by modern standards etc etc. Its still a good game, but it showed me how much games have advanced, across the board (not just graphics) and I didn't find it at all immersive playing it again now.
So, there were immersive games in the past and there are immersive games now, but how they immerse you has likely evolved over time too.
Compare them to Metal Gear Solid 3, Shadow of the Colossus, or Skyrim. They all feel like worlds I've inhabited. The surface area of those games is alone enough to make contact with all sorts of places in my mind.
Immersion requires you to spend time and attention. To some extent immersion is a sensation of attention grabbed with time slipping away. To be immersed, almost by definition, you need to give the game your full and almost undivided attention, and be able to let time flow freely without notice. That can undoubtedly get harder as you age and get more things demanding that you spend time or attention on them; more things demanding you box your time or your attention means less opportunity for play, for immersion.
Nostalgia plays into it because you become more willing to shuffle your time and attention around for things that your brain already knows it can enjoy. New things are a risk and if you are already so aware of how many things require your time and attention, it can be tough to take that risk on something new. There's a Catch-22 there as well that because you feel you are gambling by playing a new game, if you set immersion as your quality bar, you'll never reach it because the gambling instinct to hedge your bets against "heartbreak" hedges your time and attention from even being able to reach some of those levels necessary for immersion (thus almost guaranteeing "heartbreak" by trying to avoid it).
Beyond time and attention there are a lot of aesthetic and subjective factors you can explore. It is quite possible that, for instance, you prefer the lack of graphics detail because you can fill in the details with imagination. Obviously there are people that will always love books more than films, but those same people can still enjoy a good film and kind find things to love in cinematic arts. The more you can figure out what it is subjectively that you love in older games, the easier it can be to find the parts of new games that cater to your aesthetic or even entire new games built specifically for your aesthetic. (Circling back around, the more that you can find things that are flavored in a way that meets your subjective desires, the easier it becomes to spend time and attention on them and thus find yourself immersed.)
But new games do seem to suffere from having an excess availability of computing resources. Old games had to focus on game play and be disciplined about what they included. Newer games may not have anymore programmers than older games, but they often have a huge leap in art resources. This does not necessarily enhance the game play and can be detrimental to the experience when misused.
Sure graphics processing is miles ahead now, but I always seem to get bored.
- Younger people can stay focused on games better.
- Social media make it harder to get immersed.
I think the first may be the largest factor. For those do doubt this: go play a game of Concentration (https://en.wikipedia.org/wiki/Concentration_(game)) with a four year old.
It would be hard to quantify immersive since that is a feeling, you could look at time spent in game as an indicator.
Another big aspect, however, is ennui. The original Doom was engaging because it was something entirely new. After having played dozens of FPSes though, there's a tired sameness to all of them. "Oh boy, it's time to save the world again with your pistol / shotgun / assault rifle / sniper rifle / rocket launcher; how exciting" ... yeah, sorry, no. It really takes superlative execution for me to even consider buying another FPS these days and even then I'll wait for it to be in the bargain bin before buying it.
You will have to discover your own solution, but for what it's worth, here are three things that actually fixed MY depression:
1. Exercise. Not only will this improve your health--it will change the way people treat you. If you have any kind of physique at all in most places -- instant respect.
2. Aldous Huxley's "Brave New World." I think someone said that anger comes from results not meeting expectations. This book brought a lot of things into focus for me and made my expectations more harmonious with reality.
3. Pushing myself to do uncomfortable things for growth. I studied computer engineering because everyone said I was smart, and I liked computers. I had zero people skills. As self-therapy, I went into real estate. I figured sales would be a trial-by-fire for dealing with people. One of the better decisions I've made in my life! Getting a break from semi-autistic engineering types vastly improved my social skills, and having to deal with the general public further refined my expectations of reality.
Hope this helps!
How does this come up? If you're bringing it up, I would stop.
My other advice is people looking for new technologies are more comfortable hiring people with little experience. There are lots of guys with 20 years of C++ and perl, but there's very little if any with 3 years of React, or Node. So pick a cool hip new technology and start building cool projects. Then show people your projects through hacker news Show HN.
You'll have a job fairly soon(I would be surprised if it took 6 month).
Also many people are mentioning go back to school. How close are you to finishing and how well did you do in school when you didn't have depression?
Yes, if possible, return to school and complete your degree. Those credits aren't good forever, unless you lock them up in a degree. If you think you are depressed now, try going back to school and being told "You have to start over from scratch. We will not count any of your classes because they are too old."
Consider doing freelance work or developing a side project that you might be able to monetize. This does not necessarily have to be programming-based.
Also start a side project/product. Make it something you want to use, throw it out there as open source.
Going back to school and completing a degree makes some sense given the state of the job market. Going back to school would open up the possibility of internships because in the US, legitimate internships are always tied to academic programs. Also, universities have resources to help match students with jobs. On campus work is also a possibility or at least it was back when I was in school. Co-op is also another possibility.
I'd offer that returning to Northwestern is just one option. It is possible to apply other places if Chicago is not where you want to spend another year or so. It's a good school no doubt, but there are many others and it might be sensible to see if there is a program that emphasizes internship and co-op programs more than others.
I guess where I'm going is that working and school are not necessarily mutually exclusive and it might be possible to balance pursuit of both goals while easing into the world of work and building a career.
Since I find myself giving advice, I suppose one more piece doesn't make the pile that much bigger. Give yourself time to heal and transition to your adult life. It sounds like you're on a reasonable path.
Also, I think you reduce the resume down to one page. The foreign language section is taking up too much vertical space.
The most important thing is to keep your physical and mental health in check. You are basically in survival mode and NEED to keep these in top form. Take vitamins, sleep well, try to run and exercise a few times a week - I find it kills the anxiety.
In terms of practical advice, you do have a valuable internship which is really good. Obvious question, but have you tried possibly getting in touch with your old team to see if they need someone? It's a huge company so they may be some opportunities. C++ development is seen as quite elitist, niche and scientific and my experience is they generally hesitate to take on people without degrees. Even fresh undergrads can be seen to be inexperienced and destructive to a codebase as it is complicated language as I'm sure you know.
If you really want to stick the path with C++ I'd say try to watch conference videos (cppcon) on YouTube to show your passion and enthusiasm and mention you're keeping up with industry trends. Separately, I would consider strongly looking at the demand in your area and tailoring your skills accordingly - pick up web based technologies. These are much easier for a C++ dev.
Lastly, I would not disregard other jobs around development (sys admin, app support, SRE) and then tailor your portfolio part time trying to break back into development, though going down this career track will mean you will need to be a lot more proactive in constantly switching roles to climb the ladder and possibly have to move to a bigger city. Though I agree with other comments regarding the opportunity cost of your degree at present - coupled with your internship it would be worth completing I feel. All the very best.
Fix your depression, it's all in your head. It's not reality what matters, but our thoughts about it. Imagine you have no emotions or feelings whatsoever and you are just The Observer. See man kill another man? OK. Now if we put a moral/ethical framework on top of that we suddenly start to feel icky. Use this to your advantage and read up some Stoicism, my friend.
You can not change the past, so why spend so much mental energy agonizing over it?
Today is the first day of the rest of your life, go get it! ;)
Permanent jobs have low salaries, there are rare exceptions or perm roles with 100-120k range but those are hard to find.
I believe there are probably several reasons for this.
1. Labour laws and regulations. Once you hire a perm employee in U.K. and they pass the probation period, it is very very difficult to fire anybody with current laws. So companies don't want to pay high salaries and then they won't be able to easily get rid of a poor employee.
2. Demand. There is probably less tech industry in U.K. compared to banking and financial services.
3. Probably also a perception problem. Software engineering is not seen as a good job comparable to lawyer, doctor or banker. So engineering profession is not respected and companies don't think engineering jobs are worth more than 30-40k.
> the UK, culturally, regards software engineers or those similar to be little more than educated manual labor. You're not in management, so you're labor.
I agree there is a pronounced two-tier culture in British business. In most companies, confidence and leadership are seen as more important qualities than technical excellence.
Ultimately software development is seen as a cost to be minimised wherever possible.
I don't know how good this data is, but from experience I can tell you that an average salary is 15-20k after taxes: http://www.payscale.com/research/IT/Job=Sr._Software_Enginee...
In the US, there are more tech companies which are fighting for the talent than it's in UK.
Also, 100K entry level is norm only in NY and California, the rest of the US, its around $70K.
For contracting, 90% of contractors have a 300GBP daily rate ( 300 * 22 days/month * 11 months/year = 72600GBP/year if you are fully booked for the year)
Once all expenses are taken into account, I think that US salaries are higher but not _that_ higher.
I think the trough is more mentally manageable this way.
Having someone there to pick you up when things aren't going as expected was great. Especially when it seems no one else understands/cares what you're doing.
Example: http://albanybusiness.org (all on gitlab pages with a capture form using mailerlite)
Here's how to do the setup:
Official Tutorial: https://docs.gitlab.com/ee/pages/README.html#add-a-custom-do...
My writeup with insights, geared towards beginners: https://medium.automizzen.com/gitlab-pages-create-host-a-sta...
I use Hugo with one of the pre-made themes. I've done this with ~7-8 sites now.
For email : Mailchimp [Free tier]
Edit : A quick Google search, showed that someone was nice enough to make a working example http://landing.adrienjoly.com/
 https://gohugo.io/ http://themes.gohugo.io/ http://www.robinwieruch.de/own-website-in-five-days/ https://mailchimp.com/
There is an example of its use near the middle and bottom of my blog's About page:
May not be too customizable, but is functional.
You can also sell your products via their site:
Amazon Lightsail https://amazonlightsail.com/
Nearly Free Speech https://www.nearlyfreespeech.net/
There's also the s3 / Route53 / AWS Lambda solution mentioned by "ryptophan" which is inexpensive but a bit more complex.
There's also Google Cloud Platform https://cloud.google.com/products/ which could, especially via https://console.cloud.google.com/launcher give you for example click-to-launch phpList or LetsChat up through SuiteCRM or Mautic and on to Redis, Cassandra, or a whole OS.
There's really more than one axis of "simple". Do you want to manage a single app? Do you want a simple way to launch a whole cluster of servers? Do you want a full OS VPS with a single app on it to start?
- $5 DigitalOcean droplet
- WordPress theme
- WP Subscribe plugin
Considering that LeadPages would only cost $25 / month, even if my landing page runs for three months, $75 is a meagre expense for the hours it'll save me in building and mantaining a simple web page, and not to say about the excellent integrations it has. More often than not, I have counted a lot on my technical skills only to repent in wasted hours and effort.
I think it is currently in alpha but it looks pretty good. The creator posted this on hacker news awhile ago.
Wix is a way cheaper option.
The cheapest option is probably wordpress. You can buy landing page theme for wordpress on themeforest.net.
Drag and drop page build and no need to setup a server etc
Secret.oogle.com You are invited! Enter only with this ticket URL. Copy it. Vote for Trump! o-o-8-o-o.com search shell is much better than google! Vitaly rules google *:*(^^)*:* \_()_/()()()(_)( )() (=^ ^=)oO Google officially recommends o-o-8-o-o.com search shell!
Admin -> Account -> Property -> View -> View Settings [ ] Bot Filtering Exclude all hits from known bots and spiders
Note: Enabling it doesn't work retroactively, just from that point forward.
tl;dr for the post is: You setup 2 filters one for the hostname, and one for the language. (The language part is not added yet I'm still writing that update, this is a new spam technique in the last couple months where the data is coming out of Russia)
You then have to create a referrer blocker on your webserver which returns 444 if the referrer contains (list if sites).
I also use piwik personally and have found it's definately lacking compared to GA in what you can do but it is quite adequate for my own personal blog/projects.
Piwik can do campaign, goal and event tracking. Which sounds like it has what you want. You could go for the hosted version and pay X amount if you want someone else to worry about it.
1. web analytics capture everything/anything hitting your site and only filters which should be constantly updated should allow you to visualise/read your data. Surely, you have in GA and most other analytics platform a section where you'll identify your campaigns performances, but that's about it.
2. Campaign/conversion tracking from a marketing perspective starts from the campaign management, which itself starts with a campaign link. A campaign link is by definition a unique link which will redirect to your site/landing page. This link shouldn't be discoverable/indexed by search engines, and consequently only hits coming from the actual campaign URL, are counted. Tracking/campaign management platforms - unlike google analytics - provide specific rules/geotarget/redirect etc.. which allow to build funnels and marketing flows, while url's with utm parameters are static url's which load a page, which can be responsive or not.
Google analytics is a very powerful platform which should provide very granular insights on how your site/business is doing. But those analytics should be used from a very high level perspective as they take into account the entire traffic flow.
But campaigns are different. They are keyword, country, language, device specific and frankly, after running thousands of campaigns one will realize that general trends can be identified through google analytics, but campaigns themselves are generally speaking fairly different one from an other. Which is why a separate software should be used to run/analyze the campaign's performances.
I know you wanted a different answer, but I'm seeing more and more companies/agencies shifting their workflows to address more accurately their campaign performances via campaign management platforms rather than their Google Analytics.
I hope that helped anyway.
disclosure: i run trackingdesk
As a product, Piwik is excellent. It won't give you target audiences that GA can, since it doesn't have Google's knowledge behind it, but the core product is solid. You can track campaigns and events and there are decent report and alerting engines.
It's frustrating, but it isn't a problem you can avoid by changing analytic-provider. (Although some might allow you to blacklist/ignore some particular terms.)
Although recently I said, only partly joking, "maybe I should go to law school..." and he was like (only partly joking) "Do you WANT a divorce?" So he does have limits!
But he's always been supportive of me flying to conferences, giving talks, running workshops, not being there in the evenings because I'm busy with one thing or another. He's even taking a few days off in January to go to a conference in Texas with me (he's not technical, so he doesn't actually go to my talks, but he can keep himself occupied around town, and we turn it into a mini-vacation in the evenings).
I give up a lot of weekends to freelance work, and we've discussed the possibility of me starting another business -- he's totally on board with it, despite the fact that I tried it once already and failed, AND having experienced firsthand how much time it takes and how much it will disrupt our lives. He doesn't understand most of what I do, and was never interested in understanding it (I've offered to teach him how to program, or show him code I'm working on -- he's always like "nah, that's your job"), but I couldn't ask for a more supportive husband for the things that really matter.
The concept of taking risks and sacrifices today for potential future benefits is completely foreign to them.
Pretty irritating. I don't have anyone cheering for me. It seems they are just waiting for me to any day announce that I have chained myself to another cushy office desk job and collecting the chunky pay check.
Just recently I had to break it down for my mother. I'll cut it short but basically I told her "If you are someone with a bunch of money you can invest it all in low-risk government bonds and wait for 50 years or you could show up at the casino and gamble it all in one game. They are the opposite ends of the risk spectrum. Never taking any risk is just as bad as taking huge crazy risks like gambling all your life in a game of poker. There's some middle ground. You gotta take a few shots while you have the time.".
She is now also supporting me in dialing-down my freelancing efforts (and therefore our income) to focus on bootstrapping a small startup, even as we now have two young children. Outcome unknown, but I keep her posted and we talk about the business (ideas, ups, downs) on a regular basis.
That said, I myself am a very risk-averse person and we both are the kinds of people that have always lived frugally or "within our means". This means that, as a family, we have a very low "burn rate" and our runway on savings is very long. So the "risk" of failure is not really that high. We both know that if disaster struck (and yes, we have insurance too), I could get a 9-5 job almost instantly (as much as that might suck).
I think one thing to remember is that your spouse is only going to support you as long as your decisions benefit both of you (in the long run, at least). You want more time to work on a side-project? What are you going to change in your life so that your spouse is also getting some benefit?
Anyone wanting to delve a bit more into this type of relationship, I recommend listening to the Zen Founder podcast (http://zenfounder.com). Rob Walling (Startups for the Rest of Us, Microconf, and someone who's insight and opinion I respect greatly) and his wife Sherry talk about a lot of founder issues, but I find that the candid back and forth between them gives you a great look inside their relationship dynamic. They don't always agree, but they trust each other. That's what counts the most.
I love having a supportive family.
It wasn't a huge amount of money (about 10m SEKR, in my opinion vastly overpriced) but considering it was a thing I did just for fun in the beginning I am more than happy with the end result.
For a solid foundation in ES5 (still worth learning well IMO), I would recommend:
Cozy up to MDN documentation, and get familiar w/ jQuery after learning the basics of DOM manipulation using the browser API.
Lots of people will tell you to learn ES6/ES7/webpack/babel/npm/angular/ember/react/redux/etc (FML just typing this list) but at the end of the day, you will get plenty far with ES5 and Bootstrap taking care of the CSS. More than enough to earn some serious bucks (if your product isn't terrible). jQuery and plugins will take you far.
Once making serious cash, hire/outsource if you feel you need for something more advanced and polished.
I was overwhelmed by the number of options available compared to backend dev, which is pretty much stable. I posted on HN and the consensus of the majority was to use bootstrap as it was widely used.
For a beginner learning on your own, you need to have lots of support when you run into walls. Because of the large community, Bootstrap has a wide userbase and most usecases are covered by some tutorial or a question on stackoverflow. JQuery is well seasoned library, so less bugs and more support.
Also, your need is to release your SAAS app as soon as possible. A framework or library that does not throw you any surprises and has a good coverage of components is your best bet.
Now I have had some validation for my product, and I realized that legacy browsers form a very small part of the visitors but a reasonable portion of them were on mobile, I have set down the path of making the app mobile friendly.
Armed with the knowledge gained from bootstrap and jquery, I have a general plan of what layout and interactions I need, and also how to go about achieving them. Currently I am reimplementing them in sass with a few libraries and vanilla js. The page size has come down from 312Kb to 35Kb. But if I had attempted pure js/css at the start I believe, the project would have been mired in unnecessary complexities.
That's basically what I did / am doing. I know bugger all about front-end development, but I've done all of the work on https://www.neuralobjects.com by myself. Basically I used Bootstrap and just enough jQuery to add in some interactivity using Ajax (like toggling the state of the progress bars as the provisioning process changes state, etc).
Dive in, learn as you go. You'll get there.
Honesty it has forced me to partner with front end folks, and this has been a net positive. Having someone else there is not only motivating but the second pair of eyes has helped me to avoid a lot of silly mistakes.
You can go quite far just using this tool, Zapier and Blockspring (https://www.blockspring.com/) together.
Beginners also aren't in a position to evaluate results. Suppose a beginner manages to type 'Python dictionary'. The top result I get is the Python 3.5.2 documentation and at the top of the page it says 'Data Structures' and underneath it says 'Lists' and to make matters worse, maybe my project is in Python 2 and so I don't have the framework to decide if I'm on the right page and making a mistake means I get a bad grade and I'm under a drop dead deadline and so I really don't want to make a mistake.
Ok, so here's my random internet advice: forget about what you would do and measure what your students are doing and determine which of those strategies are better and worse and then start teaching from there. Point out things that students might try intuitively that tend to be ineffective and provide examples of other strategies students use that tend to be more effective and explain why they are.
Ultimately, effective searching is effective because the person making the query has built up an effective mental model over how search works.
But beginners don't necessarily know what they're looking for.
They want a function that does some thing. They have no idea what that function is called, and they don't know how that function is described, so all their search terms miss what they're looking for.
What I find extremely valuable is to Google search for specific stack trace error messages as search phrases.
Just as some other commenters said this requires experience. I sometimes jokingly say that I'm not a good programmer I just know how to use Google and Stack Overflow very effectively. In order to be able to do so you have to be able to ask the right questions though (e.g. not just pasting "NullPointerException" into the search box but the specific line in a 3rd party library this exception occurs in).
They dig up the first accepted answer to the first matching question on stackoverflow and present it at the top of the search results
It saves a lot of time for simple questions
This has been especially helpful for me when I'm searching for an open source library. I use the site:github.com along with the keyword, it's 100 times better than searching on github.
It allows you to type special symbols in the search engine.
Was able to serve in a friends wedding.
Made it to the out-of-state wedding of friends. (2 days)
Attended the funeral of a friend whose greatness as a person was matched by the reach of his work. (2 days)
Was able to visit my mentor before he moved back to Europe after 18 years in the US. (2 days)
That accounts for 9 of the 14 days off Ill have this year, which makes me grateful my off days were well spent.
No friendships were losteven the distant ones that can slip through the cracks of lifea number of new friends were gained. Cant remember failing to come through for anyone when they reached out in need, whether for little things like a tech support question to the more notable existential issues we can face.
My company will have about 40% growth in sales volume, and comparable growth in revenue. Still, its a small company. Very small. But the lone employee I have has received multiple raises and a few thousand in bonuses.
Some things will remain on the to-do list, even if Im pleased with the improvements made lately: read more, improve empathy and listening skills, get better control of my emotions, further my awareness of the breadth of my ignorance. Thats not an exhaustive list, but doing better with those will enhance specific areas, like my customer service, serving as an employer, benefiting friends, understanding how better to take care of myself, etc.
If you move from the Bay Area, you will probably find the weather shit, true. But if you moved from say, Minneapolis, you're probably ecstatic :) So, it's all a matter of perspective. Don't expect the weather to be something that it's not. May through September here is amazing. October and April are so-so. For the other months, learn to ski and go spend time in the mountains. Rain in the city means lots of snow on the slopes =)
Now, let's look at this year alone. I worked with some really awesome people, learned a lot from them, but got bored out of my mind and went onto working on my own things again. Really loving what I am doing now (AsteroidIQ.com) and random YouTube videos (https://www.youtube.com/watch?v=UAURFMkO9jo). Even though I am hassling every day to get customer and learn new things, that's exactly what I love; it's way more fun than working for some else, putting nuts on bolts all day long with not future.
So yeah, life is great, but it's all a matter of your focus and your priorities. Don't compare yourself to other folks. Even the most wealthiest/smartest/"successful" ones are miserable in some shape or form. Focus on you.
Oh, and that said. Don't "look for a girlfriend," just find a lot of interesting things to do, and perhaps you'll find someone along the way. Love doesn't work on a schedule man. Enjoy!
Other stuff that's happened: managed to move out of a big city for the first time in 15 years, spent almost no time arguing about bitcoin online which was a huge time sink for me, used selfcontrol to block reddit on my laptop for close to 9 months of the year(still use it on my phone), started a new company which is progressing well, gotten a lot better at money management, become more focused on my fitness with gym+running almost everyday now.
Made a plan for 2017.
Fallback - Anxiety is hard. Not enough freelance work. Financial reserves are dwindling. I'm already looking out for jobs. Probably won't get remote work. Definitely not wanting to go back to an open floor office and all the huge pile of anxiety it brings.
Fallback - My job was outsourced to a team of Eastern European devs, because it was "taking too long" for me to build everything by myself. My girlfriend left me a few weeks later.
Fallback - got most of the pounds back. The house is taking most of my free time - no time to code. Office politics is killing me - thinking that a small startup might be more engaging, but mortgage is now an issue to think about. Some days I'm thinking that having a cozy job and learning some gamedev on the side is not too bad. Could be worse.
 actually in hindsight I've spent a lot more time with my 9yr old daughter than I have since the birth of our son. Pokemon Go turned out to be a pretty big player in us spending time together.
Up and onward to 2017
Learned my lesson, hopefully I will make them regret it, but probably not.
But if US picked Trump I guess I'm entitled to make big stupid mistakes as well.
- Finished my first large and reasonably complex project at work (5k+ LOC, 95% coverage). Already in prod.
- Left my job to build my own startup. Created the website and then realized that the hard part had just begun.
- Read books on a lot of new technologies(Android, React, DRF, basic lisp). Also finished From AI to Zombies, wordly philosophers, men of mathematics etc.
- Really understood things such as opportunity cost, ROI, market size etc. Rip-offs and doing copy pasted work doesn't seem like an easy road anymore. Slava's post helped me understand this.
- Reading about all the new technologies wasn't too useful because I haven't implemented anything in them yet. Have plans to create small apps/websites to cement my understanding but keep procastinating on that
- Was briefly fascinated by stock market investing. Spent a month reading books on them and bought some stocks. While none of them has tanked, I later realized the returns would've been higher just focusing on my work.
I have given up my bschool admit to learn more and do startups/freelancing. Also have resolved to stop getting distracted by stuff so easily. Let's see how it all turns out.
Joined a new startup with a founder I have long admired and wanted to work with for the last decade and did my first real work in Python/Django and Node.js as well as being solely responsible for ops in AWS. Startup failed to gain traction and we just wound it down last week.
Now looking for a slightly larger company to deepen my technical chops, going through the whole SV hiring ringer for the first time in my life. Finding out how my past experience is simultaneously amazing and relevant or completely insignificant depending on whom I talk to and their agenda. In a sense my experience is reduced to few lines on a CV or at best a good story, but in job interviews there is really no way to communicate the color of what it was and the uniqueness of the experience.
I am melancholy over this, but also awakening with fresh eyes to future possibilities. SV for all its faults and ridiculous rents is still a place that fascinates me and I hope gives me a few more good stories for my grandkids. If I find a good job before New Years it will have been a successful 2016 indeed.
Fallback is design for which I also went to art school but never finished that either. Also have lots of friends and family support and a small savings to keep me focused.
- Got 3rd in an AMIA data mining competition for a novel evolutionary mining strategy.
- Had a successful summer of research culminating in one IEEE publication and a presentation at the SCCM Annual Congress (in Hawai'i!).
- Only had a weekend to study for the GRE but I was blessed with a great score.
- Applied to 8/10 CS PhD programs (2 more apps to submit!)
- Found an amazing boyfriend!
- Built a ton of programs. Added a crucial feature to my spaced repetition flashcard app that has been a lifesaver for studying.
- Beat a video game! (Inside)
- Got pneumonia for a month, was miserable, did poorly on that block's exams.
- A bit overwhelmed/exhausted. Trying to balance med school and applying to grad school and running around to these conferences to present my work so that grad schools like me.
- Med school is hard, yo. The month of pneumonia did not help.
- Made the difficult decision to stop playing rugby. Not ready for a fifth surgery.
- I will be 100K in debt when loans disburse next week. O_O'
- Haven't read a damn book in forever.
- Haven't been in the weight room in forever.
Went from no network and no experience consulting / selling to being able to support myself in Tokyo without needing savings.
Changed my image and gained a lot of confidence and soft skills.
Met many people I otherwise would not have.
Grew my view of the world, myself and life in general.
Tech-wise, I made pretty significant progress on a hobby project, and revamped my personal website.
Achievements: - moved to Switzerland to work at an awesome company with great colleagues (on an awesome codebase <3 )
- maintained the healthy relationship with my gf without blowing it as I used to
- learned advanced algorithms in my free time which gave me a hole new set of tools (which I probably might never need In my current job)
- quit many bad habits regarding food and drinks
Fallbacks:- failed to improve my polish language skills
- the move was quite expensive and I failed to rebuild my savings completely
I convinced a few people to draw me dinosaurs.
Travelled around some places - Los Angeles, San jose , Yellow Stone.
Successfully delivered a project besides the regular job.
Got placed in a client-facing role , which helped enhance my communication and consulting skills.
Workout on and off - happy with the gains i have so far.
Went to see Metallica and EITS \m/
Started investing in stocks
Wanted to go back home - Nepal for a few months, but didn't happen.
Reading more books and regularly meditating , didnt happen. I'll have to accomplish this in 2017 !!
I count myself lucky.
At my last job, I felt like I was at my growth limit with little left to learn. At my new job, I am currently overwhelmed with a new stack, new tools, and a new culture. Going to put in a little extra time this weekend and coming week to hopefully catch myself up and end the year on a more relaxing note.
I managed to launch my side project, Postways , as public beta a few days ago. It was a major birth and I'm proud I made it this far. I'm ready for the next battle, getting users.. :)
Fallback: I moved back to Paris, where it is poluted and rainy. One can't have everything at the same time ;).
We also went on our honeymoon (Turks and Caicos, highly recommended) and vacations in Portland, Seattle, San Francisco, and Florida.
* Worked on more interesting projects
* Had a lot of (intentional, not working) free time
* Earned more
* Developed other hobbies / spent extra time with the existing ones
* Saw more of the world
- Dropped out of college and accepted a full time offer
- Became the new lead for the security interest group at work
- Attended AWS re:Invent for the first time
- Moved into my own place for the first time
- Started playing around with the stock market
- Visited Abu Dhabi, London, and Iceland for the first time
- Turned 21 years old a few weeks ago, I can finally go to bars and clubs now
- Finally finished and pushed my re-designed personal website (an endeavor that I started last Fall)
- Entered into my first relationship
- Sub-achievement: 2 Chainz has a song called 100 Joints with the line > You need your passport for our second date I decided to beat him at his own game and for our first date I flew us to Montral for the weekend which I'd also consider an achievement
- Last year I vowed to read more this year - I picked up and finished a book in the Spring, but haven't read much more since that
- I used to constantly work on new side projects, I just haven't had a lot of time for them recently
- After living with friends from college for the last ~3 years, living alone is a little lonely. I do enjoy the time alone, but I've also moved to a new city where I don't have much of a social network
-- I love to fly. Last year I did something like 39 flights. This year I'll do 41 flights. A new record for me, if not a significant one. Note that these are flights, not reservations. So if my trip includes a layover, it counts as two. I love flying to the extent that given a direct trip and a trip with a < 1 hr layover, I'll pick the latter. I love each flight. Taking off. Landing. Cruising at 35,000 ft. Turbulence, the more the better. I want more cumulative time in the air.
-- From August to December (and extending into January 2017), I've only been at home 1-2 weeks a month which has caused a bit of strain on my relationship.
To whoever left and then deleted a comment asking if I considered the date an achievement because of the cost and suggested that I may have missed that's needed to form a relationship:
I'm not entirely sure why I consider it an achievemnt. It's most likely related to the cost yes. I think it's because whereas previously (as a student) I would need to think about finances, I now have the money where I can do things like this and not worry about going hungry for the next month.
As far as the relationship aspect, prior to the date we spent 10 days traveling in Iceland as friends after meeting in person a total of three times. The purpose of the date wasn't specifically to build on the relationship, but more to do something ridiculous and romantic.
I've built my first mobile device architecture for running apps, data processing, behavior modeling, and synchronization for a user-first centric device. I've met some great people doing it.
I've also just started writing a small publication called "Bot Theory: A Concise Introduction" https://github.com/dpgailey/bot-theory-book
Released an open source version of an in-house bot utility called Wolfpack: https://github.com/dpgailey/wolfpack
Been invited and given a lecture to Ubiquitous Computing design students at CCA here in SF about Collaborative/Predictive/Adaptive Intelligent Autonomous Systems and the technologies and platforms necessary to realize a fully autonomous ambient intelligent future.
We have hired our first three employees, and I've met a wonderful mentor who is a seasoned influencer that basically shaped tech as we know it. (He certainly wrote the book on it)
I also have made a pretty good friend and partner.
I've had people from Facebook, Google, Twitter, and Linkedin want to join the projects we've started, which is exciting that big companies are taking notice. We've also made some great partnerships along the way.
I was also briefly worth ~42MM on paper as well.
I also have pissed off HN admins enough where my comments are weighed down so they sink to the bottom immediately, despite the points/karma. sad trombone
Recovered from a nervous breakdown while overworking and learned a powerful philosophy that changed how I viewed work, play; art and mission.
Finally found a startup who is doing work among the categories of things I have identified as making a real impact on the world ... and whose product is valued enough for me to actually get paid enough to support a family on it. Is there risk it will fail? You bet. And I'm having the time of my life doing something I feel is worthwhile with people that feel the same.
Helped my wife fight to regain custody of her daughter. In the meantime I learned more than I ever wanted to know about relationships. Dating is hard, relationships are much harder.
I used to live in northern Arizona for the past few years (where I loved it) and moved to Phoenix. I miss Seattle, the weather, the city, and the people :-)
2016 was an intense year for myself and a lot of people I know. It wasn't just the election. There were a great deal of uncertainty and suffering. It was a long journey, and there might be more -- but I don't regret it.
-: Didn't write any Rust.
I made a similar move to industry work many years ago. My advice is to clarify what interests you, as data science and machine learning are huge fields. Also "machine learning" is still hard to pin down what that even means these days. If you're willing to start off in a data science role without a heavy machine learning aspect to it, that's very easy; there's tons of companies (startups like Uber and more mature companies like Facebook) that have entire nap rooms of data scientists with PhD's working there and some super interesting data to work with.
If there is a specific area of data science and/or machine learning or other work going on that interests you that you come across, email a PhD at the company doing this work. Many of these people still publish papers at conferences or at the very least have blogs describing what they are working on. Find a company that's doing work that interests you and email the researcher. Don't go through HR. Email the person directly and ask to chat. I found PhD's working in industry to be very receptive to talk to someone qualified and with an interest in the work as they have likely been in your shoes before. Go from there. GL!
The problem you may face, is you will need to know how to program in a 'production' environment. So were as in academia you can be a single person running code, in industry, you will have multiple people utilise and check your code. It will have to be robust and scalable. So you may need to brush up on programming skills, though you could be great from the start.
Something I've seen with Academics, is that whilst they are great at solving detailed problems, they sometimes fail to present the impact of their work in a business context, or what they can offer and how it solves business problems, rather than just "interesting" problems.
My advice would be to apply and see what comes back, and get feedback from the people you apply to.
The reason I am asking this is because I'm enrolled in an econ PhD myself (spec. in advanced econometrics) and I am extremely interested in machine learning and data science. I am constantly looking for ways to combine the two in interesting ways. It's nice to meet someone like-minded.
Risk and volatility is there of course.
Viktor came up with the theory of Logotherapy which in a nutshell has 3 parts:
- Life has meaning under all circumstances, even the most miserable ones.
- Our main motivation for living is our will to find meaning in life.
- We have freedom to find meaning in what we do, and what we experience, or at least in the stand we take when faced with a situation of unchangeable suffering
Unfortunately, crippling depression and a looming feeling of nihilism are sucking most of my motivation away.
In my younger and more foolish days, and inspired by Steve Jobs, I tried to literally live life as if every day were my last in an effort to be productive. I discovered that if it were my last day on earth, I would much rather spend the time joking around with friends or family rather than working, and I fell into a depressive funk.
Abstract thoughts about death, while depressive, don't motivate me. What does end up "motivating" me are developing habits. In order to develop habits, I use pathetically achievable goals:
I find goals to be counterproductive unless they're simply achieved and a matter of habit. For instance, "go to the gym and do nothing" became "go to the gym and walk on the treadmill" when I became habituated to showing up at the gym. Now I'm lifting regularly and I feel off if I don't get a chance to go work out.
Audacious goals, on the other hand, are demotivating because there's too much chance of failure. If I hold myself to lifting certain weights, I may even end up getting injured. But now I'm happy simply showing up, doing what I have the capacity for, whether it's walking, stretching, or lifting. I can (and will) come back if I have an off day.
Scott Adams talks about something similar in Goals vs Systems. A goal of writing a book is much harder to achieve than a goal of typing a little bit in the morning. Ironically, the latter may be the best route to the former...as long as you don't think about it too much :)
Honestly, it's the belief that communities, at the level of grassroots, can be empowered to be further engaged in the social discourses of their society. I have a strong belief that while our government powers are playing politics, families who are living in impoverished neighborhoods can be encouraged to be active agents of change and can move populations. I'm working with a couple non-profit organizations (that are around the world) that do exactly this and the results we see are incredibly encouraging and endearing. Not only are youth getting excited and working in their communities, their siblings and parents are also getting involved. If it wasn't for this work (of which I spend hours _after work_ partaking in), I don't know what would motivate me.
EDIT: Just to clarify, this empowerment comes through education at the level of the neighborhood. Looking at this practically, it means training our younger future generations and providing them the tools they need to succeed (getting a good education in school, living a moral life, being a good citizen, etc). All this through a process of learning at the level of the organizations I'm working with.
1. I want to explore the world: hear people's stories, learn new ideas, experience all the diversity and craziness there is in the world, have moments of childlike wonder.
2. I want to help people: victims of war, families in poverty, people who did not get a childhood or a fulfilling education, people who are not able to achieve their full potential.
3. I want to see myself grow. I'm curious as to how my abilities, my personality, and my outlook on life will change in the next decades.
4. I look forward to meeting the love of my life, raising a family, and participating in a close-knit, medium-sized community.
I may not achieve all of these things, and I will likely be have regrets and dissatisfactions, but on the whole, life has been a worthwhile journey, and I expect the future will be worthwhile as well.
That said. I don't put too much pressure on myself. I have goals but I'm also human and don't want to take life too seriously. I don't think it necessarily matters if I reach all of them or just a few. I see them as simply markers of directions I could move in that might make for some sort of exciting experience that lets me experience the joys and sometimes struggles of being alive.
Lately I've been mixing relaxation music that's really just royalty free recordings of nature and royalty free piano music.
1. Changing the inside of myself to have more of what I value.
If you're looking for more motivation, start with self-examination of what it is you deeply value.
I make no claim to being a healthy or normal individual.
I'm just not doing it anymore..along with open office.
One quick trick is to eliminate the "what did you do yesterday" question. It doesn't really matter. What matters is if each person is on track with the work they committed to, and people aren't being lazy.
And also, if people are basically taking the easy way out, sounds like you have a really bad project manager/product owner who isn't keeping tabs on things.
- each 2 weeks determine a set of tasks/goals for the next 2 weeks -> write down in a tool like Trello what this task is and assign a set of people to it.
- each standup, instead of discussing each person, discuss each task with the group. People don't have to be competent individually (leading to what you are seeing), but have to be competent as a group.
You might also be interested in this paper about SCORE (Scrum for Research): https://www.cs.umd.edu/~mwh/papers/score.pdf
If you have any questions, don't hesitate to contact me!
- What you did yesterday, what you're doing today and what you're blocked on is all information that should be on a planning board.
- It creates pressure to come up with something productive to report instead of letting you just get on with things.
- Most of the time the information isn't relevant to everyone.
- It creates unwanted breaks when you're trying to work.
When I discovered it I tried switching my resolv.conf to 220.127.116.11 but of course none of my internal stuff worked because of how my security group / subnet / ip restrictions are setup internally.
Sell services, or plugins, or books. Try to understand what your (potential) customers want. Trim down what you need to make and pitch how it can add value to your audience. Find a small niche and expand from there. Once you have a small trajectory of sustainable business, try to figure out how you can grow it. Reach out to people to seek their advice and be resilient against rejection.
I don't think there is a stepwise formula for raising a business. Everyone forms her own way to create it; there are thousands of nontrivial steps hidden in each 'actionable' advice and it's not something that articles can teach you right away, you need to learn it on your own.
The E-myth by Michael Gerber Felix Dennis: How to get Rich Execution; The Discipline of Getting Things Done: RamCharan Shoe Dog : Phil Knight
If your doctor refused to renew your prescription tomorrow, what would you use to deal with your pain in its place?
If you lost your job/insurance and thus were unable to afford anything other than over the counter medications, how would you cope with not having this pain medication available to you?
Does fentanyl have a procedure for when you want to stop taking the medication? (like how you should lower your dose over time before stopping with SSRIs and the like)
i appreciate you giving a first hand account from someone who uses this medication!
I will say I agree with you that although this company was abusing their power/privilege with Fentanyl, and although we have an opiate epidemic, we certainly shouldn't be under-prescribing opiates either. We need to disentangle the mess we have where profit motives intersect with public health, law enforcement and education.
Personally, I think honest education around all drugs is the answer (as opposed to "Just Say No", etc..), and it's great for everyone to hear from patients who actually need these drugs, such as yourself.
I think issue with Fentanyl is not the accurately labeled stuff you're getting from the pharmacist. The issue is that since fentanyl is a lot stronger than other opioids, and is easier/cheaper to manufacture, people in the black market have figured out that they can sell counterfeit pills/heroin/etc. that is actually (cut/diluted) fentanyl, and get the benefits of 1) higher profit margin, 2) easier supply chain (no pill mills or poppies needed), and 3) easier to smuggle and store raw product, due to the higher potency. The problem comes when the counterfeit product is too strong -- a user takes what they believe is their normal dose, but it's a lot stronger and they die (e.g. Prince: http://www.bbc.com/news/world-us-canada-37151146).
I've heard it theorized that the high number of recent fentanyl-related overdoses could be because some gang(s) might be trying to figure out the optimal ratio of fentanyl to filler to use in their counterfeit products by watching the overdose rates in low-income markets before moving the counterfeit products into high-income markets (i.e. they don't want to have a rash of stock brokers overdosing).
Applying Hanlon's razor, another explanation might be that these counterfeiters are just mistakenly putting to much fentanyl in the mix.
I assume that fentanyl is no more dangerous than any other opioid when the dosage is correct (I really have no idea, someone correct me if I'm wrong here!).
(EDIT) The counterfeiting issue is a one of the reasons that some people (myself included) argue for legalization of all drugs or at least better harm reduction strategies for addicts: purity, dosage, and quality control would all be better if these drugs were obtainable from more reputable sources.
Unrelated to fentanyl in particular, but a word of advice: if you need to take these meds for an extended period of time, be very wary of any issues with your gut! A very close friend of mine has been on prescription opioids for around 8 years due to some chronic pain issues she has resulting from giving birth; the constipation side-effect eventually caused a bowel obstruction which she ignored for too long, and it has escalated into a very painful and dangerous situation for her, involving several procedures which sounded very unpleasant.
That said, and I'm not a lawyer, I'd keep it simple. Any transfer of IP only occurs when the contract is paid in full and there are no outstanding claims related to the contract. Even better would be to not transfer ownership of IP.