I'd like to learn to leverage collaboration and the societal politics of my field to help achieve bigger and more impactful projects. Being a loner is only going to get me so far, I've realized. (I'm a grad student.)
You can be the best developer in the world, in a job that leaves you alone and lets you write code, and you might get several times as much done as another developer. Or you can spend a little less time writing code and have a few productive meetings and discussions, resulting in far more development than you could ever do alone. And you'll still get to write plenty of code.
I'd advise against the one week intensive courses - the muscle memory just takes time to build. A one hour lesson once a week is about right, with maybe an hour more practice per week if you can persuade a friend to take you out. Allow one week per your year of age is the rule of thumb. Good luck!
I think you can do more than one per week but I agree, it does take time to build the muscle memory.
I learned in my early 20's and I did it in 6 weeks. Get the theory part out of the way ASAP.
When you have got your license is the time to watch out for complacency. The road is full of egos driving Audis, don't get involved. Keep a safe gap and you will deal well with uncertainty
I want to write a real, hand-holding example for using GenStage and Elixir for a real tangible feature.
The official documentation sucks and does nothing to illustrate how to use it in a real setting. I've tried to understand what it does and how it works about once a month for the past four months but I still don't get it.
Hopefully I can understand it soon, and further cement my understanding by writing a real example for people to learn from. It sounds very powerful and useful but damned if I know how to use it lol.
Came in to say this :) If you want to maybe pair up or some sort of structured learning on it, let me know. Could be cool to have a partner or some accountability. Although might be silly to do for learning an editor , ha.
I use vim and emacs both. From a power user standpoint emacs is better. From faster edits perspective vim is better. I am sure most will agree with this view.
Perhaps the best of both worlds -- spacemacs from the get-go?
Personally I don't like these Emacs distributions so I might recommend the way I did my journey: first vim for years, then emacs+evil. You'll learn the bare emacs basics on the side. Now with Vim 8 having vastly enhanced IPC capabilities, Emacs might not be at such an advantage anymore. The amount of Vim users is staggering, and they have such energy. It's a nice community overall. (Not that Emacsers would be any worse.)
Pony! Seems like a very interesting language that doesn't get much exposure. Predictable GC, fine grained capabilities, actor model (concurrent by default), no deadlocks etc.
I want to learn how to even start a side-project. I've been out of university since 2012 and have done basically nothing in my free time CS-related. Every time I start to even think about doing something, that "why are you working while on your free time" feeling comes up and I immediately do something else. Not sure if it means I really don't love programming and Computer Science after all (entirely possible) or if it means I'm just lazy. My goal is to find out one way or another.
This. Aside from a hackathon or two, I have "completed" exactly one side project since graduating in 2013. There were numerous times I started projects and quickly gave them up, and it was simply because my goal was to have a side project, which is not really a goal at all.
This year, my girlfriend and I were using Google Sheets to track our expenses and compete to see who could spend less money. We eventually decided it'd be a way better experience if we had a dedicated app for it, so I worked relentlessly to build one and polish it up until I was pretty proud of it. I "released" it to a couple of online communities where I thought people might be interested, and I gained exactly 1 active user who I don't know in real life.
It's all good, though, because my girlfriend and I use it every day, so that's all that matters to me :D
But yeah, it can be difficult to "scratch an itch" if you feel that nothing needs scratching. If that's the case, I wouldn't really worry about it. If you don't need to build anything, then don't spend time building anything. It's nothing to feel bad about.
I have made one side project ever since 2013 (I am working from 2011 and made few failed project, but learnt a lot). In 2013, we had exactly same problem - tracking expenses and do personal budgeting. My wife was using spreadsheets and I created a software (using Python and Flask) and released a webapp. Later we realized that an app would be much more useful, so rewrote the backend (Java EE) and front-end(Objective C), but never released it. We have however 3 years worth of our own data (never did analysis or charts). Lately, we feel that since our app never made to App Store, it crashes every 7 days and I need to reinstall/use XCode to do this work (very painful). I plan to rewrite again in Scala (my latest favorite) and use React-Native to build the app. This time I would like to publish it
The thing about excitement is that it dies off. What motivated you a few days/weeks ago now is just not worth the effort or time that you'd rather invest doing something more worthwhile.
I've yet to graduate, but I find myself in the same position. I've got other non-CS related hobbies that I enjoy and so I don't really end up making any good side projects.
CS seems to have this feel around it where it has to be both your job and your passion. Recruiters want to see that you spend all your time outside of work/school programming, which makes it difficult for people like us who have other hobbies they like too. I wonder if it will ever change?
i sometimes wonder whether it's worth it. One of my passions is Cs and i enjoy it very much. But It's not the only one and i fear that one day i wake up burned out, wondering how i have wasted my time learning technologies that have become totally useless. If you have a passion for CS, CS will likely consume youre time and dominate your life. I don't want this, i want to learn and have fun, but i think it's comparable to a drug that's fun a first but if you don't watch out dominates your life. Just image if you're in your 50s...does this really matter? Is starting a family a better (but harder!) idea? is work/learning CS really that rewarding? I don't know. I just really hope that i make the right decision and don't waste very valuable time.
I don't know how's the market where you live, but are you sure the "programming outside work" is really a crucial component, or that you're not just sending your CV to "hip" startups? Because the market around here isn't that hot, yet it's not hard at all to find companies who don't really care about your personal life, they just want to know about your academic and professional lives.
The struggle is real and I have been in the same position... Procrastinating and just being lazy or dropping online courses in the middle... I just found out about a site liveyourlegend.com and I will try to use the tools they provide to find out about my true passion... I knew that I wanted to be a computer engineer since I was 15... But now I feel very behind in matter of experience and knowledge... Maybe it has to do something with these feelings also it could be a good time to do some internal work and try to know ourselves more....
I've recently started to complete side projects. I also graduated in 2012 so I was in a similar position a few months ago. What clicked for me was that I realized I didn't have to do anything heroic. At first I'd start a project and feel like I had to complete it in a couple of weeks, but then you're trying to spend all your free time on it and you tend to burn out quickly that way. Instead now I start a project, spend a few hours on it, and then just try to spend a little bit of time on it every day. Even just 20 minutes can make a huge difference. The key is to just do a little bit, steadily, over a long period of time. It really adds up. And doing that keeps you engaged with the project and wanting to spend time on it.
I've gotten a lot of side projects done in my spare time. The trick is to make apps/programs for what you need. Not something that someone else wants it.
If you see them as something that will make you a "skilled programmer", or something that will be a nice addition to your resume, you probably won't get anywhere. Well, maybe you will become a "skilled programmer" and you may be able to add a line to your resume, but does that really matter? You're sacrificing your precious time which you could be spending to do something more meaningful, like spend time with family and friends, read books, experience new things in life. And in that case I would rather just spend time doing something more meaningful instead of trying to force yourself to find some side project to work on.
Most successful side projects come from people wanting to express themselves. If you don't have an idea that you want to build at the moment, don't force yourself, just enjoy life and only jump on it when you stumble upon an idea you really want to work on so much that you would even sacrifice your sleep time.
Do you want to know the secret to starting projects for yourself? Don't buy or download any software just write it yourself.
I've got a huge movie collection on DVD. Rather then use Plex I made my own website to do the same thing. I have a lot of PDFs of books I want to read, made similar software to allow me to keep my position in my browser
There are thousands of examples where I've done this and it's very fun. It improves your abilities and toolings and in general makes your life on the computer much easier.
You don't have to be trendy just be useful to yourself and people will like it.
I can't overstate what a good advice this is. It's counterintuitive, but if you are just starting out, reinventing the wheel is the best practice you can get!
No it isn't. I did the same when I was starting out. Rather, we all do, when we are starting to learn anything new, by following tutorials, where you basically reimplement what the author of the tutorial has.
This is one reason I installed ReactOS. They make their own framework for the OS, and they haven't made too many apps, so my idea is to add in the things I need for myself.
We had gone for a group outing, had million photos, less than 10 people in each photo, so didn't make sense to give the same photos to everyone, so wrote a basic app which would let me tag people and created eachone's folder and copied photo in it.
Starting a side project shouldn't be done by the goal of starting a side project, look around you, is there a manual process which you wish there would be a better way to do? sorting photos was one such way and I wrote an app for it. I did the same for a todo list manager, didn't have internet or any good todo list manager, so I wrote one and learned the Go language and the Vue.JS framework
How to master theoretical material and consolidate the things I learn. I've basically stumbled my way through a Computer Science Undergraduate degree without actually understanding anything I've really done.
How long is your daily commute? Perhaps you could change your routine a bit, and consider going to work on a bicycle. It could reduce the need to hit the gym every weekend, and seeing new sights and sounds on the way to work may open you up to new hobbies. :)
I have that planned for a long time. I've been making progress in recursive thinking and thus compilation and interpretation last year (thanks to a prolog book). I may attempt the LLVM thing in 2017. This or a bootstrapped forth, x86 64 or maybe AARCH64.
I'm in that path, but instead of python I want a ML/Python/Relational language.
I know alot now, yet I'm struggling in some areas. For example, how effective surface a FFI for the language 9I'm with F# so is kind of easy, but how do that in swift/rust where reflection/dynamic calls are not easy?)
A recommendation for monads. Don't read too much tutorials, try it. Programm in some languages that emphasises monads and then reflect how you used them. I think these fundamental concepts are way easier to experience than to explain.
Edit: what are toposes and why do you want to learn it? Has it some connection to topology?
All the "monad tutorials" are utter crap. Esp. the one with the burritos in spacesuits. All you need to know is that a monad is a monoid in the category of endofunctors and it all comes naturally from there.
For monads, learn the following concepts in order:
Category
Functor
Natural transformation
Adjoint functor
That's it.
If you don't understand what monads are you should probably wait with topos theory. It quite abstract and you should probably be comfortable with both algebraic geometry and category theory before you approach it
I'm coming 20-30 years late to the "biology is the future" mindset.
In my case, personal health has left me no choice.
Some poor medical advice and treatment, combined with my adversity to the whole topic -- yes, strong squeamishness combined with fear/observation that thinking about adverse events seemed (seems!) to instantiate them. That all has left me with a substantial health burden.
Meanwhile, in my experience the current U.S. health care system seems to be -- technological "miracles" aside -- making getting effective treatment ever more difficult.
So... As with everything else, it seems, you can't rely on expert consult -- even when you can afford it -- but rather have to learn and do -- or at lease prescribe and manage -- everything yourself.
So... biology. In other words, I need to belatedly read up on the owners manual. And find some hacks that help me.
As an aside, we're about to the point of molecular programming. So, maybe this will coincide with the current leading edge in technology, anyway.
How to effectively market my consulting skills. I've been a web developer for over a decade now and I'm still not confident in my ability to bring in consistent work. The work comes, but I'd like to have more potential clients knocking.
From what I can tell, the best way to achieve that is by consistently offering to help others with my skills. So I'm making it a point in the coming year to make blogging a part of my work routine.
Are any of you facing the same dilemma? I'd love to hear your insights!
I have a hard time breaking into the consulting/freelancing world. I really like the idea of working part-time during off hours for extra cash, but it's proven to be quite difficult for me.
I think part of it is that I'm not loud enough, and I think it comes from being an introvert. I'm confident, I'm not shy, and I know I'm skilled enough to work on lots of stuff, but when it comes to marketing myself, networking, small talk with strangers, or anything else like that, I just have the hardest time.
It also doesn't help that a lot of opportunities to meet potential clients are found in non-professional settings, and those events are usually centered around the consumption of alcohol in the presence of loud music. I cannot stand loud music and I don't drink alcohol, so the difficulties for me just seem insurmountable.
I have, but with zero success. I've read awful things about Toptal and PeoplePerHour, so I didn't really go for them. Upwork seems to be filled with developers from various parts of Asia where the low cost of living allows them to bid way lower than what I would charge. The quality of work also seems pretty bad, from what I can tell (one-sentence descriptions, bad grammar, crazy low budgets, etc.).
I've seen advice like, "If you charge high instead of trying to compete with low bidders, you'll be taken seriously," but then there's the issue of having 0 clients/reviews/ratings, which make it hard to command a high rate.
I did have one client on Codementor.io! He didn't give me a review, though, even though we had three sessions and he seemed to be super happy with my help :/
I just wrote a book about this. I cover 15 channels for finding clients, and only a few of them involve in-person networking.
Here's the website. https://www.breakingintoconsulting.com
We have a signup for a mailing list at the bottom of the page. If you sign up, you will get the chapter that explains the fifteen channels in-depth. And no, they aren't channels where you are forced to bid with super-low cost overseas labor.
I think the chapters on closing deals could be especially helpful for you. If you're seriously super broke, just email me and I'll hook you up. But I am planning on raising the book's price in 2017.
What about packaging what you know and putting together an eBook or online course? A lot of freelancers and consultants are turning to that to make extra money and to build their reputation. Here's an example: https://courses.gorails.com/
One of my 2017 goals is to help others market themselves better. Im also a consultant (code and marketing). Feel free to get in touch if youd like some help from me. Email in profile.
Doing work for free and blogging are just two of the channels I name. I also provide thirteen other channels, with in-depth description, including copies of ads I posted that generated results. That information is free if you signup for the mailing list. And the book itself contains myriad details, including sales 101, closing techniques & so forth.
Here are two pieces of advice from someone who works in sales and marketing:
1. If you're going to blog (which I think is a good idea) make sure you have an opinion that is strongly held and/or differs from conventional opinion. If you only write vanilla stuff, you'll only attract vanilla prospects, which usually end up being a poor fit or boring to work with/for.
2. Take every opportunity to teach what you know. This can be through blogging, commenting on other blog/forums, podcasting, screen recordings...whatever it takes to teach something for free. This establishes you as an expert, provides no-risk value to prospects and has no barrier to entry, so it's a great first step to building a relationship with possible customers.
Robotics. I know some basic Arduino and would love to build a wheeled thing with a robot arm. Maybe with a camera in streaming. This is super wisful thinking though, if I can make the wheeled thing (with power electronics) I'll be happy.
512 comments
[ 3.1 ms ] story [ 311 ms ] threadI collected a list of videos from some business conferences I really like, you might get some ideas in here - https://www.findlectures.com/?q=marketing&p=1&type1=Conferen...
Joking! I'm going to dive in it right away!
(you're welcome)
You can be the best developer in the world, in a job that leaves you alone and lets you write code, and you might get several times as much done as another developer. Or you can spend a little less time writing code and have a few productive meetings and discussions, resulting in far more development than you could ever do alone. And you'll still get to write plenty of code.
Not necessarily in that order.
EDIT: yhea fine this was a bit insensitive and mostly a joke sorry, I wont delete as proof of my mistake. Javascript it's not that bad.
I learned in my early 20's and I did it in 6 weeks. Get the theory part out of the way ASAP.
When you have got your license is the time to watch out for complacency. The road is full of egos driving Audis, don't get involved. Keep a safe gap and you will deal well with uncertainty
The official documentation sucks and does nothing to illustrate how to use it in a real setting. I've tried to understand what it does and how it works about once a month for the past four months but I still don't get it.
http://elixir-lang.org/blog/2016/07/14/announcing-genstage/
Hopefully I can understand it soon, and further cement my understanding by writing a real example for people to learn from. It sounds very powerful and useful but damned if I know how to use it lol.
[1] http://teamon.eu/2016/tuning-elixir-genstage-flow-pipeline-p...
Personally I don't like these Emacs distributions so I might recommend the way I did my journey: first vim for years, then emacs+evil. You'll learn the bare emacs basics on the side. Now with Vim 8 having vastly enhanced IPC capabilities, Emacs might not be at such an advantage anymore. The amount of Vim users is staggering, and they have such energy. It's a nice community overall. (Not that Emacsers would be any worse.)
http://ponylang.org
Perhaps the problem is you're wanting a side-project for the wrong reasons.
This year, my girlfriend and I were using Google Sheets to track our expenses and compete to see who could spend less money. We eventually decided it'd be a way better experience if we had a dedicated app for it, so I worked relentlessly to build one and polish it up until I was pretty proud of it. I "released" it to a couple of online communities where I thought people might be interested, and I gained exactly 1 active user who I don't know in real life.
It's all good, though, because my girlfriend and I use it every day, so that's all that matters to me :D
But yeah, it can be difficult to "scratch an itch" if you feel that nothing needs scratching. If that's the case, I wouldn't really worry about it. If you don't need to build anything, then don't spend time building anything. It's nothing to feel bad about.
CS seems to have this feel around it where it has to be both your job and your passion. Recruiters want to see that you spend all your time outside of work/school programming, which makes it difficult for people like us who have other hobbies they like too. I wonder if it will ever change?
Most successful side projects come from people wanting to express themselves. If you don't have an idea that you want to build at the moment, don't force yourself, just enjoy life and only jump on it when you stumble upon an idea you really want to work on so much that you would even sacrifice your sleep time.
I've got a huge movie collection on DVD. Rather then use Plex I made my own website to do the same thing. I have a lot of PDFs of books I want to read, made similar software to allow me to keep my position in my browser
I wanted to study for a HAM license general exam do I made this: http://ham.joshuakatz.me/exam
I've been looking for a thinkpad x220t so I made this go scrape cregslist for me: https://github.com/gravypod/BargeIn
(I live in N. NJ if anyone has one laying around)
There are thousands of examples where I've done this and it's very fun. It improves your abilities and toolings and in general makes your life on the computer much easier.
You don't have to be trendy just be useful to yourself and people will like it.
We had gone for a group outing, had million photos, less than 10 people in each photo, so didn't make sense to give the same photos to everyone, so wrote a basic app which would let me tag people and created eachone's folder and copied photo in it.
Starting a side project shouldn't be done by the goal of starting a side project, look around you, is there a manual process which you wish there would be a better way to do? sorting photos was one such way and I wrote an app for it. I did the same for a todo list manager, didn't have internet or any good todo list manager, so I wrote one and learned the Go language and the Vue.JS framework
https://github.com/thewhitetulip/Tasks
Right now my life consists of Commute->Work->commute->gym->sleep. I actually don't look forward to weekends since there is nothing to occupy my mind.
Once you like something you'll look forward to continuing it in peace on the weekends.
But still doesn't leave much to do on weekends. I usually end up doing some work and going to gym. Not having a car doesn't help. :(
I'd like to:
-Build a lisp that targets LLVM IR
-Build an HDL out of lisp that can be compiled into a simulation, as well as be compiled to a netlist for synthesis.
-Build a testbench toolkit out of that same lisp.
Do you have a blog ?
I know alot now, yet I'm struggling in some areas. For example, how effective surface a FFI for the language 9I'm with F# so is kind of easy, but how do that in swift/rust where reflection/dynamic calls are not easy?)
* Understand what toposes are.
* Understand what monads are.
Edit: what are toposes and why do you want to learn it? Has it some connection to topology?
Category
Functor
Natural transformation
Adjoint functor
That's it.
If you don't understand what monads are you should probably wait with topos theory. It quite abstract and you should probably be comfortable with both algebraic geometry and category theory before you approach it
In my case, personal health has left me no choice.
Some poor medical advice and treatment, combined with my adversity to the whole topic -- yes, strong squeamishness combined with fear/observation that thinking about adverse events seemed (seems!) to instantiate them. That all has left me with a substantial health burden.
Meanwhile, in my experience the current U.S. health care system seems to be -- technological "miracles" aside -- making getting effective treatment ever more difficult.
So... As with everything else, it seems, you can't rely on expert consult -- even when you can afford it -- but rather have to learn and do -- or at lease prescribe and manage -- everything yourself.
So... biology. In other words, I need to belatedly read up on the owners manual. And find some hacks that help me.
As an aside, we're about to the point of molecular programming. So, maybe this will coincide with the current leading edge in technology, anyway.
From what I can tell, the best way to achieve that is by consistently offering to help others with my skills. So I'm making it a point in the coming year to make blogging a part of my work routine.
Are any of you facing the same dilemma? I'd love to hear your insights!
I think part of it is that I'm not loud enough, and I think it comes from being an introvert. I'm confident, I'm not shy, and I know I'm skilled enough to work on lots of stuff, but when it comes to marketing myself, networking, small talk with strangers, or anything else like that, I just have the hardest time.
It also doesn't help that a lot of opportunities to meet potential clients are found in non-professional settings, and those events are usually centered around the consumption of alcohol in the presence of loud music. I cannot stand loud music and I don't drink alcohol, so the difficulties for me just seem insurmountable.
I've seen advice like, "If you charge high instead of trying to compete with low bidders, you'll be taken seriously," but then there's the issue of having 0 clients/reviews/ratings, which make it hard to command a high rate.
I did have one client on Codementor.io! He didn't give me a review, though, even though we had three sessions and he seemed to be super happy with my help :/
Here's the website. https://www.breakingintoconsulting.com We have a signup for a mailing list at the bottom of the page. If you sign up, you will get the chapter that explains the fifteen channels in-depth. And no, they aren't channels where you are forced to bid with super-low cost overseas labor.
I think the chapters on closing deals could be especially helpful for you. If you're seriously super broke, just email me and I'll hook you up. But I am planning on raising the book's price in 2017.
Doing work for free and blogging are just two of the channels I name. I also provide thirteen other channels, with in-depth description, including copies of ads I posted that generated results. That information is free if you signup for the mailing list. And the book itself contains myriad details, including sales 101, closing techniques & so forth.
1. If you're going to blog (which I think is a good idea) make sure you have an opinion that is strongly held and/or differs from conventional opinion. If you only write vanilla stuff, you'll only attract vanilla prospects, which usually end up being a poor fit or boring to work with/for.
2. Take every opportunity to teach what you know. This can be through blogging, commenting on other blog/forums, podcasting, screen recordings...whatever it takes to teach something for free. This establishes you as an expert, provides no-risk value to prospects and has no barrier to entry, so it's a great first step to building a relationship with possible customers.